LAPTOP-SNT8I5JK\Boounion
2025-01-07 22137ea1df173a3c58a641eb9cd12999258faf18
SourceCode/Bond/BoounionPLC/Model.cpp
@@ -23,6 +23,10 @@
CModel::~CModel()
{
   for (auto item : m_mapPlc) {
      delete item.second;
   }
   m_mapPlc.clear();
}
IObservable* CModel::getObservable()
@@ -286,3 +290,30 @@
{
}
std::map<std::string, CPLC*>& CModel::gtPlcMap()
{
   return m_mapPlc;
}
int CModel::addPlc(const char* pszName, const char* pszIp, const unsigned int port)
{
   auto iter = m_mapPlc.find(pszName);
   if (iter != m_mapPlc.end()) return -1;
   CPLC* pPLC = new CPLC(pszName, pszIp, port);
   m_mapPlc[pszName] = pPLC;
   notifyPtr(RX_CODE_ADD_PLC, pPLC);
   return 0;
}
int CModel::removePlc(const char* pszName)
{
   auto iter = m_mapPlc.find(pszName);
   if (iter == m_mapPlc.end()) return -1;
   notifyPtr(RX_CODE_REMOVE_PLC, iter->second);
   delete iter->second;
   m_mapPlc.erase(iter);
   return 0;
}