| | |
| | | return 0; |
| | | } |
| | | |
| | | int CHsmsActive::hsmsQueryAllDataVariables() |
| | | { |
| | | IMessage* pMessage = nullptr; |
| | | int nRet = HSMS_Create1Message(pMessage, m_nSessionId, 1 | REPLY, 21, ++m_nSystemByte); |
| | | // Host sends L:0 (empty list) to request all DVIDs. |
| | | pMessage->getBody()->addItem(); // empty list |
| | | m_pActive->sendMessage(pMessage); |
| | | HSMS_Destroy1Message(pMessage); |
| | | return 0; |
| | | } |
| | | |
| | | int CHsmsActive::hsmsQueryAllCollectionEvents() |
| | | { |
| | | IMessage* pMessage = nullptr; |
| | | int nRet = HSMS_Create1Message(pMessage, m_nSessionId, 1 | REPLY, 23, ++m_nSystemByte); |
| | | // Host sends L:0 (empty list) to request all CEIDs. |
| | | pMessage->getBody()->addItem(); // empty list |
| | | m_pActive->sendMessage(pMessage); |
| | | HSMS_Destroy1Message(pMessage); |
| | | return 0; |
| | | } |
| | | |
| | | int CHsmsActive::hsmsEquipmentConstantRequest(const std::vector<unsigned short>& ecids) |
| | | { |
| | | IMessage* pMessage = nullptr; |
| | | int nRet = HSMS_Create1Message(pMessage, m_nSessionId, 2 | REPLY, 13, ++m_nSystemByte); |
| | | for (auto id : ecids) { |
| | | pMessage->getBody()->addU2Item(id, "ECID"); |
| | | } |
| | | m_pActive->sendMessage(pMessage); |
| | | HSMS_Destroy1Message(pMessage); |
| | | return 0; |
| | | } |
| | | |
| | | int CHsmsActive::hsmsEquipmentConstantSend(const std::vector<std::pair<unsigned short, std::string>>& ecidValues) |
| | | { |
| | | IMessage* pMessage = nullptr; |
| | | int nRet = HSMS_Create1Message(pMessage, m_nSessionId, 2 | REPLY, 15, ++m_nSystemByte); |
| | | ISECS2Item* pBody = pMessage->getBody(); |
| | | for (const auto& kv : ecidValues) { |
| | | ISECS2Item* pEntry = pBody->addItem(); |
| | | pEntry->addU2Item(kv.first, "ECID"); |
| | | pEntry->addItem(kv.second.c_str(), "ECV"); |
| | | } |
| | | m_pActive->sendMessage(pMessage); |
| | | HSMS_Destroy1Message(pMessage); |
| | | return 0; |
| | |
| | | return 0; |
| | | } |
| | | |
| | | int CHsmsActive::hsmsDeletePPID(const std::vector<std::string>& ppids) |
| | | { |
| | | IMessage* pMessage = nullptr; |
| | | int nRet = HSMS_Create1Message(pMessage, m_nSessionId, 7 | REPLY, 17, ++m_nSystemByte); |
| | | if (nRet != 0 || pMessage == nullptr) return -1; |
| | | ISECS2Item* pBody = pMessage->getBody(); |
| | | for (const auto& ppid : ppids) { |
| | | pBody->addItem(ppid.c_str(), "PPID"); |
| | | } |
| | | m_pActive->sendMessage(pMessage); |
| | | HSMS_Destroy1Message(pMessage); |
| | | return 0; |
| | | } |
| | | |
| | | int CHsmsActive::hsmsProcessProgramRequest(const char* pszPPID) |
| | | { |
| | | if (pszPPID == nullptr || strlen(pszPPID) == 0) return -1; |
| | | IMessage* pMessage = nullptr; |
| | | if (HSMS_Create1Message(pMessage, m_nSessionId, 7 | REPLY, 5, ++m_nSystemByte) != 0 || pMessage == nullptr) { |
| | | return -1; |
| | | } |
| | | pMessage->getBody()->setString(pszPPID, "PPID"); |
| | | m_pActive->sendMessage(pMessage); |
| | | HSMS_Destroy1Message(pMessage); |
| | | return 0; |
| | | } |
| | | |
| | | int CHsmsActive::hsmsCarrierActionRequest(unsigned int DATAID, |
| | | const char* pszCarrierAction, |
| | | const char* pszCarrierId, |