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

86 lines
2.7 KiB
C++

/****************************************************************************
Main.h for csagentd
-----------------------------------------
begin : 2015/04/13
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 __CS_AGENTD_MAIN_H__
#define __CS_AGENTD_MAIN_H__
#include <unistd.h>
#include <stdlib.h>
#include <string>
#ifdef __cplusplus
extern "C" {
#endif
/// @brief 사용 방법을 화면에 표시하기 위한 함수.
void PrintUsage( void );
/// @brief Version 정보를 화면에 표시하기 위한 함수
void PrintVersion( void );
/// @brief 현재 Process가 기동중인지 여부를 판단하기 위한 함수( 프로세스 중복 실행 체크)
/// @return 이미 해당 프로세스가 기동 중인 경우 true 반환, 그렇지 않으면 false 반환.
bool IsCurrentProcessRun( void );
/// @brief std 상에 trim 함수가 없어서 직접 구현 아니면 boost/algorithm/string.hpp 상의 boost::trim 함수 사용
/// @param str [in/out] Trim 할 문자열을 저장한 String 참조변수.
/// @return void
void Trim( std::string & str );
/// @brief 프로세스 종료에 따른 반복적인 종료 관련 작업을 수행하기 위한 함수.
void ReadyToExit( void );
/// @brief Main 프로세스 signal 처리 설정을 위한 함수
/// @return void
void SetSignalMain( void );
/// @brief System 정보 Collect 처리를 담당할 SystemCollect Worker 프로세스 생성
/// @return 생성 성공시 true, 실패시 false
bool MakeWorkerSystemCollect();
/// @brief Service 상태 Check 를 담당할 ServiceCheck Worker 프로세스 생성
/// @return 생성 성공시 true, 실패시 false
bool MakeWorkerServiceCheck();
/// @brief RCTS 로 System, Service 상태 정보를 전송할 Send Worker 프로세스 생성
/// @return 생성 성공시 true, 실패시 false
bool MakeWorkerSend();
/// @brief Storage 상태 Check 를 담당할 StorageCheck Worker 프로세스 생성
/// @return 생성 성공시 true, 실패시 false
bool MakeWorkerStorageCheck();
/// @brief TCP Port 를 Listen 상태로 Open 후 서비스 상태에 따른 Port 상태 제어를 담당할 Worker 프로세스 생성
/// @return 생성 성공시 true, 실패시 false
bool MakeWorkerMonitoringPortControl();
// Telegarf control 을 담당할 worker 프로세스 생성
bool MakeWorkerTelegrafControl();
#ifdef __cplusplus
}
#endif
#endif /* __CS_AGENTD_MAIN_H__ */