TAO::Remote_Object_Proxy_Broker Class Reference

Remote_Object_Proxy_Broker. More...

#include <Remote_Object_Proxy_Broker.h>

Inheritance diagram for TAO::Remote_Object_Proxy_Broker:

Inheritance graph
[legend]
Collaboration diagram for TAO::Remote_Object_Proxy_Broker:

Collaboration graph
[legend]
List of all members.

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)

Detailed Description

Remote_Object_Proxy_Broker.

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.


Member Function Documentation

CORBA::Object_ptr TAO::Remote_Object_Proxy_Broker::_get_component CORBA::Object_ptr  target  )  [virtual]
 

Implements TAO::Object_Proxy_Broker.

Definition at line 75 of file Remote_Object_Proxy_Broker.cpp.

References ACE_CHECK_RETURN, ACE_ENV_ARG_PARAMETER, TAO::Invocation_Adapter::invoke(), and CORBA::Object_ptr.

00077   {
00078     TAO::Arg_Traits<CORBA::Object>::ret_val _tao_retval;
00079 
00080     TAO::Argument *_tao_signature [] =
00081       {
00082         &_tao_retval
00083       };
00084 
00085     TAO::Invocation_Adapter _tao_call (target,
00086                                        _tao_signature,
00087                                        1,
00088                                        "_component",
00089                                        10,
00090                                        0);
00091 
00092     _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
00093     ACE_CHECK_RETURN (_tao_retval.excp ());
00094 
00095     return _tao_retval.retn ();
00096   }

CORBA::InterfaceDef_ptr TAO::Remote_Object_Proxy_Broker::_get_interface CORBA::Object_ptr  target  )  [virtual]
 

Implements TAO::Object_Proxy_Broker.

Definition at line 99 of file Remote_Object_Proxy_Broker.cpp.

References ACE_ENV_ARG_PARAMETER, ACE_THROW_RETURN, TAO_IFR_Client_Adapter::get_interface_remote(), ACE_Dynamic_Service< TYPE >::instance(), and CORBA::Object_ptr.

00101   {
00102     TAO_IFR_Client_Adapter *adapter =
00103       ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
00104         TAO_ORB_Core::ifr_client_adapter_name ()
00105       );
00106 
00107   if (adapter == 0)
00108     {
00109       ACE_THROW_RETURN (CORBA::INTF_REPOS (),
00110                         0);
00111     }
00112 
00113   return adapter->get_interface_remote (target
00114                                         ACE_ENV_ARG_PARAMETER);
00115   }

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.

References ACE_CHECK_RETURN, ACE_ENV_ARG_PARAMETER, TAO::Invocation_Adapter::invoke(), and CORBA::Object_ptr.

00025   {
00026     TAO::Arg_Traits<ACE_InputCDR::to_boolean>::ret_val _tao_retval;
00027     TAO::Arg_Traits<char *>::in_arg_val _tao_id (type_id);
00028 
00029     TAO::Argument *_tao_signature [] =
00030       {
00031         &_tao_retval,
00032         &_tao_id
00033       };
00034 
00035     TAO::Invocation_Adapter tao_call (target,
00036                                       _tao_signature,
00037                                       2,
00038                                       "_is_a",
00039                                       5,
00040                                       0);
00041 
00042     tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
00043     ACE_CHECK_RETURN (_tao_retval.excp ());
00044 
00045     return _tao_retval.retn ();
00046   }

CORBA::Boolean TAO::Remote_Object_Proxy_Broker::_non_existent CORBA::Object_ptr  target  )  [virtual]
 

Implements TAO::Object_Proxy_Broker.

Definition at line 51 of file Remote_Object_Proxy_Broker.cpp.

References ACE_CHECK_RETURN, ACE_ENV_ARG_PARAMETER, TAO::Invocation_Adapter::invoke(), and CORBA::Object_ptr.

00053   {
00054     TAO::Arg_Traits<ACE_InputCDR::to_boolean>::ret_val _tao_retval;
00055 
00056     TAO::Argument *_tao_signature [] =
00057       {
00058         &_tao_retval
00059       };
00060 
00061     TAO::Invocation_Adapter _tao_call (target,
00062                                        _tao_signature,
00063                                        1,
00064                                        "_non_existent",
00065                                        13,
00066                                        0);
00067 
00068     _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
00069     ACE_CHECK_RETURN (_tao_retval.excp ());
00070 
00071     return _tao_retval.retn ();
00072   }

char * TAO::Remote_Object_Proxy_Broker::_repository_id CORBA::Object_ptr  target  )  [virtual]
 

Implements TAO::Object_Proxy_Broker.

Definition at line 118 of file Remote_Object_Proxy_Broker.cpp.

References ACE_CHECK_RETURN, ACE_ENV_ARG_PARAMETER, TAO::Invocation_Adapter::invoke(), and CORBA::Object_ptr.

00120   {
00121     TAO::Arg_Traits< ::CORBA::Char *>::ret_val _tao_retval;
00122 
00123     TAO::Argument *_tao_signature [] =
00124       {
00125         &_tao_retval
00126       };
00127 
00128     TAO::Invocation_Adapter _tao_call (target,
00129                                        _tao_signature,
00130                                        1,
00131                                        "_repository_id",
00132                                        14,
00133                                        0);
00134 
00135     _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
00136     ACE_CHECK_RETURN (_tao_retval.excp ());
00137 
00138     return _tao_retval.retn ();
00139   }


The documentation for this class was generated from the following files:
Generated on Thu Nov 9 12:26:48 2006 for TAO by doxygen 1.3.6