#pragma once #include "IUnit.h" #include namespace BEQ { typedef std::function ONCONNECTED; typedef std::function ONDISCONNECTED; typedef std::function ONRUNRECIPE; typedef std::function ONGETRECIPELIST; typedef std::function ONLOADREADY; typedef std::function ONLOADCOMPLETE; typedef struct _EquipmentListener { ONCONNECTED onConnected; ONDISCONNECTED onDisconnected; ONRUNRECIPE onRunRecipe; ONGETRECIPELIST onGetRecipeList; ONLOADREADY onLoadReady; ONLOADCOMPLETE onLoadComplete; ONLOADCOMPLETE onUnloadComplete; } EquipmentListener; class IEquipment { public: virtual void setEquipmentListener(EquipmentListener listener) = 0; virtual int getName(char* pszBuffer, int nMaxCount) = 0; virtual void setName(const char* pszName) = 0; virtual int getVersion(char* pszBuffer, int nMaxCount) = 0; virtual void setVersion(const char* pszVersion) = 0; virtual IUnit* addUnit(const char* pszName, int nDoorCount) = 0; virtual IUnit* getUnit(const char* pszName) = 0; virtual int runOnClientMode(const char* pAddr, int port) = 0; virtual int runOnServerMode(int port) = 0; virtual int repRecipeListComplete() = 0; virtual int repLoadReadyComplete(int errorCode) = 0; }; }