84 lines
2.2 KiB
C++
84 lines
2.2 KiB
C++
/****************************************************************************
|
|
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 <unistd.h>
|
|
#include <string>
|
|
|
|
|
|
// 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__ */
|
|
|