Go to the documentation of this file.00001
00019 #ifndef RTC_RTOBJECTSERVANT_H
00020 #define RTC_RTOBJECTSERVANT_H
00021
00022 #include <memory>
00023
00024
00025 #include <doil/ImplBase.h>
00026 #include <doil/corba/CORBA.h>
00027 #include <doil/corba/CORBAServantBase.h>
00028 #include <doil/corba/CORBAManager.h>
00029
00030
00031 #include <rtc/IRTC.h>
00032
00033
00034 #include "rtc/corba/idl/RTCSkel.h"
00035 #include "rtc/corba/idl/OpenRTMSkel.h"
00036
00037
00038
00039 namespace RTC
00040 {
00041 namespace Local
00042 {
00043 class IRTObject;
00044 };
00045 namespace CORBA
00046 {
00047 typedef ::RTC::Local::IRTObject IRTObject;
00048 typedef RTC::ExecutionContextHandle_t EChandle;
00049
00050 RTC::ReturnCode_t ret(RTC::Local::ReturnCode_t r)
00051 {
00052 return RTC::ReturnCode_t((int)r);
00053 }
00054
00055 class RTObjectServant
00056 : public virtual POA_RTC::RTObject,
00057 public virtual doil::CORBA::CORBAServantBase
00058 {
00059 public:
00060 RTObjectServant(doil::ImplBase* impl);
00061 virtual ~RTObjectServant();
00062
00063
00064
00065
00066 virtual ReturnCode_t initialize()
00067 throw (::CORBA::SystemException);
00068
00069 virtual ReturnCode_t finalize()
00070 throw (::CORBA::SystemException);
00071
00072 virtual ReturnCode_t exit()
00073 throw (::CORBA::SystemException);
00074
00075 virtual ::CORBA::Boolean is_alive(ExecutionContext_ptr exec_context)
00076 throw (::CORBA::SystemException);
00077
00078 virtual ExecutionContext_ptr get_context(EChandle exec_handle)
00079 throw (::CORBA::SystemException);
00080
00081 virtual ExecutionContextList* get_owned_contexts()
00082 throw (::CORBA::SystemException);
00083
00084 virtual ExecutionContextList* get_participating_contexts()
00085 throw (::CORBA::SystemException);
00086
00087 virtual ExecutionContextHandle_t
00088 get_context_handle(ExecutionContext_ptr cxt)
00089 throw (::CORBA::SystemException);
00090
00091 EChandle attach_context(ExecutionContext_ptr exec_context)
00092 throw (::CORBA::SystemException);
00093
00094 ReturnCode_t detach_context(EChandle exec_handle)
00095 throw (::CORBA::SystemException);
00096
00097 virtual ComponentProfile* get_component_profile()
00098 throw (::CORBA::SystemException);
00099
00100 virtual PortServiceList* get_ports()
00101 throw (::CORBA::SystemException);
00102
00103 virtual ReturnCode_t on_initialize()
00104 throw (::CORBA::SystemException);
00105
00106 virtual ReturnCode_t on_finalize()
00107 throw (::CORBA::SystemException);
00108
00109 virtual ReturnCode_t on_startup(EChandle exec_handle)
00110 throw (::CORBA::SystemException);
00111
00112 virtual ReturnCode_t on_shutdown(EChandle exec_handle)
00113 throw (::CORBA::SystemException);
00114
00115 virtual ReturnCode_t on_activated(EChandle exec_handle)
00116 throw (::CORBA::SystemException);
00117
00118 virtual ReturnCode_t on_deactivated(EChandle exec_handle)
00119 throw (::CORBA::SystemException);
00120
00121 virtual ReturnCode_t on_aborting(EChandle exec_handle)
00122 throw (::CORBA::SystemException);
00123
00124 virtual ReturnCode_t on_error(EChandle exec_handle)
00125 throw (::CORBA::SystemException);
00126
00127 virtual ReturnCode_t on_reset(EChandle exec_handle)
00128 throw (::CORBA::SystemException);
00129
00130
00131
00132
00133
00134 virtual SDOPackage::OrganizationList* get_owned_organizations()
00135 throw (::CORBA::SystemException, SDOPackage::NotAvailable);
00136
00137
00138
00139
00140 virtual char* get_sdo_id()
00141 throw (::CORBA::SystemException,
00142 SDOPackage::NotAvailable, SDOPackage::InternalError);
00143
00144 virtual char* get_sdo_type()
00145 throw (::CORBA::SystemException,
00146 SDOPackage::NotAvailable, SDOPackage::InternalError);
00147
00148 virtual SDOPackage::DeviceProfile* get_device_profile()
00149 throw (::CORBA::SystemException,
00150 SDOPackage::NotAvailable, SDOPackage::InternalError);
00151
00152 virtual SDOPackage::ServiceProfileList* get_service_profiles()
00153 throw (::CORBA::SystemException,
00154 SDOPackage::NotAvailable, SDOPackage::InternalError);
00155
00156 virtual SDOPackage::ServiceProfile* get_service_profile(const char* id)
00157 throw (::CORBA::SystemException,
00158 SDOPackage::InvalidParameter, SDOPackage::NotAvailable,
00159 SDOPackage::InternalError);
00160
00161 virtual SDOPackage::SDOService_ptr get_sdo_service(const char* id)
00162 throw (::CORBA::SystemException,
00163 SDOPackage::InvalidParameter, SDOPackage::NotAvailable,
00164 SDOPackage::InternalError);
00165
00166 virtual SDOPackage::Configuration_ptr get_configuration()
00167 throw (::CORBA::SystemException,
00168 SDOPackage::InterfaceNotImplemented, SDOPackage::NotAvailable,
00169 SDOPackage::InternalError);
00170
00171 virtual SDOPackage::Monitoring_ptr get_monitoring()
00172 throw (::CORBA::SystemException,
00173 SDOPackage::InterfaceNotImplemented, SDOPackage::NotAvailable,
00174 SDOPackage::InternalError);
00175
00176 virtual SDOPackage::OrganizationList* get_organizations()
00177 throw (::CORBA::SystemException,
00178 SDOPackage::NotAvailable, SDOPackage::InternalError);
00179
00180 virtual SDOPackage::NVList* get_status_list()
00181 throw (::CORBA::SystemException,
00182 SDOPackage::NotAvailable, SDOPackage::InternalError);
00183
00184 virtual ::CORBA::Any* get_status(const char* name)
00185 throw (::CORBA::SystemException,
00186 SDOPackage::InvalidParameter, SDOPackage::NotAvailable,
00187 SDOPackage::InternalError);
00188
00189 protected:
00190 ::RTC::Local::IRTObject* m_impl;
00191
00192 };
00193 };
00194 };
00195 #endif // RTObject