#pragma once class CNetServer; #include "IOCPNetwork/NetServer.h" #include "MessageProcessor.h" namespace CHCameraControls_Network { interface ICameraControl_NetServer2Parent { virtual int ICCNS2P_CameraConnect(int nIdex, BOOL bConnect) = 0; virtual int ICCNS2P_CameraGrab(int nIndex) = 0; virtual int ICCNS2P_CameraSnap(int nIndex, int nCount, UINT nWaitTime) = 0; virtual int ICCNS2P_CameraFreeze(int nIndex) = 0; virtual int ICCNS2P_CameraAbort(int nIndex) = 0; virtual int ICCNS2P_CameraTrigMode(int nIndex, int nMode) = 0; virtual void ICCNS2P_DisplayMessage(const TCHAR* lpstrFormat, ...) = 0; virtual int ICCNS2P_CameraSoftwareTrigger(int nIndex, int nUmPosX, int nUmPosY) = 0; virtual int ICCNS2P_CameraCaptured(int nIndex, CString strPath, int nPointNum) = 0; virtual int ICCNS2P_GetModuleIndex() = 0; }; class AFX_EXT_CLASS CCameraControl_NetServer : public IIOCPNetwork2Parent, public IMessageProcessor2Parent { public: CCameraControl_NetServer(ICameraControl_NetServer2Parent* pICCNS2P); virtual ~CCameraControl_NetServer(void); virtual int Send_StatusCamera(int nIndex, int nStatus); protected: // net 2 parent virtual void IOCPNet2P_Connected(int Type); virtual void IOCPNet2P_Disconnected(int Type, int nModuleNo = -1); virtual BOOL IOCPNet2P_Received(int Type, CNetPacket* pPacket, int nContext = -1); // message processor 2 parent virtual void IMP2P_ProcessMessageData(CMessageProcessData* pData); BOOL InitNetwork(); void DeinitNetwork(); // command void Process_CameraIndex(int nIndex, int nContext); void Process_CommandCameraGrab(int nIndex); void Process_CommandCameraSnap(int nIndex, int nCount, int nWaitTime); void Process_CommandCameraFreeze(int nIndex); void Process_CommandCameraAbort(int nIndex); void Process_CammandCameraTrigMode(int nIndex, int nMode); void Process_CammandCameraSoftwareTrigger(int nIndex, int nUmPosX, int nUmPosY); public: // Send 1pt Result void Process_CammandCameraCaptured(int nIndex, CString strPath,int nPointNum); protected: ICameraControl_NetServer2Parent* m_pICCNS2P; CMessageProcessor* m_pMessageProcessor; CNetServer* m_pNetServer; }; };