Files
interactive/fhs/csagentd/src/RctsSocket.h
T
2026-08-07 17:38:18 +09:00

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__ */