LAPTOP-SNT8I5JK\Boounion
2025-03-24 f0928d2abc4f3b5875d27b1beeb393cf5edf8c4a
SourceCode/Bond/Servo/CMaster.cpp
@@ -85,6 +85,10 @@
      addBakeCooling(listener);
      connectEquipments();
      // 读缓存数据
      readCache();
      // 定时器
      g_pMaster = this;
@@ -101,6 +105,8 @@
      for (auto item : m_listEquipment) {
         item->term();
      }
      saveCache();
      return 0;
   }
@@ -569,6 +575,10 @@
            }
         }
      }
      // 自动保存缓存
      saveCache();
   }
   void CMaster::connectEquipments()
@@ -643,4 +653,46 @@
         LOGE("连接BakeCooling-LoadPort4失败");
      }
   }
   int CMaster::saveCache()
   {
      CFile file;
      if (!file.Open(m_strFilepath.c_str(), CFile::modeCreate | CFile::modeWrite)) {
         return -1;
      }
      CArchive ar(&file, CArchive::store);
      serialize(ar);
      ar.Close();
      file.Close();
      return 0;
   }
   void CMaster::setCacheFilepath(const char* pszFilepath)
   {
      m_strFilepath = pszFilepath;
   }
   int CMaster::readCache()
   {
      CFile file;
      if (!file.Open(m_strFilepath.c_str(), CFile::modeRead)) {
         return -1;
      }
      CArchive ar(&file, CArchive::load);
      serialize(ar);
      ar.Close();
      file.Close();
      return 0;
   }
   void CMaster::serialize(CArchive& ar)
   {
      for (auto item : m_listEquipment) {
         item->serialize(ar);
      }
   }
}