#pragma once
|
#include "IUnit.h"
|
#include <functional>
|
|
|
namespace BEQ {
|
typedef std::function<void(void* pEiuipment, const char* pszAddr, int port)> ONCONNECTED;
|
typedef std::function<void(void* pEiuipment, const char* pszAddr, int port)> ONDISCONNECTED;
|
typedef std::function<int(void* pEiuipment, void* pUnit, int id)> ONRUNRECIPE;
|
typedef std::function<int(void* pEiuipment, void* pUnit)> ONGETRECIPELIST;
|
typedef std::function<int(void* pEiuipment, void* pUnit, const char* pszMaterielId, const char* pszRecipeId)> ONLOADREADY;
|
typedef std::function<int(void* pEiuipment, void* pUnit, int layer)> 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;
|
};
|
}
|