mrDarker
2025-05-06 cacea2da59a3acd73f3161d819a10e0060762616
SourceCode/Bond/Servo/CMaster.h
@@ -14,11 +14,14 @@
namespace SERVO {
    typedef std::function<void(void* pMaster, CEquipment* pEiuipment, BOOL bAlive)> ONEQALIVE;
    typedef std::function<void(CStep* pStep, int code, void* pData)> ONEQSTEPEVENT;
    typedef std::function<void(void* pMaster, CEquipment* pEquipment, int state, int alarmId, int unitId, int level)> ONEQALARM;
    typedef std::function<void(void* pMaster, CEquipment* pEquipment, CVcrEventReport* pReport)> ONEQVCREVENTREPORT;
    typedef struct _MasterListener
    {
        ONEQALIVE            onEqAlive;
        ONEQALIVE              onEqCimStateChanged;
        ONEQSTEPEVENT          onEqStepEvent;
        ONEQALARM               onEqAlarm;
        ONEQVCREVENTREPORT       onEqVcrEventReport;
    } MasterListener;
    class CMaster
@@ -32,6 +35,7 @@
        void setListener(MasterListener listener);
        int init();
        int term();
        unsigned ReadBitsProc();
        void onTimer(UINT nTimerid);
        std::list<CEquipment*>& getEquipmentList();
        CEquipment* getEquipment(int id);
@@ -39,13 +43,13 @@
    private:
        int addToEquipmentList(CEquipment* pEquipment);
        int addLoadPort(int index, StepListener& listener);
        int addFliper(StepListener& listener);
        int addVacuumBake(StepListener& listener);
        int addAligner(StepListener& listener);
        int addEFEM(StepListener& listener);
        int addBonder(int index, StepListener& listener);
        int addBakeCooling(StepListener& listener);
        CLoadPort* addLoadPort(int index);
        int addFliper();
        int addVacuumBake();
        int addAligner();
        CEFEM* addEFEM();
        int addBonder(int index);
        int addBakeCooling();
        void connectEquipments();
        int saveCache();
        int saveCacheAndBackups();
@@ -58,6 +62,11 @@
        std::list<CEquipment*> m_listEquipment;
        std::string m_strFilepath;
        BOOL m_bDataModify;
    private:
        HANDLE m_hEventReadBitsThreadExit[2];
        HANDLE m_hReadBitsThreadHandle;
        unsigned m_nReadBitsThreadAddr;
    };
}