#include "tao/Stub.h"#include "tao/Profile.h"#include "tao/ORB_Core.h"#include "tao/Client_Strategy_Factory.h"#include "tao/Remote_Object_Proxy_Broker.h"#include "tao/Transport_Queueing_Strategies.h"#include "tao/debug.h"#include "tao/Policy_Manager.h"#include "tao/Policy_Set.h"#include "tao/SystemException.h"#include "tao/CDR.h"#include "ace/Auto_Ptr.h"#include "ace/CORBA_macros.h"
Go to the source code of this file.
Functions | |
| ACE_RCSID (tao, TAO_Stub,"$Id: Stub.cpp 86232 2009-07-24 21:52:20Z dai_y $") 1 TAO_Stub | |
| ACE_RCSID | ( | tao | , | |
| TAO_Stub | , | |||
| "$Id: Stub.cpp 86232 2009-07-24 21:52:20Z dai_y $" | ||||
| ) |
Definition at line 30 of file Stub.cpp.
00032 : Stub.cpp 86232 2009-07-24 21:52:20Z dai_y $") 00033 00034 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00035 00036 TAO_Stub::TAO_Stub (const char *repository_id, 00037 const TAO_MProfile &profiles, 00038 TAO_ORB_Core *orb_core) 00039 : type_id (repository_id) 00040 , orb_core_ (orb_core) 00041 , orb_ () 00042 , is_collocated_ (false) 00043 , servant_orb_ () 00044 , collocated_servant_ (0) 00045 , object_proxy_broker_ (the_tao_remote_object_proxy_broker ()) 00046 , base_profiles_ ((CORBA::ULong) 0) 00047 , forward_profiles_ (0) 00048 , forward_profiles_perm_ (0) 00049 , profile_in_use_ (0) 00050 , profile_lock_ptr_ (0) 00051 , profile_success_ (false) 00052 , refcount_ (1) 00053 #if (TAO_HAS_CORBA_MESSAGING == 1) 00054 , policies_ (0) 00055 #endif 00056 , ior_info_ (0) 00057 , forwarded_ior_info_ (0) 00058 , collocation_opt_ (orb_core->optimize_collocation_objects ()) 00059 , forwarded_on_exception_ (false) 00060 { 00061 if (this->orb_core_.get() == 0) 00062 { 00063 if (TAO_debug_level > 0) 00064 { 00065 ACE_DEBUG ((LM_DEBUG, 00066 ACE_TEXT ("TAO: (%P|%t) TAO_Stub created with default ") 00067 ACE_TEXT ("ORB core\n"))); 00068 } 00069 00070 this->orb_core_.reset (TAO_ORB_Core_instance ()); 00071 } 00072 00073 // Duplicate the ORB_Core, otherwise the allocators and other 00074 // resources that this class references (directly or indirectly) 00075 // could be destroyed before it is time. 00076 (void) this->orb_core_->_incr_refcnt (); 00077 00078 // Cache the ORB pointer to respond faster to certain queries. 00079 this->orb_ = CORBA::ORB::_duplicate (this->orb_core_->orb ()); 00080 00081 this->profile_lock_ptr_ = 00082 this->orb_core_->client_factory ()->create_profile_lock (); 00083 00084 this->base_profiles (profiles); 00085 }
1.6.1