LAPTOP-SNT8I5JK\Boounion
2025-03-21 980d4fc1690b4f8a81dc65e8573d2898f34a406f
SourceCode/Bond/Servo/CMaster.h
@@ -3,10 +3,20 @@
#include "CEquipment.h"
#include "CEFEM.h"
#include "CBonder.h"
#include "CLoadPort.h"
#include "CCLinkIEControl.h"
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 struct _MasterListener
    {
        ONEQALIVE            onEqAlive;
        ONEQALIVE              onEqCimStateChanged;
        ONEQSTEPEVENT          onEqStepEvent;
    } MasterListener;
    class CMaster
    {
    public:
@@ -15,16 +25,23 @@
    public:
        void setListener(MasterListener listener);
        int init();
        int term();
        void onTimer(UINT nTimerid);
        std::list<CEquipment*>& getEquipmentList();
        CEquipment* getEquipment(int id);
    private:
        int addToEquipmentList(CEquipment* pEquipment);
        int addLoadPort(int index, StepListener& listener);
        int addEFEM(StepListener& listener);
        int addBonder(int index, StepListener& listener);
        void connectEquipments();
    private:
        int addEquipment(CEquipment* pEquipment);
    private:
        MasterListener m_listener;
        CCCLinkIEControl m_cclink;
        std::list<CEquipment*> m_listEquipment;
    };