Public Types | Static Public Member Functions

TAO::AbstractBase_Narrow_Utils< T > Class Template Reference

#include <AbstractBase_T.h>

List of all members.

Public Types

typedef T * T_ptr

Static Public Member Functions

static T_ptr narrow (CORBA::AbstractBase_ptr, const char *repo_id, Proxy_Broker_Factory)
static T_ptr unchecked_narrow (CORBA::AbstractBase_ptr, Proxy_Broker_Factory)
static T_ptr unchecked_narrow (CORBA::AbstractBase_ptr, const char *repo_id, Proxy_Broker_Factory)

Detailed Description

template<typename T>
class TAO::AbstractBase_Narrow_Utils< T >

Definition at line 34 of file AbstractBase_T.h.


Member Typedef Documentation

template<typename T >
typedef T* TAO::AbstractBase_Narrow_Utils< T >::T_ptr

Definition at line 37 of file AbstractBase_T.h.


Member Function Documentation

template<typename T >
T * TAO::AbstractBase_Narrow_Utils< T >::narrow ( CORBA::AbstractBase_ptr  obj,
const char *  repo_id,
Proxy_Broker_Factory  pbf 
) [static]

Definition at line 9 of file AbstractBase_T.cpp.

{
  template<typename T> T *
  AbstractBase_Narrow_Utils<T>::narrow (
      CORBA::AbstractBase_ptr obj,
      const char *repo_id,
      Proxy_Broker_Factory pbf
      )
  {
    if (CORBA::is_nil (obj))
      {
        return T::_nil ();
      }

    CORBA::Boolean const is_it =
      obj->_is_a (
          repo_id

        );

    if (is_it == false)
      {
        return T::_nil ();
      }

template<typename T >
T * TAO::AbstractBase_Narrow_Utils< T >::unchecked_narrow ( CORBA::AbstractBase_ptr  obj,
const char *  repo_id,
Proxy_Broker_Factory  pbf 
) [static]

Definition at line 66 of file AbstractBase_T.cpp.

  {
    if (CORBA::is_nil (obj))
      {
        return T::_nil ();
      }

    T_ptr proxy = T::_nil ();

    if (obj->_is_objref ())
      {
        TAO_Stub* stub = obj->_stubobj ();

        bool const collocated =
          !CORBA::is_nil (stub->servant_orb_var ().in ())
          && stub->optimize_collocation_objects ()
          && obj->_is_collocated ()
          && pbf != 0;

        ACE_NEW_THROW_EX (proxy,
                          T (obj->_stubobj (),
                             collocated ? 1 : 0,
                             obj->_servant ()),
                          CORBA::NO_MEMORY ());
      }
    else
      {
        proxy = dynamic_cast<T *> (obj);

template<typename T >
T * TAO::AbstractBase_Narrow_Utils< T >::unchecked_narrow ( CORBA::AbstractBase_ptr  obj,
Proxy_Broker_Factory  pbf 
) [static]

Definition at line 39 of file AbstractBase_T.cpp.

  {
    T *proxy = 0;


    try
      {
        proxy =
          AbstractBase_Narrow_Utils<T>::unchecked_narrow (
              obj,
              0,
              pbf
             );

      }
    catch (const ::CORBA::Exception&)
      {


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