OpenRTM-aist IDL  1.2
RTC.idl
Go to the documentation of this file.
1 // RTC.idl
2 
3 #ifndef RTC_IDL
4 #define RTC_IDL
5 
6 #include "SDOPackage.idl"
7 
8 #pragma prefix "omg.org"
9 
10 #define EXECUTION_HANDLE_TYPE_NATIVE long
11 
12 module RTC
13 {
32 
35 
83  {
90  };
91 
104  {
117 
139 
160 
176  };
177 
178  interface ExecutionContext;
179  typedef sequence<ExecutionContext> ExecutionContextList;
180 
204  interface ComponentAction
205  {
222  ReturnCode_t on_initialize();
223 
240  ReturnCode_t on_finalize();
241 
255  ReturnCode_t on_startup(in ExecutionContextHandle_t exec_handle);
256 
270  ReturnCode_t on_shutdown(in ExecutionContextHandle_t exec_handle);
271 
284  ReturnCode_t on_activated(in ExecutionContextHandle_t exec_handle);
285 
298  ReturnCode_t on_deactivated(in ExecutionContextHandle_t exec_handle);
299 
319  ReturnCode_t on_aborting(in ExecutionContextHandle_t exec_handle);
320 
348  ReturnCode_t on_error(in ExecutionContextHandle_t exec_handle);
349 
370  ReturnCode_t on_reset(in ExecutionContextHandle_t exec_handle);
371  };
372 
445  {
469  ReturnCode_t initialize();
470 
504  ReturnCode_t finalize();
505 
527  boolean is_alive(in ExecutionContext exec_context);
528 
559  ReturnCode_t exit();
560 
581  ExecutionContextHandle_t attach_context(in ExecutionContext exec_context);
582 
611  ReturnCode_t detach_context(in ExecutionContextHandle_t exec_handle);
612 
632  ExecutionContext get_context(in ExecutionContextHandle_t exec_handle);
633 
652  ExecutionContextList get_owned_contexts();
653 
684  ExecutionContextList get_participating_contexts();
685 
702  ExecutionContextHandle_t get_context_handle(in ExecutionContext cxt);
703  };
704 
720  {
766  };
767 
835  {
836 
855  boolean is_running();
856 
889  ReturnCode_t start();
890 
918  ReturnCode_t stop();
919 
947  double get_rate();
948 
982  ReturnCode_t set_rate(in double rate);
983 
1015  ReturnCode_t add_component(in LightweightRTObject comp);
1016 
1046  ReturnCode_t remove_component(in LightweightRTObject comp);
1047 
1087  ReturnCode_t activate_component(in LightweightRTObject comp);
1088 
1122  ReturnCode_t deactivate_component(in LightweightRTObject comp);
1123 
1158  ReturnCode_t reset_component(in LightweightRTObject comp);
1159 
1182  LifeCycleState get_component_state(in LightweightRTObject comp);
1183 
1197  ExecutionKind get_kind();
1198  };
1199 
1200 
1217  {
1243  ReturnCode_t on_execute(in ExecutionContextHandle_t exec_handle);
1270  ReturnCode_t on_state_update(in ExecutionContextHandle_t exec_handle);
1289  ReturnCode_t on_rate_changed(in ExecutionContextHandle_t exec_handle);
1290  };
1291 
1319  {
1320  };
1321 
1343  interface Fsm
1345  {
1346  };
1347 
1364  {
1365 
1384  ReturnCode_t on_action(in ExecutionContextHandle_t exec_handle);
1385  };
1386 
1394  interface FsmParticipant
1396  {
1397  };
1398 
1412  interface Mode
1413  {
1414  };
1415 
1458  interface ModeCapable
1459  {
1477  Mode get_default_mode();
1496  Mode get_current_mode();
1514  Mode get_current_mode_in_context(in ExecutionContext exec_context);
1529  Mode get_pending_mode();
1551  Mode get_pending_mode_in_context(in ExecutionContext exec_context);
1578  ReturnCode_t set_mode(in Mode new_mode,
1579  in boolean immediate);
1580  };
1581 
1594  {
1617  ReturnCode_t on_mode_changed(in ExecutionContextHandle_t exec_handle);
1618  };
1619 
1629  {
1630  };
1631 
1632  interface RTObject;
1633 
1646  {
1674  };
1675 
1692  {
1718  string type_name;
1733  };
1734 
1735  typedef sequence<PortInterfaceProfile> PortInterfaceProfileList;
1736 
1737  interface PortService;
1738  typedef sequence<PortService> PortServiceList;
1739  typedef sequence<RTObject> RTCList;
1740 
1755  {
1768  string name;
1783  UniqueIdentifier connector_id;
1797  PortServiceList ports;
1816  NVList properties;
1817  };
1818 
1819  typedef sequence<ConnectorProfile> ConnectorProfileList;
1820 
1837  {
1856  string name;
1870  PortInterfaceProfileList interfaces;
1897  ConnectorProfileList connector_profiles;
1929  NVList properties;
1930  };
1931 
1932  typedef sequence<PortProfile> PortProfileList;
1933 
1942  {
1975  double rate;
2001  RTCList participants;
2021  NVList properties;
2022  };
2023 
2024  typedef sequence<ExecutionContextProfile>
2026 
2040  interface FsmObject
2041  {
2076  ReturnCode_t send_stimulus(in string message,
2077  in ExecutionContextHandle_t exec_handle);
2078  };
2079 
2100  {
2128  UniqueIdentifier id;
2129  };
2130 
2131  typedef sequence<FsmBehaviorProfile> FsmBehaviorProfileList;
2146  struct FsmProfile
2147  {
2161  FsmBehaviorProfileList behavior_profiles;
2162  };
2163 
2177  interface FsmService
2179  {
2198  FsmProfile get_fsm_profile();
2212  ReturnCode_t set_fsm_profile(in FsmProfile fsm_profile);
2213  };
2214 
2229  {
2265  string type_name;
2279  string description;
2298  string version;
2312  string vendor;
2327  string category;
2347  PortProfileList port_profiles;
2381  NVList properties;
2382  };
2383 
2384  typedef sequence<ComponentProfile> ComponentProfileList;
2385 
2413  interface PortService
2415  {
2428  PortProfile get_port_profile();
2442  ConnectorProfileList get_connector_profiles();
2456  ConnectorProfile get_connector_profile(in UniqueIdentifier connector_id);
2479  ReturnCode_t connect(inout ConnectorProfile connector_profile);
2501  ReturnCode_t disconnect(in UniqueIdentifier connector_id);
2515  ReturnCode_t disconnect_all();
2540  ReturnCode_t notify_connect(inout ConnectorProfile connector_profile);
2565  ReturnCode_t notify_disconnect(in UniqueIdentifier connector_id);
2566  };
2567 
2588  {
2602  ExecutionContextProfile get_profile();
2603  };
2604 
2605  typedef sequence<ExecutionContextService>
2607 
2621  interface RTObject
2623  {
2636  ComponentProfile get_component_profile();
2649  PortServiceList get_ports();
2650  };
2651 };
2652 
2653 #endif // RTC_IDL
UniqueIdentifier connector_id
connector_id
Definition: RTC.idl:1783
RTObject owner
owner
Definition: RTC.idl:1910
Mode.
Definition: RTC.idl:1412
PortService port_ref
port_ref
Definition: RTC.idl:1883
FsmBehaviorProfileList behavior_profiles
behavior_profiles
Definition: RTC.idl:2161
sequence< ExecutionContext > ExecutionContextList
Definition: RTC.idl:178
MultiModeComponentAction.
Definition: RTC.idl:1593
string UniqueIdentifier
Definition: SDOPackage.idl:58
SDOPackage::UniqueIdentifier UniqueIdentifier
Definition: RTC.idl:33
string instance_name
instance_name
Definition: RTC.idl:1705
PortInterfaceProfileList interfaces
interfaces
Definition: RTC.idl:1870
RTObject parent
parent
Definition: RTC.idl:2362
Definition: SDOPackage.idl:261
Definition: BasicDataType.idl:22
Definition: RTC.idl:84
Definition: RTC.idl:86
fsm
Definition: RTC.idl:1343
Definition: RTC.idl:85
EXECUTION_HANDLE_TYPE_NATIVE ExecutionContextHandle_t
ExecutionContextHandle_t.
Definition: RTC.idl:31
string type_name
type_name
Definition: RTC.idl:1718
Definition: RTC.idl:1627
NVList properties
properties
Definition: RTC.idl:1929
FsmObject.
Definition: RTC.idl:2040
NVList properties
properties
Definition: RTC.idl:1816
sequence< NameValue > NVList
Definition: SDOPackage.idl:66
sequence< ExecutionContextProfile > ExecutionContextProfileList
Definition: RTC.idl:2025
sequence< FsmBehaviorProfile > FsmBehaviorProfileList
Definition: RTC.idl:2131
Definition: SDOPackage.idl:181
ExecutionContext.
Definition: RTC.idl:834
Definition: RTC.idl:88
OTHER.
Definition: RTC.idl:765
LightweightRTObject.
Definition: RTC.idl:443
sequence< ComponentProfile > ComponentProfileList
Definition: RTC.idl:2384
INACTIVE.
Definition: RTC.idl:138
PortService.
Definition: RTC.idl:2413
ModeCapable.
Definition: RTC.idl:1458
FsmService.
Definition: RTC.idl:2177
string version
version
Definition: RTC.idl:2298
PortServiceList ports
ports
Definition: RTC.idl:1797
PortProfile.
Definition: RTC.idl:1836
Definition: RTC.idl:1941
ERROR.
Definition: RTC.idl:175
Definition: RTC.idl:87
LifeCycleState
LifeCycleState.
Definition: RTC.idl:103
PROVIDED.
Definition: RTC.idl:1660
ComponentAction.
Definition: RTC.idl:204
PortInterfaceProfile.
Definition: RTC.idl:1691
FsmBehaviorProfile.
Definition: RTC.idl:2099
FsmParticipantAction action_component
action_component
Definition: RTC.idl:2115
UniqueIdentifier id
id
Definition: RTC.idl:2128
RTObject.
Definition: RTC.idl:2621
sequence< RTObject > RTCList
Definition: RTC.idl:1739
PERIODIC.
Definition: RTC.idl:735
dataFlowComponent
Definition: RTC.idl:1317
RTObject owner
owner
Definition: RTC.idl:1988
CREATED.
Definition: RTC.idl:116
sequence< PortProfile > PortProfileList
Definition: RTC.idl:1932
Definition: RTC.idl:89
ACTIVE.
Definition: RTC.idl:159
sequence< ExecutionContextService > ExecutionContextServiceList
Definition: RTC.idl:2603
PortProfileList port_profiles
port_profiles
Definition: RTC.idl:2347
string type_name
type_name
Definition: RTC.idl:2265
Definition: RTC.idl:1394
string category
category
Definition: RTC.idl:2327
PortInterfacePolarity
PortInterfacePolarity.
Definition: RTC.idl:1645
NVList properties
properties
Definition: RTC.idl:2021
ConnectorProfileList connector_profiles
connector_profiles
Definition: RTC.idl:1897
string name
name
Definition: RTC.idl:1768
double rate
rate
Definition: RTC.idl:1975
RTCList participants
participants
Definition: RTC.idl:2001
string name
name
Definition: RTC.idl:1856
sequence< ConnectorProfile > ConnectorProfileList
Definition: RTC.idl:1819
sequence< PortInterfaceProfile > PortInterfaceProfileList
Definition: RTC.idl:1735
FsmParticipantAction.
Definition: RTC.idl:1363
FsmProfile.
Definition: RTC.idl:2146
ComponentProfile.
Definition: RTC.idl:2228
EVENT_DRIVEN.
Definition: RTC.idl:750
DataFlowComponentAction.
Definition: RTC.idl:1216
REQUIRED.
Definition: RTC.idl:1673
NVList properties
properties
Definition: RTC.idl:2381
ExecutionKind kind
kind
Definition: RTC.idl:1955
ExecutionContextService.
Definition: RTC.idl:2586
string vendor
vendor
Definition: RTC.idl:2312
ConnectorProfile.
Definition: RTC.idl:1754
#define EXECUTION_HANDLE_TYPE_NATIVE
Definition: RTC.idl:10
PortInterfacePolarity polarity
polarity
Definition: RTC.idl:1732
ReturnCode_t
ReturnCode_t.
Definition: RTC.idl:82
ExecutionKind
ExecutionKind.
Definition: RTC.idl:719
string description
description
Definition: RTC.idl:2279
sequence< PortService > PortServiceList
Definition: RTC.idl:1737
SDOPackage::NVList NVList
Definition: RTC.idl:34
string instance_name
instance_name
Definition: RTC.idl:2247