00001
#ifndef _ACS_CONTAINER_HANDLER_IMPL_H_
00002
#define _ACS_CONTAINER_HANDLER_IMPL_H_
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
#ifndef __cplusplus
00035
#error This is a C++ include file and cannot be used from plain C
00036
#endif
00037
00038
#include "acsdaemonS.h"
00039
#include "logging.h"
00040
#include "acsDaemonImpl.h"
00041
#include <acserr.h>
00042
#include <acsdaemonErrType.h>
00043
#include <ACSErrTypeCommon.h>
00044
#include <acsutilPorts.h>
00045
00046 class ACSContainerHandlerImpl :
public POA_acsdaemon::ContainerDaemon {
00047
00048
public:
00049
00053
ACSContainerHandlerImpl();
00054
00058
virtual ~ACSContainerHandlerImpl();
00059
00063 void setService(
ACSDaemonServiceImpl<ACSContainerHandlerImpl> *service)
00064 {
00065
h_service = service;
00066 }
00067
00071 void initialize(CORBA::ORB_ptr orb) {}
00072
00076 void dispose(CORBA::ORB_ptr orb) {}
00077
00081 std::string
getName();
00082
00086 std::string
getType();
00087
00091 std::string
getPort();
00092
00093
00094
00095
virtual void start_container (
00096
const char * container_type,
00097
const char * container_name,
00098 ::CORBA::Short instance_number,
00099
const ::ACS::stringSeq & type_modifiers,
00100
const char * additional_command_line
00101 )
00102 ACE_THROW_SPEC ((
00103 CORBA::SystemException,
00104 ::acsdaemonErrType::FailedToStartContainerEx,
00105 ::ACSErrTypeCommon::BadParameterEx
00106 ));
00107
virtual void stop_container (
00108
const char * container_name,
00109 ::CORBA::Short instance_number,
00110
const char * additional_command_line
00111 )
00112 ACE_THROW_SPEC ((
00113 CORBA::SystemException,
00114 ::acsdaemonErrType::FailedToStopContainerEx,
00115 ::ACSErrTypeCommon::BadParameterEx
00116 ));
00117
virtual void shutdown ()
00118 ACE_THROW_SPEC ((
00119 CORBA::SystemException,
00120 ::maciErrType::NoPermissionEx
00121 ));
00122
00123 private:
00124 std::string h_name;
00125 std::string h_type;
00126 ACSDaemonServiceImpl<
ACSContainerHandlerImpl> *h_service;
00127
00128 };
00129
00130
00131
00132 #endif