Go to the documentation of this file.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