#pragma once #include #include "CEquipment.h" #include "CEFEM.h" #include "CBonder.h" #include "CCLinkIEControl.h" namespace SERVO { typedef std::function ONEQALIVE; typedef std::function ONEQSTEPEVENT; typedef struct _MasterListener { ONEQALIVE onEqAlive; ONEQALIVE onEqCimStateChanged; ONEQSTEPEVENT onEqStepEvent; } MasterListener; class CMaster { public: CMaster(); ~CMaster(); public: void setListener(MasterListener listener); int init(); int term(); void onTimer(UINT nTimerid); std::list& getEquipmentList(); CEquipment* getEquipment(int id); private: int addEquipment(CEquipment* pEquipment); int addEFEM(StepListener& listener); private: MasterListener m_listener; CCCLinkIEControl m_cclink; std::list m_listEquipment; }; }