#include <Current_ORBInitializer_Base.h>
Inheritance diagram for TAO::Transport::Current_ORBInitializer_Base:
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_ |
Definition at line 37 of file Current_ORBInitializer_Base.h.
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] |
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] |
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 }
const ACE_TString TAO::Transport::Current_ORBInitializer_Base::id_ [protected] |
Definition at line 53 of file Current_ORBInitializer_Base.h.