00001 // -*- C++ -*- 00020 #ifndef RTC_LOCAL_IMULTIMODEOBJECT_H 00021 #define RTC_LOCAL_IMULTIMODEOBJECT_H 00022 00023 #include <rtc/IRTC.h> 00024 #include <rtc/IModeCapable.h> 00025 #include <rtc/IMultModeComponentAction.h> 00026 00027 namespace RTC 00028 { 00029 namespace Local 00030 { 00040 class IMultiModeObject 00041 : public virtual IRTObject, 00042 public virtual IModeCapable, 00043 public virtual IMultiModeComponentAction 00044 { 00045 public: 00053 virtual ~IMultiModeObject() {}; 00054 virtual ReturnCode_t 00055 on_mode_changed(ExecutionContextHandle_t ec_handle) = 0; 00056 }; 00057 }; // namespace Local 00058 }; // namespace RTC 00059 #endif // RTC_LOCAL_IMULTIMODEOBJECT_H 00060