SourceCode/Bond/Servo/Model.h
@@ -3,7 +3,10 @@
#include "HsmsPassive.h"
#include "CMaster.h"
#include "CGlassPool.h"
#include "ProcessJob.h"
#include <cstdint>
#include <map>
#include <string>
enum class ControlState : uint8_t {
   OfflineEquipment = 0,
@@ -31,9 +34,21 @@
   int init();
   int term();
   ControlState getControlState() const noexcept { return m_currentControlState; }
   void setControlState(ControlState newState);
   bool raiseSoftAlarm(int alarmId,
      const std::string& desc = "",
      int level = -1,
      int deviceId = 0,
      int unitId = 0,
      const char* deviceName = "Software",
      const char* unitName = "App");
   void clearSoftAlarm(int alarmId, int deviceId = 0, int unitId = 0);
private:
   void refreshDerivedSVs();
   void setControlState(ControlState newState);
   void notifyControlJobChanged();
   void emitPjStateEvents();
public:
   int notify(int code);
@@ -63,4 +78,5 @@
private:
   ControlState m_currentControlState{ ControlState::OfflineEquipment };
   std::map<std::string, SERVO::PJState> m_prevPjStates;
};