/**************************************************************************** RCTS socket class ----------------------------------------- begin : 2015/05/14 copyright : (C) 2005 Solbox Inc. author : Dev Storage Team email : huibong@solbox.com version : 3.5 CopyRight(C) 2005 Solbox Inc. All Rights reserved. Redistribution and use in source and binary forms, with or with out modification, are not permitted in outside of Solbox Inc. *****************************************************************************/ #ifndef __RCTS_SOCKET_H__ #define __RCTS_SOCKET_H__ #include "BaseSocket.h" #include "ShmDefine.h" #include "ProtocolDefine.h" #include #include // CRctsSocket // 본 클래스는 RCTS 와의 TCP socket 통신을 관리하고.... // Data 를 RCTS 로 전송하는 역활을 수행한다. class CRctsSocket: public CBaseSocket { public: // 생성자 // - 객체 생성시.. 접속 대상 RCTS 정보 및 통신시 사용할 RC ID 정보를 전달한다. CRctsSocket(); // 소멸자 ~CRctsSocket(); // 객체 초기화 // - false : 전달된 인자값 오류시 bool Init( const char * szServer, unsigned int uPort, const char * szRcId ); // RCTS 로 수집된 시스템 정보를 전송한다. bool SendSystemInfo( const struct SystemInfo * pSystem ); // RCTS 로 서비스 상태 정보를 전송한다. bool SendServiceStatus( std::string & strHostname, const struct ServiceStatus * pService, int & iStorageMaxUsage ); private: // RCTS Server 정보 std::string m_strServer; unsigned int m_uPort; // 통신 관련 RC ID 정보 std::string m_strRcId; // packet header 멤버 변수. struct PacketHeader m_packetHeader; // packet header 크기를 저장하기 위한 상수 const int m_iPacketHeaderLen; // system 수집 정보 전송을 위한 data 구조체 struct PacketDataSystem m_packetDataSystem; // service 상태 정보 전송을 위한 data 구조체 struct PacketDataService m_packetDataService; // 전송할 Data 크기 정보를 저장할 멤버변수. unsigned int m_uPacketDataLen; }; #endif /* __RCTS_SOCKET_H__ */