Go to the documentation of this file.00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 
00029 
00030 
00031 
00032 
00033 
00034 
00035 
00036 
00037 
00038 
00039 
00040 
00041 
00042 
00043 
00044 
00045 
00046 
00047 
00048 
00049 
00050 
00051 
00052 
00053 
00054 
00055 
00056 
00057 
00058 
00059 
00060 
00061 
00062 
00063 
00064 
00065 
00066 
00067 
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 
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   
00095     RTT_corba_CServiceRequester_i (RTT::ServiceRequester* service, PortableServer::POA_ptr poa);
00096   
00097   
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); 
00102       
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 
00154