FLImaging 6.6.27.1
DeviceSocketClient.h
1#pragma once
5
6#include "DeviceSocketBase.h"
7
9namespace FLImaging
10{
12 namespace Devices
13 {
15 class CDeviceSocketClientSyncObject;
16 class CInternalSocketClient;
17
24 class FL_EXPORT CDeviceSocketClient : public CDeviceSocketBase
25 {
26 public:
35
45 CDeviceSocketClient(int64_t i64Socket);
46
54
55
56 virtual const CResult Initialize() override;
57 virtual const CResult Terminate() override;
58
74 virtual const CResult Send(const CDeviceSocketPacket& packet);
75
91 virtual const CResult Send(const CDeviceSocketPacket* pSocketPacket);
92
108 virtual const CResult Recv(CDeviceSocketPacket& packet);
109
125 virtual const CResult Recv(CDeviceSocketPacket* pSocketPacket);
126
136 virtual bool IsThereRecvData() const;
137
149 virtual const Base::CFLString<wchar_t>& GetUserID() const;
150
162 virtual void SetUserID(const Base::CFLString<wchar_t>& strUserID);
163
173 virtual int32_t GetPermission() const;
174
184 virtual void SetPermission(int32_t i32Permission);
185
186 virtual int64_t GetClassType() const override;
187
188 protected:
189
190 virtual const CResult InternalRecvProxy(CDeviceSocketPacket* pSocketPacket);
191 const CResult InternalRecv(char* pBuffer, int iToRecvByte);
192
193 HANDLE m_hReceivingThreadHandle;
194
195 CDeviceSocketClientSyncObject* m_pSendingSyncObject;
196 CDeviceSocketClientSyncObject* m_pReceivingSyncObject;
197
198 CInternalSocketClient* m_pInternal;
199
200 friend class CDeviceSocketServer;
201 friend class CInternalSocketClient;
202 };
203 }
204}
205
Template type 의 문자열 클래스
Definition FLString.h:34
FLImaging 모듈의 수행 결과 객체
Definition ResultsDef.h:1596
virtual bool IsThereRecvData() const
수신 데이터의 존재 유무를 확인합니다.
virtual const CResult Recv(CDeviceSocketPacket *pSocketPacket)
패킷을 수신합니다. 만약 receiving callback function 을 설정한 경우, Recv 함수를 사용할 수 없습니다.
virtual int32_t GetPermission() const
권한 레벨을 얻어 옵니다.
virtual void SetUserID(const Base::CFLString< wchar_t > &strUserID)
User ID 를 설정합니다.
virtual const Base::CFLString< wchar_t > & GetUserID() const
User ID 를 얻어 옵니다.
virtual const CResult Send(const CDeviceSocketPacket &packet)
패킷을 전송합니다.
virtual const CResult Terminate() override
소켓 종료를 수행합니다.
virtual const CResult Initialize() override
소켓 초기화를 수행합니다. 소켓 모드 설정 및 연결 정보 설정을 먼저 수행해야 합니다.
virtual const CResult Recv(CDeviceSocketPacket &packet)
패킷을 수신합니다. 만약 receiving callback function 을 설정한 경우, Recv 함수를 사용할 수 없습니다.
virtual void SetPermission(int32_t i32Permission)
권한 레벨을 설정합니다.
virtual int64_t GetClassType() const override
Class의 Type 값을 반환한다. 반환되는 값 자체는 의미가 없으나 같은 종류의 클래스인 경우 같은 값이 나오게 되어 비교가 가능하다.
virtual ~CDeviceSocketClient()
기본 소멸자
virtual const CResult Send(const CDeviceSocketPacket *pSocketPacket)
패킷을 전송합니다.
CDeviceSocketClient(int64_t i64Socket)
기본 생성자
소켓 패킷 클래스
Definition DeviceSocketPacket.h:18
소켓 서버 클래스
Definition DeviceSocketServer.h:25
Definition AutoFileCleaner.h:17