123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- #pragma once
- #include <string>
- using namespace std;
- #ifdef CMDPROCESS_EXPORTS
- #define CMDPROCESS_API extern "C" _declspec(dllexport)
- #else
- #define CMDPROCESS_API extern "C" _declspec(dllimport)
- #endif
- #define CMD_FUNC_CMD_LEN 3
- #define CMD_FUNC_DATA_MAXLEN 4096
- #define CMD_STR_MAXLEN 8192
- //设备类型
- enum MQDeviceType
- {
- GEN_G,
- AEC_E,
- MEC_M,
- CLM_C,
- FIL_F,
- GRD_R,
- FPD_S,
- CAP_A,
- SYN_B,
- HSW_H,
- DSP_P,
- OTH_O,
- SVR_Z,
- TUB_U,
- TOT_T,
- XRY_X,
- MQDeviceTypeEnd
- };
- //指令类型
- enum MQCommandType
- {
- Parameter_A,
- Return_B,
- Sequence_C,
- Error_E,
- Warning_W,
- Data_D,
- Return_R, //TODO:哪里来的R
- MQCommandTypeEnd
- };
- //指令类型
- enum MQCommandCategory
- {
- All_A,
- DR_D,
- RF_F,
- MQCommandCategoryEnd
- };
- //数据类型
- enum MQDataType
- {
- Null_N,
- Float_F,
- Int_I,
- String_C,
- Other_E,
- Struct_S,
- MQDataTypeEnd
- };
- struct ECOMFunction
- {
- int FrameNumber;
- MQCommandCategory CMDCategory;
- wchar_t Command[CMD_FUNC_CMD_LEN+1];
- MQDataType DataType;
- wchar_t Data[CMD_FUNC_DATA_MAXLEN];
- };
- struct ECOMCommand
- {
- MQDeviceType DeviceType;
- MQCommandType CommandType;
- int ProcessIndex;
- int DeviceIndex;
- int FunctionNum;
- ECOMFunction *pFunctionList;
- };
- typedef void (*pCMDCallbackfun)(const wstring &strSourceID, DWORD dwCommand,const wstring &strMessage, wstring &strAckMessage);
- //typedef bool (CALLBACK* pCMDCallbackfun)(ECOMCommand* Cmd);
- extern "C"
- {
- CMDPROCESS_API bool CMD_SetLogger(const wchar_t* wszLogFile,const wchar_t* wszLogName);
- CMDPROCESS_API bool CMD_StartMessenger(const wchar_t* wszName);
- CMDPROCESS_API bool CMD_StartMessengerIP(const wchar_t* wszName, const wchar_t* wszBusIP);
- CMDPROCESS_API bool CMD_StopMessenger();
- CMDPROCESS_API bool CMD_RegCallBack(pCMDCallbackfun pFunction);
- //CMDPROCESS_API bool CMD_SendCommand2HW(ECOMCommand *pCmd);
- //CMDPROCESS_API bool CMD_SendParameter2HW(const wchar_t* wszCommand);
- CMDPROCESS_API bool CMD_Post(const wchar_t* wszDestClient, DWORD dwCommand, const wchar_t* wszCommand);
- CMDPROCESS_API bool CMD_Forward(const wchar_t* wszDestClient, DWORD dwCommand, const wchar_t* wszCommand);
- CMDPROCESS_API bool CMD_CommandDecode(const wchar_t* wszCommand, ECOMCommand *outpCommand);
- CMDPROCESS_API bool CMD_CommandEncode(ECOMCommand* pcommand, wchar_t* outwszCommand);
- CMDPROCESS_API bool CMD_FunctionDecode(const wchar_t* wszFunction, ECOMFunction *outpFunction);
- CMDPROCESS_API bool CMD_FunctionEncode(ECOMFunction *pfunction, wchar_t* outwszFunction);
- CMDPROCESS_API wchar_t CMD_eDeviceTypeToChar( MQDeviceType eDeviceType );
- CMDPROCESS_API wchar_t CMD_eCommandTypeToChar( MQCommandType eCommandType );
- CMDPROCESS_API wchar_t CMD_eCommandCategoryToChar( MQCommandCategory eCMDCategory );
- CMDPROCESS_API wchar_t CMD_eDataTypeToChar( MQDataType eDataType );
- CMDPROCESS_API bool CMD_ECOMFunction(int nFrameNumber,MQCommandCategory eCmdCategory,const wchar_t* wszCommand,MQDataType eDataType,const wchar_t* wszData,ECOMFunction *outpFunction);
- CMDPROCESS_API bool CMD_ECOMFunctionC(int nFrameNumber,MQCommandCategory eCmdCategory,const wchar_t* wszCommand,const wchar_t* wszData,ECOMFunction *outpFunction);
- CMDPROCESS_API bool CMD_ECOMFunctionI(int nFrameNumber,MQCommandCategory eCmdCategory,const wchar_t* wszCommand,int nData,ECOMFunction *outpFunction);
- CMDPROCESS_API bool CMD_ECOMFunctionF(int nFrameNumber,MQCommandCategory eCmdCategory,const wchar_t* wszCommand,double fData,ECOMFunction *outpFunction);
- CMDPROCESS_API bool CMD_ECOMFunctionS(int nFrameNumber,MQCommandCategory eCmdCategory,const wchar_t* wszCommand,const wchar_t* wszData,ECOMFunction *outpFunction);
-
- CMDPROCESS_API ECOMCommand* CMD_ECOMCommandFL(int nProcessIndex,MQDeviceType eDeviceType,int nDeviceIndex,MQCommandType eCommandType,ECOMFunction* pFunctionList,int nListSize);
- CMDPROCESS_API ECOMCommand* CMD_ECOMCommandF(int nProcessIndex,MQDeviceType eDeviceType,int nDeviceIndex,MQCommandType eCommandType,ECOMFunction Func);
- CMDPROCESS_API void CMD_ECOMCommandRelease(ECOMCommand *pCommand);
- }
|