📄 controltask.idl
字号:
#ifndef ORO_CONTROL_TASK_IDL#define ORO_CONTROL_TASK_IDL/** * @file ControlTask.idl * This file defines the interface of an * Orocos Control Task Component. */// avoid inclusion of this header since tao_idl is broken.//#include <orbsvcs/CosPropertyService.idl>#include "OperationInterface.idl"#include "Attributes.idl"#include "ScriptingAccess.idl"#include "Services.idl"#include "DataFlow.idl"// // Forward declaration.// module CosPropertyService// {// interface PropertySet;// };module RTT{ module Corba { typedef sequence<string> ObjectList; /** * An Orocos TaskObject which hosts a method and command * interface. * @ingroup CompIDL */ interface ControlObject { /** * Return the name of this object. */ string getName(); /** * Return the description of this object. */ string getDescription(); /** * Query the attributes of this interface. */ AttributeInterface attributes(); /** * Synchronous Method Interface. */ MethodInterface methods(); /** * Asynchronous Command Interface. */ CommandInterface commands(); /** * Get a list of all the child objects this object is connected to. */ ObjectList getObjectList( ); /** * Get a child object this object is connected to. */ ControlObject getObject( in string name ); /** * Has this object a child object with given name ? */ boolean hasObject( in string name ); }; enum TaskState { Init, PreOperational, Stopped, Running }; /** * A ControlTask is the main entry point of a distributed * component. */ interface ControlTask : ControlObject { typedef sequence<string> ControlTaskNames; /** * Returns the current state of the component. */ TaskState getTaskState(); /** * Configure this component. */ boolean configure(); /** * Start this component. */ boolean start(); /** * Stop this component. */ boolean stop(); /** * Cleanup this component. */ boolean cleanup(); /** * Is this component running ? */ boolean isRunning(); /** * Is this component configured ? */ boolean isConfigured(); /** * Query the properties of this interface as a CosPropertyService::PropertySet. */ //CosPropertyService::PropertySet propertySet(); /** * The ScriptingAccess, for program and state machine * information of this Task. */ ScriptingAccess scripting(); /** * Access to Process-wide services. */ ServiceInterface services(); /** * Access to the Data Flow ports. */ DataFlowInterface ports(); /** * ControlTask Browsing functions. */ /** * Get a list of all the peers this task is connected to. */ ControlTaskNames getPeerList( ); /** * Get a peer this task is connected to. */ ControlTask getPeer( in string name ); /** * Has this task a peer with given name ? */ boolean hasPeer( in string name ); /** * Add a one-way peer connection. */ boolean addPeer( in ControlTask p, in string alias ); /** * Remove a one-way peer connection. */ boolean removePeer( in string name ); /** * Create a two-way peer connection. */ boolean connectPeers( in ControlTask p ); /** * Destroy a two-way peer connection. */ boolean disconnectPeers( in string name ); }; };};#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -