SourceCode/Bond/Servo/HsmsPassive.cpp
@@ -177,10 +177,10 @@
      LOGI("<HSMS>收到消息 S%dF%d", nStream, pHeader->function);
      if (nStream == 1 && pHeader->function == 1) {
         // S1F1
         replyAreYouThere(pHeader->systemBytes);
         replyAreYouThere(pMessage);
      }
      else if (nStream == 1 && pHeader->function == 13) {
         replyEstablishCommunications(pHeader->systemBytes);
         replyEstablishCommunications(pMessage);
      }
      else if (nStream == 2 && pHeader->function == 31) {
         replyDatetime(pMessage);
@@ -190,6 +190,9 @@
      }
      else if (nStream == 5 && pHeader->function == 3) {
         replyEanbleDisableAlarmReport(pMessage);
      }
      else if (nStream == 7 && pHeader->function == 19) {
         replyQueryPPIDList(pMessage);
      }
      else if (nStream == 10 && pHeader->function == 3) {
         replyTerminalDisplay(pMessage);
@@ -330,14 +333,14 @@
}
// S1F2
int CHsmsPassive::replyAreYouThere(unsigned int systemBytes)
int CHsmsPassive::replyAreYouThere(IMessage* pRecv)
{
   if (m_pPassive == NULL || STATE::SELECTED != m_pPassive->getState()) {
      return ER_NOTSELECT;
   }
   IMessage* pMessage = NULL;
   HSMS_Create1Message(pMessage, m_nSessionId, 1, 2, systemBytes);
   HSMS_Create1Message(pMessage, m_nSessionId, 1, 2, pRecv->getHeader()->systemBytes);
   ASSERT(pMessage);
   ISECS2Item* pItem = pMessage->getBody();
@@ -351,14 +354,14 @@
}
// S1F14
int CHsmsPassive::replyEstablishCommunications(unsigned int systemBytes)
int CHsmsPassive::replyEstablishCommunications(IMessage* pRecv)
{
   if (m_pPassive == NULL || STATE::SELECTED != m_pPassive->getState()) {
      return ER_NOTSELECT;
   }
   IMessage* pMessage = NULL;
   HSMS_Create1Message(pMessage, m_nSessionId, 1, 14, systemBytes);
   HSMS_Create1Message(pMessage, m_nSessionId, 1, 14, pRecv->getHeader()->systemBytes);
   ASSERT(pMessage);
   ISECS2Item* pItem = pMessage->getBody();
@@ -476,6 +479,28 @@
   return 0;
}
// S7F19
int CHsmsPassive::replyQueryPPIDList(IMessage* pRecv)
{
   if (m_pPassive == NULL || STATE::SELECTED != m_pPassive->getState()) {
      return ER_NOTSELECT;
   }
   IMessage* pMessage = NULL;
   HSMS_Create1Message(pMessage, m_nSessionId, 7, 20, pRecv->getHeader()->systemBytes);
   ASSERT(pMessage);
   ISECS2Item* pItem = pMessage->getBody();
   pItem->addItem("banana1", "PPID1");
   pItem->addItem("banana2", "PPID2");
   m_pPassive->sendMessage(pMessage);
   LOGI("<HSMS>[SECS Msg SEND]S7F20 (SysByte=%u)", pMessage->getHeader()->systemBytes);
   HSMS_Destroy1Message(pMessage);
   return 0;
}
// S10F3
int CHsmsPassive::replyTerminalDisplay(IMessage* pRecv)
{