#include <Naming_Client.h>
Public Member Functions | |
TAO_Naming_Client (void) | |
Default constructor. | |
int | init (CORBA::ORB_ptr orb, ACE_Time_Value *timeout=0) |
~TAO_Naming_Client (void) | |
Destructor. | |
CosNaming::NamingContext_ptr | operator-> (void) const |
Returns a pointer to the root Naming Context. | |
CosNaming::NamingContext_ptr | get_context (void) const |
Protected Attributes | |
CosNaming::NamingContext_var | naming_context_ |
Reference to the root Naming Context. |
Wrapper class that locates the root Naming Context. It also defines the operator-> so that <NamingContext> functions like <resolve>, etc. can be directly called on a <TAO_Naming_Client> object, and will be forwarded to the root Naming Context.
Definition at line 41 of file Naming_Client.h.
TAO_Naming_Client::TAO_Naming_Client | ( | void | ) |
TAO_Naming_Client::~TAO_Naming_Client | ( | void | ) |
CosNaming::NamingContext_ptr TAO_Naming_Client::get_context | ( | void | ) | const |
Returns a pointer to the root Naming Context. This ptr is duplicated via <_duplicate> so that it can be stored into a <*_var>.
Definition at line 20 of file Naming_Client.cpp.
00021 { 00022 // Must duplicate this pointer so it can be stored in a _var. 00023 return CosNaming::NamingContext::_duplicate (this->naming_context_.in ()); 00024 }
int TAO_Naming_Client::init | ( | CORBA::ORB_ptr | orb, | |
ACE_Time_Value * | timeout = 0 | |||
) |
Look for a Naming Service for a period of timeout using resolve_initial_references
. Return 0 if Naming Service is successfully located, and -1 on failure.
Definition at line 27 of file Naming_Client.cpp.
References CORBA::Exception::_tao_print_exception(), ACE_ERROR_RETURN, TAO_Pseudo_Var_T< T >::in(), CORBA::is_nil(), LM_ERROR, naming_context_, and CORBA::ORB::resolve_initial_references().
00028 { 00029 try 00030 { 00031 CORBA::Object_var naming_obj = 00032 orb->resolve_initial_references ("NameService", timeout); 00033 00034 if (CORBA::is_nil (naming_obj.in ())) 00035 ACE_ERROR_RETURN ((LM_ERROR, 00036 " (%P|%t) Unable to initialize the NameService.\n"), 00037 -1); 00038 this->naming_context_ = 00039 CosNaming::NamingContext::_narrow (naming_obj.in ()); 00040 } 00041 catch (const CORBA::Exception& ex) 00042 { 00043 ex._tao_print_exception ("TAO_Naming_Client::init"); 00044 return -1; 00045 } 00046 00047 return 0; 00048 }
TAO_BEGIN_VERSIONED_NAMESPACE_DECL CosNaming::NamingContext_ptr TAO_Naming_Client::operator-> | ( | void | ) | const |
Returns a pointer to the root Naming Context.
Definition at line 14 of file Naming_Client.cpp.
00015 { 00016 return this->naming_context_.ptr (); 00017 }
CosNaming::NamingContext_var TAO_Naming_Client::naming_context_ [protected] |
Reference to the root Naming Context.
Definition at line 71 of file Naming_Client.h.
Referenced by init().