Orocos Real-Time Toolkit
2.5.0
|
00001 /*************************************************************************** 00002 tag: The SourceWorks Tue Sep 7 00:55:18 CEST 2010 OperationInterfaceI.h 00003 00004 OperationInterfaceI.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_OPERATIONREPOSITORYI_H_ 00070 #define ORO_CORBA_OPERATIONREPOSITORYI_H_ 00071 00072 #include "corba.h" 00073 #ifdef CORBA_IS_TAO 00074 #include "OperationInterfaceS.h" 00075 #else 00076 #include "OperationInterfaceC.h" 00077 #endif 00078 #include "../../OperationInterface.hpp" 00079 #include "../../internal/SendHandleC.hpp" 00080 00081 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00082 #pragma once 00083 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00084 00085 class RTT_corba_CSendHandle_i 00086 : public virtual POA_RTT::corba::CSendHandle, 00087 public virtual PortableServer::RefCountServantBase 00088 { 00089 RTT::internal::SendHandleC mhandle, morig; 00090 RTT::OperationInterfacePart* mofp; 00091 std::vector<RTT::base::DataSourceBase::shared_ptr> cargs; 00092 public: 00093 // Constructor 00094 RTT_corba_CSendHandle_i (RTT::internal::SendHandleC const& sh, RTT::OperationInterfacePart* ofp); 00095 00096 // Destructor 00097 virtual ~RTT_corba_CSendHandle_i (void); 00098 00099 virtual 00100 ::RTT::corba::CSendStatus collect ( 00101 ::RTT::corba::CAnyArguments_out args); 00102 00103 virtual 00104 ::RTT::corba::CSendStatus collectIfDone ( 00105 ::RTT::corba::CAnyArguments_out args); 00106 00107 virtual 00108 ::RTT::corba::CSendStatus checkStatus ( 00109 void); 00110 00111 virtual 00112 ::CORBA::Any * ret ( 00113 void); 00114 00115 virtual 00116 void checkArguments ( 00117 const ::RTT::corba::CAnyArguments & args); 00118 00119 virtual 00120 void dispose (); 00121 }; 00122 00123 class RTT_corba_COperationInterface_i 00124 : public virtual POA_RTT::corba::COperationInterface 00125 { 00126 RTT::OperationInterface* mfact; 00127 PortableServer::POA_var mpoa; 00128 public: 00129 //Constructor 00130 RTT_corba_COperationInterface_i(RTT::OperationInterface* mfact, PortableServer::POA_ptr the_poa); 00131 00132 PortableServer::POA_ptr _default_POA(); 00133 00134 // Destructor 00135 virtual ~RTT_corba_COperationInterface_i (void); 00136 00137 virtual 00138 RTT::corba::COperationInterface::COperationList * getOperations ( 00139 void); 00140 00141 virtual 00142 ::RTT::corba::CDescriptions * getArguments ( 00143 const char * operation); 00144 00145 virtual 00146 char * getResultType ( 00147 const char * operation); 00148 00149 virtual 00150 char* getArgumentType( 00151 const char*, 00152 CORBA::UShort); 00153 00154 virtual 00155 char* getCollectType( 00156 const char*, 00157 CORBA::UShort); 00158 00159 virtual ::CORBA::UShort getArity ( 00160 const char * operation); 00161 00162 virtual ::CORBA::UShort getCollectArity ( 00163 const char * operation); 00164 00165 virtual 00166 char * getDescription ( 00167 const char * operation); 00168 00169 virtual 00170 void checkOperation ( 00171 const char * operation, 00172 const ::RTT::corba::CAnyArguments & args); 00173 00174 virtual 00175 ::CORBA::Any * callOperation ( 00176 const char * operation, 00177 ::RTT::corba::CAnyArguments & args); 00178 00179 virtual 00180 ::RTT::corba::CSendHandle_ptr sendOperation ( 00181 const char * operation, 00182 const ::RTT::corba::CAnyArguments & args); 00183 }; 00184 00185 00186 #endif /* OPERATIONREPOSITORYI_H_ */ 00187