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.

00015       : id_ (id)
00016     {
00017       // do nothing
00018     }

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

Definition at line 20 of file Current_ORBInitializer_Base.cpp.

00021     {
00022       // do nothing
00023     }


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]

Implemented in TAO::Transport::Current_ORBInitializer< Impl >.

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

Definition at line 58 of file Current_ORBInitializer_Base.cpp.

00060     {
00061       // do nothing
00062     }

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

Definition at line 27 of file Current_ORBInitializer_Base.cpp.

References TAO_ORBInitInfo::_narrow(), ACE_ERROR, ACE_TEXT_ALWAYS_CHAR, TAO_Objref_Var_T< T >::in(), CORBA::is_nil(), LM_ERROR, and TAO_debug_level.

00029     {
00030       // Narrow to a TAO_ORBInitInfo object to get access to the
00031       // allocate_tss_slot_id() TAO extension.
00032       TAO_ORBInitInfo_var tao_info =
00033         TAO_ORBInitInfo::_narrow (info);
00034 
00035       if (CORBA::is_nil (tao_info.in ()))
00036         {
00037           if (TAO_debug_level > 0)
00038             ACE_ERROR ((LM_ERROR,
00039                         "TAO (%P|%t) TAO::Transport::ORBInitializer::pre_init - "
00040                         "Panic: unable to narrow the ORBInitInfo_ptr\n"));
00041 
00042           throw ::CORBA::INTERNAL ();
00043         }
00044 
00045       // Reserve a TSS slot in the ORB core internal TSS resources for the
00046       // thread-specific portion of the Current object.
00047       size_t tss_slot = tao_info->allocate_tss_slot_id (0);
00048 
00049       // Create the Current
00050       Current_var current (this->make_current_instance (tao_info->orb_core (),
00051                                                         tss_slot));
00052 
00053       info->register_initial_reference (ACE_TEXT_ALWAYS_CHAR (this->id_.fast_rep ()),
00054                                         current.in ());
00055     }


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:
Generated on Tue Feb 2 17:42:40 2010 for TAO_TransportCurrent by  doxygen 1.4.7