#include <Remote_Object_Proxy_Broker.h>
Inheritance diagram for TAO::Remote_Object_Proxy_Broker:
Public Member Functions | |
virtual CORBA::Boolean | _is_a (CORBA::Object_ptr target, const char *logical_type_id) |
virtual CORBA::Boolean | _non_existent (CORBA::Object_ptr target) |
virtual CORBA::InterfaceDef * | _get_interface (CORBA::Object_ptr target) |
virtual CORBA::Object_ptr | _get_component (CORBA::Object_ptr target) |
virtual char * | _repository_id (CORBA::Object_ptr target) |
A broker for standard CORBA::Object calls that needs to be made on remote objects.
Definition at line 42 of file Remote_Object_Proxy_Broker.h.
CORBA::Object_ptr TAO::Remote_Object_Proxy_Broker::_get_component | ( | CORBA::Object_ptr | target | ) | [virtual] |
Implements TAO::Object_Proxy_Broker.
Definition at line 71 of file Remote_Object_Proxy_Broker.cpp.
00072 { 00073 TAO::Arg_Traits<CORBA::Object>::ret_val _tao_retval; 00074 00075 TAO::Argument *_tao_signature [] = 00076 { 00077 &_tao_retval 00078 }; 00079 00080 TAO::Invocation_Adapter _tao_call (target, 00081 _tao_signature, 00082 1, 00083 "_component", 00084 10, 00085 0); 00086 00087 _tao_call.invoke (0, 0); 00088 00089 return _tao_retval.retn (); 00090 }
CORBA::InterfaceDef_ptr TAO::Remote_Object_Proxy_Broker::_get_interface | ( | CORBA::Object_ptr | target | ) | [virtual] |
Implements TAO::Object_Proxy_Broker.
Definition at line 93 of file Remote_Object_Proxy_Broker.cpp.
References TAO_IFR_Client_Adapter::get_interface_remote(), TAO_ORB_Core::ifr_client_adapter_name(), and ACE_Dynamic_Service< TYPE >::instance().
00094 { 00095 TAO_IFR_Client_Adapter *adapter = 00096 ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance ( 00097 TAO_ORB_Core::ifr_client_adapter_name () 00098 ); 00099 00100 if (adapter == 0) 00101 { 00102 throw ::CORBA::INTF_REPOS (); 00103 } 00104 00105 return adapter->get_interface_remote (target); 00106 }
CORBA::Boolean TAO::Remote_Object_Proxy_Broker::_is_a | ( | CORBA::Object_ptr | target, | |
const char * | logical_type_id | |||
) | [virtual] |
Please see the documentation in Object_Proxy_Broker.h for details.
Implements TAO::Object_Proxy_Broker.
Definition at line 22 of file Remote_Object_Proxy_Broker.cpp.
00024 { 00025 TAO::Arg_Traits<ACE_InputCDR::to_boolean>::ret_val _tao_retval; 00026 TAO::Arg_Traits<char *>::in_arg_val _tao_id (type_id); 00027 00028 TAO::Argument *_tao_signature [] = 00029 { 00030 &_tao_retval, 00031 &_tao_id 00032 }; 00033 00034 TAO::Invocation_Adapter tao_call (target, 00035 _tao_signature, 00036 2, 00037 "_is_a", 00038 5, 00039 0); 00040 00041 tao_call.invoke (0, 0); 00042 00043 return _tao_retval.retn (); 00044 }
CORBA::Boolean TAO::Remote_Object_Proxy_Broker::_non_existent | ( | CORBA::Object_ptr | target | ) | [virtual] |
Implements TAO::Object_Proxy_Broker.
Definition at line 49 of file Remote_Object_Proxy_Broker.cpp.
00050 { 00051 TAO::Arg_Traits<ACE_InputCDR::to_boolean>::ret_val _tao_retval; 00052 00053 TAO::Argument *_tao_signature [] = 00054 { 00055 &_tao_retval 00056 }; 00057 00058 TAO::Invocation_Adapter _tao_call (target, 00059 _tao_signature, 00060 1, 00061 "_non_existent", 00062 13, 00063 0); 00064 00065 _tao_call.invoke (0, 0); 00066 00067 return _tao_retval.retn (); 00068 }
char * TAO::Remote_Object_Proxy_Broker::_repository_id | ( | CORBA::Object_ptr | target | ) | [virtual] |
Implements TAO::Object_Proxy_Broker.
Definition at line 109 of file Remote_Object_Proxy_Broker.cpp.
00110 { 00111 TAO::Arg_Traits< ::CORBA::Char *>::ret_val _tao_retval; 00112 00113 TAO::Argument *_tao_signature [] = 00114 { 00115 &_tao_retval 00116 }; 00117 00118 TAO::Invocation_Adapter _tao_call (target, 00119 _tao_signature, 00120 1, 00121 "_repository_id", 00122 14, 00123 0); 00124 00125 _tao_call.invoke (0, 0); 00126 00127 return _tao_retval.retn (); 00128 }