⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 controltask.idl

📁 机器人开源项目orocos的源代码
💻 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 + -