FLImaging 6.12.9.2
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
196 virtual int32_t GetConnectionTimeoutSec() const;
197
209 virtual const CResult SetConnectionTimeoutSec(uint32_t u32ConnectionTimeoutSec = 2);
210
211 virtual int64_t GetClassType() const override;
212
213 protected:
214
215 virtual const CResult InternalRecvProxy(CDeviceSocketPacket* pSocketPacket);
216 const CResult InternalRecv(char* pBuffer, int iToRecvByte);
217
218 HANDLE m_hReceivingThreadHandle;
219
220 CDeviceSocketClientSyncObject* m_pSendingSyncObject;
221 CDeviceSocketClientSyncObject* m_pReceivingSyncObject;
222
223 CInternalSocketClient* m_pInternal;
224
225 uint32_t m_u32ConnectionTimeoutSec;
226
227 friend class CDeviceSocketServer;
228 friend class CInternalSocketClient;
229 };
230 }
231}
232
Template type 의 문자열 클래스
Definition FLString.h:34
FLImaging 모듈의 수행 결과 객체
Definition ResultsDef.h:1640
virtual bool IsThereRecvData() const
수신 데이터의 존재 유무를 확인합니다.
virtual const CResult Recv(CDeviceSocketPacket *pSocketPacket)
패킷을 수신합니다. 만약 receiving callback function 을 설정한 경우, Recv 함수를 사용할 수 없습니다.
virtual const CResult SetConnectionTimeoutSec(uint32_t u32ConnectionTimeoutSec=2)
클라이언트 접속 시 타임아웃 값을 설정 합니다.
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 int32_t GetConnectionTimeoutSec() const
클라이언트 접속 시 타임아웃 값을 얻어옵니다.
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