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 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   }


The documentation for this class was generated from the following files:
Generated on Tue Feb 2 17:39:18 2010 for TAO by  doxygen 1.4.7