Public Member Functions

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.

  {
    TAO::Arg_Traits<CORBA::Object>::ret_val _tao_retval;

    TAO::Argument *_tao_signature [] =
      {
        &_tao_retval
      };

    TAO::Invocation_Adapter _tao_call (target,
                                       _tao_signature,
                                       1,
                                       "_component",
                                       10,
                                       0);

    _tao_call.invoke (0, 0);

    return _tao_retval.retn ();
  }

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.

  {
    TAO_IFR_Client_Adapter *adapter =
      ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
        TAO_ORB_Core::ifr_client_adapter_name ()
      );

  if (adapter == 0)
    {
      throw ::CORBA::INTF_REPOS ();
    }

  return adapter->get_interface_remote (target);
  }

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.

  {
    TAO::Arg_Traits<ACE_InputCDR::to_boolean>::ret_val _tao_retval;
    TAO::Arg_Traits<char *>::in_arg_val _tao_id (type_id);

    TAO::Argument *_tao_signature [] =
      {
        &_tao_retval,
        &_tao_id
      };

    TAO::Invocation_Adapter tao_call (target,
                                      _tao_signature,
                                      2,
                                      "_is_a",
                                      5,
                                      0);

    tao_call.invoke (0, 0);

    return _tao_retval.retn ();
  }

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.

  {
    TAO::Arg_Traits<ACE_InputCDR::to_boolean>::ret_val _tao_retval;

    TAO::Argument *_tao_signature [] =
      {
        &_tao_retval
      };

    TAO::Invocation_Adapter _tao_call (target,
                                       _tao_signature,
                                       1,
                                       "_non_existent",
                                       13,
                                       0);

    _tao_call.invoke (0, 0);

    return _tao_retval.retn ();
  }

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.

  {
    TAO::Arg_Traits< ::CORBA::Char *>::ret_val _tao_retval;

    TAO::Argument *_tao_signature [] =
      {
        &_tao_retval
      };

    TAO::Invocation_Adapter _tao_call (target,
                                       _tao_signature,
                                       1,
                                       "_repository_id",
                                       14,
                                       0);

    _tao_call.invoke (0, 0);

    return _tao_retval.retn ();
  }


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines