Public Member Functions | Protected Member Functions | Protected Attributes

TAO::Transport::Current_ORBInitializer_Base Class Reference

#include <Current_ORBInitializer_Base.h>

Inheritance diagram for TAO::Transport::Current_ORBInitializer_Base:
Inheritance graph
[legend]
Collaboration diagram for TAO::Transport::Current_ORBInitializer_Base:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 Current_ORBInitializer_Base (const ACE_TCHAR *id)
virtual ~Current_ORBInitializer_Base (void)
virtual void pre_init (PortableInterceptor::ORBInitInfo_ptr)
virtual void post_init (PortableInterceptor::ORBInitInfo_ptr info)

Protected Member Functions

virtual TAO::Transport::Current_ptr make_current_instance (TAO_ORB_Core *core, size_t tss_slot_id)=0

Protected Attributes

const ACE_TString id_

Detailed Description

Definition at line 37 of file Current_ORBInitializer_Base.h.


Constructor & Destructor Documentation

TAO::Transport::Current_ORBInitializer_Base::Current_ORBInitializer_Base ( const ACE_TCHAR id  ) 

Definition at line 14 of file Current_ORBInitializer_Base.cpp.

      : id_ (id)
    {
      // do nothing
    }

TAO::Transport::Current_ORBInitializer_Base::~Current_ORBInitializer_Base ( void   )  [virtual]

Definition at line 20 of file Current_ORBInitializer_Base.cpp.

    {
      // do nothing
    }


Member Function Documentation

virtual TAO::Transport::Current_ptr TAO::Transport::Current_ORBInitializer_Base::make_current_instance ( TAO_ORB_Core core,
size_t  tss_slot_id 
) [protected, pure virtual]
void TAO::Transport::Current_ORBInitializer_Base::post_init ( PortableInterceptor::ORBInitInfo_ptr  info  )  [virtual]

Definition at line 58 of file Current_ORBInitializer_Base.cpp.

    {
      // do nothing
    }

void TAO::Transport::Current_ORBInitializer_Base::pre_init ( PortableInterceptor::ORBInitInfo_ptr  info  )  [virtual]

Definition at line 27 of file Current_ORBInitializer_Base.cpp.

    {
      // Narrow to a TAO_ORBInitInfo object to get access to the
      // allocate_tss_slot_id() TAO extension.
      TAO_ORBInitInfo_var tao_info =
        TAO_ORBInitInfo::_narrow (info);

      if (CORBA::is_nil (tao_info.in ()))
        {
          if (TAO_debug_level > 0)
            ACE_ERROR ((LM_ERROR,
                        "TAO (%P|%t) TAO::Transport::ORBInitializer::pre_init - "
                        "Panic: unable to narrow the ORBInitInfo_ptr\n"));

          throw ::CORBA::INTERNAL ();
        }

      // Reserve a TSS slot in the ORB core internal TSS resources for the
      // thread-specific portion of the Current object.
      size_t tss_slot = tao_info->allocate_tss_slot_id (0);

      // Create the Current
      Current_var current (this->make_current_instance (tao_info->orb_core (),
                                                        tss_slot));

      info->register_initial_reference (ACE_TEXT_ALWAYS_CHAR (this->id_.fast_rep ()),
                                        current.in ());
    }


Member Data Documentation

const ACE_TString TAO::Transport::Current_ORBInitializer_Base::id_ [protected]

Definition at line 53 of file Current_ORBInitializer_Base.h.


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