ControlTaskI.h

00001 /***************************************************************************
00002   tag: Peter Soetens  Wed Jan 18 14:09:48 CET 2006  ControlTaskI.h
00003 
00004                         ControlTaskI.h -  description
00005                            -------------------
00006     begin                : Wed January 18 2006
00007     copyright            : (C) 2006 Peter Soetens
00008     email                : peter.soetens@fmtc.be
00009 
00010  ***************************************************************************
00011  *   This library is free software; you can redistribute it and/or         *
00012  *   modify it under the terms of the GNU General Public                   *
00013  *   License as published by the Free Software Foundation;                 *
00014  *   version 2 of the License.                                             *
00015  *                                                                         *
00016  *   As a special exception, you may use this file as part of a free       *
00017  *   software library without restriction.  Specifically, if other files   *
00018  *   instantiate templates or use macros or inline functions from this     *
00019  *   file, or you compile this file and link it with other files to        *
00020  *   produce an executable, this file does not by itself cause the         *
00021  *   resulting executable to be covered by the GNU General Public          *
00022  *   License.  This exception does not however invalidate any other        *
00023  *   reasons why the executable file might be covered by the GNU General   *
00024  *   Public License.                                                       *
00025  *                                                                         *
00026  *   This library is distributed in the hope that it will be useful,       *
00027  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
00028  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
00029  *   Lesser General Public License for more details.                       *
00030  *                                                                         *
00031  *   You should have received a copy of the GNU General Public             *
00032  *   License along with this library; if not, write to the Free Software   *
00033  *   Foundation, Inc., 59 Temple Place,                                    *
00034  *   Suite 330, Boston, MA  02111-1307  USA                                *
00035  *                                                                         *
00036  ***************************************************************************/
00037 
00038 
00039 // -*- C++ -*-
00040 //
00041 // $Id$
00042 
00043 // ****  Code generated by the The ACE ORB (TAO) IDL Compiler ****
00044 // TAO and the TAO IDL Compiler have been developed by:
00045 //       Center for Distributed Object Computing
00046 //       Washington University
00047 //       St. Louis, MO
00048 //       USA
00049 //       http://www.cs.wustl.edu/~schmidt/doc-center.html
00050 // and
00051 //       Distributed Object Computing Laboratory
00052 //       University of California at Irvine
00053 //       Irvine, CA
00054 //       USA
00055 //       http://doc.ece.uci.edu/
00056 // and
00057 //       Institute for Software Integrated Systems
00058 //       Vanderbilt University
00059 //       Nashville, TN
00060 //       USA
00061 //       http://www.isis.vanderbilt.edu/
00062 //
00063 // Information about TAO is available at:
00064 //     http://www.cs.wustl.edu/~schmidt/TAO.html
00065 
00066 // TAO_IDL - Generated from
00067 // be/be_codegen.cpp:844
00068 
00069 #ifndef CONTROLTASKI_H_
00070 #define CONTROLTASKI_H_
00071 
00072 #include "../rtt-config.h"
00073 #include "corba.h"
00074 #include "corba.h"
00075 #ifdef CORBA_IS_TAO
00076 #include "ControlTaskS.h"
00077 #else
00078 #include "ControlTaskC.h"
00079 #endif
00080 
00081 #include "OperationInterfaceC.h"
00082 #include "AttributesC.h"
00083 #include "ScriptingAccessC.h"
00084 #include "ServicesC.h"
00085 #include "DataFlowC.h"
00086 #include "../TaskContext.hpp"
00087 
00088 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00089 #pragma once
00090 #endif /* ACE_LACKS_PRAGMA_ONCE */
00091 
00092 class  Orocos_ControlObject_i : public virtual POA_RTT::Corba::ControlObject, public virtual PortableServer::RefCountServantBase
00093 {
00094 protected:
00095     RTT::OperationInterface* mobj;
00096     ::RTT::Corba::AttributeInterface_var mAttrs;
00097     ::RTT::Corba::MethodInterface_var mMFact;
00098     ::RTT::Corba::CommandInterface_var mCFact;
00099     PortableServer::POA_var mpoa;
00100     typedef std::map<std::string, Orocos_ControlObject_i*> CTObjMap;
00101     CTObjMap ctobjmap;
00102 
00103 public:
00104   //Constructor
00105   Orocos_ControlObject_i (RTT::OperationInterface* orig, PortableServer::POA_ptr the_poa);
00106 
00107   //Destructor
00108   virtual ~Orocos_ControlObject_i (void);
00109 
00110     PortableServer::POA_ptr _default_POA()
00111     {
00112         return PortableServer::POA::_duplicate(mpoa);
00113     }
00114 
00115   virtual
00116   char * getName (
00117 
00118     )
00119     ACE_THROW_SPEC ((
00120       CORBA::SystemException
00121     ));
00122 
00123   virtual
00124   char * getDescription (
00125 
00126     )
00127     ACE_THROW_SPEC ((
00128       CORBA::SystemException
00129     ));
00130 
00131   virtual
00132   ::RTT::Corba::AttributeInterface_ptr attributes (
00133 
00134     )
00135     ACE_THROW_SPEC ((
00136       CORBA::SystemException
00137     ));
00138 
00139   virtual
00140   ::RTT::Corba::MethodInterface_ptr methods (
00141 
00142     )
00143     ACE_THROW_SPEC ((
00144       CORBA::SystemException
00145     ));
00146 
00147   virtual
00148   ::RTT::Corba::CommandInterface_ptr commands (
00149 
00150     )
00151     ACE_THROW_SPEC ((
00152       CORBA::SystemException
00153     ));
00154 
00155   virtual
00156   ::RTT::Corba::ObjectList* getObjectList()
00157     ACE_THROW_SPEC ((
00158       CORBA::SystemException
00159     ));
00160 
00161   virtual
00162   ::RTT::Corba::ControlObject_ptr getObject(const char*)
00163     ACE_THROW_SPEC ((
00164       CORBA::SystemException
00165     ));
00166 
00167   virtual
00168   CORBA::Boolean hasObject(const char*)
00169     ACE_THROW_SPEC ((
00170       CORBA::SystemException
00171     ));
00172 
00173 };
00174 
00175 class  Orocos_ControlTask_i
00176 : public virtual POA_RTT::Corba::ControlTask, public virtual PortableServer::RefCountServantBase,
00177   public Orocos_ControlObject_i
00178 {
00179 protected:
00180     RTT::TaskContext* mtask;
00181 
00182     ::RTT::Corba::ScriptingAccess_var mEEFact;
00183     ::RTT::Corba::ServiceInterface_var mService;
00184     ::RTT::Corba::DataFlowInterface_var mDataFlow;
00185 public:
00186   //Constructor
00187   Orocos_ControlTask_i (RTT::TaskContext* orig, PortableServer::POA_ptr the_poa);
00188 
00189   //Destructor
00190   virtual ~Orocos_ControlTask_i (void);
00191 
00192   void shutdownCORBA();
00193 
00194   virtual
00195   ::RTT::Corba::TaskState getTaskState (
00196     )
00197     ACE_THROW_SPEC ((
00198       CORBA::SystemException
00199     ));
00200 
00201   virtual
00202   CORBA::Boolean start (
00203     )
00204     ACE_THROW_SPEC ((
00205       CORBA::SystemException
00206     ));
00207 
00208   virtual
00209   CORBA::Boolean stop (
00210     )
00211     ACE_THROW_SPEC ((
00212       CORBA::SystemException
00213     ));
00214 
00215   virtual
00216   CORBA::Boolean isActive (
00217     )
00218     ACE_THROW_SPEC ((
00219       CORBA::SystemException
00220     ));
00221 
00222   virtual
00223   CORBA::Boolean isRunning (
00224     )
00225     ACE_THROW_SPEC ((
00226       CORBA::SystemException
00227     ));
00228 
00229   virtual
00230   CORBA::Boolean configure (
00231     )
00232     ACE_THROW_SPEC ((
00233       CORBA::SystemException
00234     ));
00235 
00236   virtual
00237   CORBA::Boolean cleanup (
00238     )
00239     ACE_THROW_SPEC ((
00240       CORBA::SystemException
00241     ));
00242 
00243   virtual
00244   CORBA::Boolean resetError (
00245     )
00246     ACE_THROW_SPEC ((
00247       CORBA::SystemException
00248     ));
00249 
00250   virtual
00251   CORBA::Boolean activate (
00252     )
00253     ACE_THROW_SPEC ((
00254       CORBA::SystemException
00255     ));
00256 
00257   virtual
00258   CORBA::Boolean isConfigured (
00259     )
00260     ACE_THROW_SPEC ((
00261       CORBA::SystemException
00262     ));
00263 
00264   virtual
00265   CORBA::Boolean inFatalError (
00266     )
00267     ACE_THROW_SPEC ((
00268       CORBA::SystemException
00269     ));
00270 
00271     virtual
00272   CORBA::Boolean inRunTimeWarning (
00273     )
00274     ACE_THROW_SPEC ((
00275       CORBA::SystemException
00276     ));
00277 
00278     virtual
00279   CORBA::Boolean inRunTimeError (
00280     )
00281     ACE_THROW_SPEC ((
00282       CORBA::SystemException
00283     ));
00284 
00285     virtual
00286   CORBA::Long getWarningCount (
00287     )
00288     ACE_THROW_SPEC ((
00289       CORBA::SystemException
00290     ));
00291 
00292     virtual
00293   CORBA::Long getErrorCount (
00294     )
00295     ACE_THROW_SPEC ((
00296       CORBA::SystemException
00297     ));
00298 
00299 
00300   virtual
00301   ::RTT::Corba::ScriptingAccess_ptr scripting (
00302 
00303     )
00304     ACE_THROW_SPEC ((
00305       CORBA::SystemException
00306     ));
00307 
00308   virtual
00309   ::RTT::Corba::ServiceInterface_ptr services (
00310 
00311     )
00312     ACE_THROW_SPEC ((
00313       CORBA::SystemException
00314     ));
00315 
00316   virtual
00317   ::RTT::Corba::DataFlowInterface_ptr ports (
00318 
00319     )
00320     ACE_THROW_SPEC ((
00321       CORBA::SystemException
00322     ));
00323 
00324 
00325   virtual
00326   ::RTT::Corba::ControlTask::ControlTaskNames * getPeerList (
00327 
00328     )
00329     ACE_THROW_SPEC ((
00330       CORBA::SystemException
00331     ));
00332 
00333   virtual
00334   ::RTT::Corba::ControlTask_ptr getPeer (
00335       const char * name
00336     )
00337     ACE_THROW_SPEC ((
00338       CORBA::SystemException
00339     ));
00340 
00341   virtual
00342   CORBA::Boolean addPeer (
00343       ::RTT::Corba::ControlTask_ptr p,
00344       const char * alias
00345     )
00346     ACE_THROW_SPEC ((
00347       CORBA::SystemException
00348     ));
00349 
00350   virtual
00351   CORBA::Boolean hasPeer (
00352       const char * name
00353     )
00354     ACE_THROW_SPEC ((
00355       CORBA::SystemException
00356     ));
00357 
00358   virtual
00359   CORBA::Boolean removePeer (
00360       const char * name
00361     )
00362     ACE_THROW_SPEC ((
00363       CORBA::SystemException
00364     ));
00365 
00366   virtual
00367   CORBA::Boolean connectPeers (
00368       ::RTT::Corba::ControlTask_ptr p
00369     )
00370     ACE_THROW_SPEC ((
00371       CORBA::SystemException
00372     ));
00373 
00374   virtual
00375   CORBA::Boolean disconnectPeers (
00376       const char * name
00377     )
00378     ACE_THROW_SPEC ((
00379       CORBA::SystemException
00380     ));
00381 
00382   virtual
00383   CORBA::Boolean connectPorts (
00384       ::RTT::Corba::ControlTask_ptr p
00385     )
00386     ACE_THROW_SPEC ((
00387       CORBA::SystemException
00388     ));
00389 
00390 };
00391 
00392 
00393 #endif /* CONTROLTASKI_H_  */
00394 

Generated on Tue Jul 13 11:03:22 2010 for Orocos Real-Time Toolkit by  doxygen 1.6.1