Orocos Real-Time Toolkit  2.6.0
TaskContextI.h
00001 /***************************************************************************
00002   tag: The SourceWorks  Tue Sep 7 00:55:18 CEST 2010  TaskContextI.h
00003 
00004                         TaskContextI.h -  description
00005                            -------------------
00006     begin                : Tue September 07 2010
00007     copyright            : (C) 2010 The SourceWorks
00008     email                : peter@thesourceworks.com
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 // ../../../ACE_wrappers/TAO/TAO_IDL/be/be_codegen.cpp:1133
00068 
00069 #ifndef ORO_CORBA_TASKCONTEXTI_H_
00070 #define ORO_CORBA_TASKCONTEXTI_H_
00071 
00072 #include "corba.h"
00073 #ifdef CORBA_IS_TAO
00074 #include "TaskContextS.h"
00075 #else
00076 #include "TaskContextC.h"
00077 #endif
00078 
00079 #include "ServiceC.h"
00080 #include "ServiceRequesterC.h"
00081 #include "DataFlowC.h"
00082 #include "../../TaskContext.hpp"
00083 
00084 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00085 #pragma once
00086 #endif /* ACE_LACKS_PRAGMA_ONCE */
00087 
00088 class  RTT_corba_CTaskContext_i
00089   : public virtual POA_RTT::corba::CTaskContext, public virtual PortableServer::RefCountServantBase
00090 {
00091 protected:
00092     PortableServer::POA_var mpoa;
00093     RTT::TaskContext* mtask;
00094 
00095     RTT::corba::CService_var mService;
00096     RTT::corba::CServiceRequester_var mRequest;
00097 
00098     PortableServer::ServantBase_var mRequest_i;
00099     PortableServer::ServantBase_var mService_i;
00100 
00101 public:
00102   // Constructor
00103   RTT_corba_CTaskContext_i (RTT::TaskContext* orig, PortableServer::POA_ptr the_poa);
00104 
00105   // Destructor
00106   virtual ~RTT_corba_CTaskContext_i (void);
00107 
00108   virtual RTT::corba::CTaskContext_ptr activate_this() {
00109       PortableServer::ObjectId_var oid = mpoa->activate_object(this); // ref count=2
00110       //_remove_ref(); // ref count=1
00111       return _this();
00112   }
00113 
00114   void shutdownCORBA();
00115 
00116   virtual
00117   char * getName (
00118       void);
00119 
00120   virtual
00121   char * getDescription (
00122       void);
00123 
00124   virtual
00125   ::RTT::corba::CTaskState getTaskState (
00126       void);
00127 
00128   virtual
00129   ::CORBA::Boolean configure (
00130       void);
00131 
00132   virtual
00133   ::CORBA::Boolean start (
00134       void);
00135 
00136   virtual
00137   ::CORBA::Boolean activate (
00138       void);
00139 
00140   virtual
00141   ::CORBA::Boolean stop (
00142       void);
00143 
00144   virtual
00145   ::CORBA::Boolean cleanup (
00146       void);
00147 
00148   virtual
00149   ::CORBA::Boolean resetException(
00150       void);
00151 
00152   virtual
00153   ::CORBA::Boolean isActive (
00154       void);
00155 
00156   virtual
00157   ::CORBA::Boolean isRunning (
00158       void);
00159 
00160   virtual
00161   ::CORBA::Boolean isConfigured (
00162       void);
00163 
00164   virtual
00165   ::CORBA::Boolean inFatalError (
00166       void);
00167 
00168   virtual
00169   ::CORBA::Boolean inRunTimeError (
00170       void);
00171 
00172   virtual
00173   ::RTT::corba::CDataFlowInterface_ptr ports (
00174       void);
00175 
00176   virtual
00177   ::RTT::corba::CService_ptr getProvider (
00178       const char * service_name);
00179 
00180   virtual
00181   ::RTT::corba::CServiceRequester_ptr getRequester (
00182       const char * service_name);
00183 
00184   virtual
00185   ::RTT::corba::CTaskContext::CPeerNames * getPeerList (
00186       void);
00187 
00188   virtual
00189   ::RTT::corba::CTaskContext_ptr getPeer (
00190       const char * name);
00191 
00192   virtual
00193   ::CORBA::Boolean hasPeer (
00194       const char * name);
00195 
00196   virtual
00197   ::CORBA::Boolean addPeer (
00198       ::RTT::corba::CTaskContext_ptr p,
00199       const char * alias);
00200 
00201   virtual
00202   ::CORBA::Boolean removePeer (
00203       const char * name);
00204 
00205   virtual
00206   ::CORBA::Boolean connectPeers (
00207       ::RTT::corba::CTaskContext_ptr p);
00208 
00209   virtual
00210   ::CORBA::Boolean disconnectPeers (
00211       const char * name);
00212 
00213   virtual
00214   ::CORBA::Boolean connectPorts (
00215       ::RTT::corba::CTaskContext_ptr p);
00216 
00217   virtual
00218   ::CORBA::Boolean connectServices (
00219       ::RTT::corba::CTaskContext_ptr p);
00220 };
00221 
00222 
00223 #endif /* TASKCONTEXTI_H_  */
00224