ILightweightRTObject.h
Go to the documentation of this file.
00001 // -*- C++ -*-
00020 #ifndef RTC_LOCAL_ILIGHTWEIGHTRTOBJECT_H
00021 #define RTC_LOCAL_ILIGHTWEIGHTRTOBJECT_H
00022 
00023 #include <doil/ImplBase.h>
00024 #include <rtc/IRTC.h>
00025 #include <rtc/IComponentAction.h>
00026 #include <rtc/IExecutionContext.h>
00027 
00028 namespace RTC
00029 {
00030 namespace Local
00031 {
00041     class ILightweightRTObject
00042       : public doil::ImplBase,
00043         public virtual IComponentAction
00044     {
00045     public:
00046       virtual ~ILightweightRTObject() {};
00047       virtual bool is_alive(const IExecutionContext& ec) const = 0;
00048       virtual ReturnCode_t initialize() = 0;
00049       virtual ReturnCode_t finalize() = 0;
00050       virtual ReturnCode_t exit() = 0;
00051 
00052       virtual ExecutionContextHandle_t
00053       attach_context(const IExecutionContext& ec) = 0;
00054       virtual ReturnCode_t detach_context(ExecutionContextHandle_t ec_handle) = 0;
00055       virtual IExecutionContext&
00056       get_context(ExecutionContextHandle_t ec_handle) = 0;
00057       virtual ExecutionContextList& get_owned_contexts() = 0;
00058       virtual ExecutionContextList& get_participating_contexts() = 0;
00059     };
00060 };     // namespace Local
00061 };     // namespace RTC
00062 #endif // RTC_LOCAL_ILIGHTWEIGHTRTOBJECT_H


openrtm_aist
Author(s): Noriaki Ando
autogenerated on Sat Jun 8 2019 18:49:04