12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- #pragma once
- #include "Definitions.h"
- #include "CcosFileHandle.h"
- #include "CcosLock.h"
- #include "ResDataObject.h"
- #include "CDInterface.h"
- #include "LinuxEvent.h"
- #include "LocalConfig.h"
- #define CDI_API
- #define CDI_C_API extern "C"
- class CDI_API CDI :public CcosLock, public CDInterface {
- //HANDLE m_Mutex;
- UINT64 m_MasterProcId;
- std::shared_ptr<LinuxEvent> m_ExitHandle;
- void *m_prootClient;
- //PVOID m_DCSMap;
- //INT LoadAllDCS();//used by system
- //INT UnLoadAllDCS();//used by system
- bool InitBusUnit();
- void Ex_ResponseClientReq(ResDataObject &Req, RET_STATUS status, const char *pInfo = NULL);
- void Ex_ResponseRemoteClientReq(ResDataObject &Req, RET_STATUS status, const char *pInfo = NULL);
- void Ex_ResponseDeviceRes(ResDataObject &Res);
- void Ex_ResponseEbus(ResDataObject &packet);
- void Ex_RequestRemoteClientClose(ResDataObject &Res);
- //CMD_ECHO DispatchToLocal(ResDataObject &packet);
- void StartMqttServer();
- public:
- CDI(void);
- virtual ~CDI(void);
- bool WaitExit(DWORD timeout = 0, bool Exit = false);
- bool InitAs(CCOS_PROC_TYPE Master, UINT64 MasterProcId);//3 = CcosClient,2 = Channel,1 = Master,0 = Slave
- static void* InitShareMemory(void* pPara);
- int CommandInput(const char *pszCmd);
- //simple command
- //bool ReceivedFromLocalBus(ResDataObject &packet);
- //bool ReceivedFromEthBus(ResDataObject &packet);
- bool ReceivedFromBus(ResDataObject &packet);
- bool ReceivedFromDevice(ResDataObject &packet);
- //bool ReceivedDeviceNotify(ResDataObject &packet);
- //bool ReceivedFromClient(ResDataObject &packet);
- //bool HandleOpenClose(ResDataObject& packet, PACKET_CMD cmd);
- //bool HandleOthers(ResDataObject& packet, PACKET_CMD cmd);
- bool SendCcosPacket(ResDataObject& packet);
- //Client Stuff
- //bool RegistClient(UINT64 Address);
- //bool UnRegistClient(UINT64 Address);
- //Handle Stuff
- bool Registhandle(HANDLE Handle);
- bool UnRegistHandle(UINT64 CrcCode);
- //bool RegistThread(PVOID pCcosThread);
- //void UnRegistThread(DWORD Tid);
- //bool GetThreadsLogger(DWORD Tid, PVOID &pLogger);
- const char* GetAllDevice(void** pDevices, int &nDevNums);
- void UnLoadAll();
- //bool AddDPC(PVOID pMDPC, PVOID pDPC, ResDataObject &DrvConfig);
- //bool DelDPC(PVOID pMDPC, PVOID pDPC);
- };
- CDI_C_API CDI *GetCommandDispathIF();
- CDI_C_API CDInterface* GetCDI();
- //CDI_C_API bool InitClientEnv();
- //CDI_C_API bool DestroyClientEnv();
|