Orocos Real-Time Toolkit
2.5.0
|
00001 /*************************************************************************** 00002 tag: The SourceWorks Tue Sep 7 00:55:18 CEST 2010 ServiceRequesterI.h 00003 00004 ServiceRequesterI.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_SERVICEREQUESTERI_H_ 00070 #define ORO_CORBA_SERVICEREQUESTERI_H_ 00071 00072 #include "corba.h" 00073 #ifdef CORBA_IS_TAO 00074 #include "ServiceRequesterS.h" 00075 #else 00076 #include "ServiceRequesterC.h" 00077 #endif 00078 00079 #include "../../ServiceRequester.hpp" 00080 #include <map> 00081 00082 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00083 #pragma once 00084 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00085 00086 class RTT_corba_CServiceRequester_i 00087 : public virtual POA_RTT::corba::CServiceRequester, public virtual PortableServer::RefCountServantBase 00088 { 00089 protected: 00090 RTT::ServiceRequester* mservice; 00091 std::map<std::string, std::pair<RTT::corba::CServiceRequester_var, PortableServer::ServantBase_var> > mrequests; 00092 PortableServer::POA_var mpoa; 00093 public: 00094 // Constructor 00095 RTT_corba_CServiceRequester_i (RTT::ServiceRequester* service, PortableServer::POA_ptr poa); 00096 00097 // Destructor 00098 virtual ~RTT_corba_CServiceRequester_i (void); 00099 00100 virtual RTT::corba::CServiceRequester_ptr activate_this() { 00101 PortableServer::ObjectId_var oid = mpoa->activate_object(this); // ref count=2 00102 //_remove_ref(); // ref count=1 00103 return _this(); 00104 } 00105 00106 virtual 00107 char * getRequestName ( 00108 void); 00109 00110 virtual 00111 ::RTT::corba::CRequestNames * getRequestNames ( 00112 void); 00113 00114 virtual 00115 ::RTT::corba::COperationCallerNames * getOperationCallerNames ( 00116 void); 00117 00118 virtual 00119 ::RTT::corba::CServiceRequester_ptr getRequest ( 00120 const char * name); 00121 00122 virtual 00123 ::CORBA::Boolean hasRequest ( 00124 const char * name); 00125 00126 virtual 00127 ::CORBA::Boolean connectTo ( 00128 ::RTT::corba::CService_ptr svc); 00129 00130 virtual 00131 ::CORBA::Boolean connectCallerTo ( 00132 const char * name, 00133 ::RTT::corba::CService_ptr svc); 00134 00135 virtual 00136 ::CORBA::Boolean disconnectCaller ( 00137 const char * name); 00138 00139 virtual 00140 ::CORBA::Boolean callerReady ( 00141 const char * name); 00142 00143 virtual 00144 ::CORBA::Boolean ready ( 00145 void); 00146 00147 virtual 00148 void disconnect ( 00149 void); 00150 }; 00151 00152 00153 #endif /* SERVICEREQUESTERI_H_ */ 00154