Updated logging to include the class/method so that it is more obvious where these...
[ACE_TAO.git] / TAO / tao / PortableServer / Regular_POA.cpp
blobe47ea8010a68dcbee5e50103c67167e7ad3a7234
1 #include "tao/PortableServer/Regular_POA.h"
3 #if !defined (__ACE_INLINE__)
4 # include "tao/PortableServer/Regular_POA.inl"
5 #endif /* ! __ACE_INLINE__ */
7 #if !defined (CORBA_E_MICRO)
9 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
11 TAO_Regular_POA::TAO_Regular_POA (const TAO_Root_POA::String &name,
12 PortableServer::POAManager_ptr poa_manager,
13 const TAO_POA_Policy_Set &policies,
14 TAO_Root_POA *parent,
15 ACE_Lock &lock,
16 TAO_SYNCH_MUTEX &thread_lock,
17 TAO_ORB_Core &orb_core,
18 TAO_Object_Adapter *object_adapter)
19 : TAO_Root_POA (name,
20 poa_manager,
21 policies,
22 parent,
23 lock,
24 thread_lock,
25 orb_core,
26 object_adapter),
27 parent_ (parent)
31 TAO_Regular_POA::~TAO_Regular_POA ()
35 void
36 TAO_Regular_POA::remove_from_parent_i ()
38 // Remove POA from the parent
39 if (this->parent_ != 0)
41 int const result = this->parent_->delete_child (this->name_);
42 if (result != 0)
44 throw ::CORBA::OBJ_ADAPTER ();
49 CORBA::Boolean
50 TAO_Regular_POA::root () const
52 return (parent_ == 0);
55 char
56 TAO_Regular_POA::root_key_type ()
58 if (this->parent_ != 0)
60 return TAO_Root_POA::non_root_key_char ();
62 else
64 return TAO_Root_POA::root_key_type ();
68 TAO_END_VERSIONED_NAMESPACE_DECL
70 #endif