Stub.cpp File Reference

#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"
Include dependency graph for Stub.cpp:

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

Function Documentation

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 }

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on Sun Nov 22 23:25:29 2009 for TAO by  doxygen 1.6.1