LAPTOP-SNT8I5JK\Boounion
2025-07-28 bfe14e41fa5b07771d78af4511ba18d706bc23cc
SourceCode/Bond/EAPSimulator/CHsmsActive.cpp
@@ -201,6 +201,71 @@
   return 0;
}
int CHsmsActive::hsmsDefineReports(std::map<unsigned int, std::vector<unsigned int>>& mapReport)
{
   IMessage* pMessage = nullptr;
   int nRet = HSMS_Create1Message(pMessage, m_nSessionId, 2 | REPLY, 33, ++m_nSystemByte);
   ISECS2Item* pItem = pMessage->getBody();
   pItem->addU4Item(1, "DATAID");
   ISECS2Item* pItemReportList = pItem->addItem();
   for (auto item : mapReport) {
      ISECS2Item* pItemReport = pItemReportList->addItem();
      pItemReport->addU4Item(item.first, "RPTID");
      ISECS2Item* pItemVidList = pItemReport->addItem();
      for (auto vid : item.second) {
         pItemVidList->addU4Item(vid, "VID");
      }
   }
   m_pActive->sendMessage(pMessage);
   HSMS_Destroy1Message(pMessage);
   return 0;
}
int CHsmsActive::hsmsLinkEventReport(std::map<unsigned int, std::vector<unsigned int>>& mapEvent)
{
   if (mapEvent.empty()) return 0;
   IMessage* pMessage = nullptr;
   int nRet = HSMS_Create1Message(pMessage, m_nSessionId, 2 | REPLY, 35, ++m_nSystemByte);
   ISECS2Item* pItem = pMessage->getBody();
   pItem->addU4Item(1, "DATAID");
   ISECS2Item* pItemEventList = pItem->addItem();
   for (auto item : mapEvent) {
      ISECS2Item* pItemEvent = pItemEventList->addItem();
      pItemEvent->addU4Item(item.first, "CEID");
      ISECS2Item* pItemRptidList = pItemEvent->addItem();
      for (auto vid : item.second) {
         pItemRptidList->addU4Item(vid, "RPTID");
      }
   }
   m_pActive->sendMessage(pMessage);
   HSMS_Destroy1Message(pMessage);
   return 0;
}
int CHsmsActive::hsmsConfigureSpooling(std::map<unsigned int, std::set<unsigned int>>& spoolingConfig)
{
   IMessage* pMessage = nullptr;
   int nRet = HSMS_Create1Message(pMessage, m_nSessionId, 2 | REPLY, 43, ++m_nSystemByte);
   if (spoolingConfig.size() > 0) {
      for (auto s : spoolingConfig) {
         ISECS2Item* pItemStreamList = pMessage->getBody()->addItem();
         pItemStreamList->addU1Item(s.first, "STRID");
         ISECS2Item* pItemFcnList = pItemStreamList->addItem();
         for (auto f : s.second) {
            pItemFcnList->addU1Item(f, "FCNID");
         }
      }
   }
   m_pActive->sendMessage(pMessage);
   HSMS_Destroy1Message(pMessage);
   return 0;
}
int CHsmsActive::replyAck0(IMessage* pMessage)
{
   return 0;