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