ACE_Registry::Naming_Context Class Reference

An context representation. More...

#include <Registry.h>

Collaboration diagram for ACE_Registry::Naming_Context:

Collaboration graph
[legend]
List of all members.

Public Types

enum  { MAX_OBJECT_NAME_SIZE = BUFSIZ, MAX_CONTEXT_NAME_SIZE = MAXPATHLEN + 1 }

Public Member Functions

 Naming_Context (void)
 Empty constructor: keys will be NULL.

 Naming_Context (const HKEY &key)
 Constructor: key_ will be set to .

 ~Naming_Context (void)
 Destructor will call <Naming_Context::close>.

int bind_new (const Name &name, const Object &object)
int bind_new (const ACE_TString &name, const Object &object)
int bind (const Name &name, const Object &object)
int bind (const ACE_TString &name, const Object &object)
int rebind (const Name &name, const Object &object)
int rebind (const ACE_TString &name, const Object &object)
 Update with in context.

int resolve (const Name &name, Object &object)
int resolve (const ACE_TString &name, Object &object)
 Find with in context.

int unbind (const Name &name)
int unbind (const ACE_TString &name)
 Delete object with in context.

int new_context (Naming_Context &naming_context)
 Create new naming_context.

int bind_new_context (const Name &name, Naming_Context &naming_context, u_long persistence=REG_OPTION_NON_VOLATILE, u_long security_access=KEY_ALL_ACCESS, LPSECURITY_ATTRIBUTES security_attributes=0)
int bind_new_context (const ACE_TString &name, Naming_Context &naming_context, u_long persistence=REG_OPTION_NON_VOLATILE, u_long security_access=KEY_ALL_ACCESS, LPSECURITY_ATTRIBUTES security_attributes=0)
int bind_context (const Name &name, Naming_Context &naming_context, u_long persistence=REG_OPTION_NON_VOLATILE, u_long security_access=KEY_ALL_ACCESS, LPSECURITY_ATTRIBUTES security_attributes=0)
int bind_context (const ACE_TString &name, Naming_Context &naming_context, u_long persistence=REG_OPTION_NON_VOLATILE, u_long security_access=KEY_ALL_ACCESS, LPSECURITY_ATTRIBUTES security_attributes=0)
int rebind_context (const Name &name, Naming_Context &naming_context)
int rebind_context (const ACE_TString &name, Naming_Context &naming_context)
 Rename to .

int resolve_context (const Name &name, Naming_Context &naming_context, u_long security_access=KEY_ALL_ACCESS)
int resolve_context (const ACE_TString &name, Naming_Context &naming_context, u_long security_access=KEY_ALL_ACCESS)
 Find with in context.

int unbind_context (const Name &name)
int unbind_context (const ACE_TString &name)
 Remove naming_context with from context.

int destroy (void)
 Same as with as naming_context.

int list (u_long how_many, Binding_List &list, Binding_Iterator &iterator)
int list (Binding_List &list)
int flush (void)
 Sync content of context to disk.

int close (void)
HKEY key (void)
 Get key.

HKEY parent (void)
 Get parent.

void name (Name &name)
void name (ACE_TString &name)
 Set name (String version).

ACE_TString name (void)
 Get name (String version).


Protected Member Functions

void key (HKEY key)
 Set key.

void parent (HKEY parent)
 Set parent.

void name (const Name &name)
void name (const ACE_TString &name)

Private Member Functions

 Naming_Context (const Naming_Context &rhs)
 Disallow copy constructors.

const Naming_Context & operator= (const Naming_Context &rhs)
 Disallow assignment.


Private Attributes

HKEY key_
 Key for self.

HKEY parent_key_
 Key for parent.

ACE_TString name_
 Name of self.


Friends

class ACE_Predefined_Naming_Contexts
 Friend factory.


Detailed Description

An context representation.

Think about a context as being similar to a directory in a file system.

Definition at line 178 of file Registry.h.


Member Enumeration Documentation

anonymous enum
 

Enumeration values:
MAX_OBJECT_NAME_SIZE  Max sizes of names (Not too sure about this value)
MAX_CONTEXT_NAME_SIZE  Max size of context name.

Definition at line 184 of file Registry.h.

00184          {
00185       /// Max sizes of names
00186       /// (Not too sure about this value)
00187       MAX_OBJECT_NAME_SIZE = BUFSIZ,
00188 
00189       /// Max size of context name
00190       MAX_CONTEXT_NAME_SIZE = MAXPATHLEN + 1
00191     };


Constructor & Destructor Documentation

ACE_Registry::Naming_Context::Naming_Context (  void   ) 
 

Empty constructor: keys will be NULL.

Definition at line 177 of file Registry.cpp.

00178   : key_ ((HKEY) 0),
00179     parent_key_ ((HKEY) 0),
00180     name_ ()
00181 {
00182 }

ACE_Registry::Naming_Context::Naming_Context (  const HKEY &  key  ) 
 

Constructor: key_ will be set to .

Definition at line 186 of file Registry.cpp.

00187   : key_ (key),
00188     parent_key_ ((HKEY) 0),
00189     name_ ()
00190 {
00191 }

ACE_Registry::Naming_Context::~Naming_Context (  void   ) 
 

Destructor will call <Naming_Context::close>.

Definition at line 216 of file Registry.cpp.

References close().

00217 {
00218   this->close ();
00219 }

ACE_Registry::Naming_Context::Naming_Context (  const Naming_Context &  rhs  )  [private]
 

Disallow copy constructors.

Definition at line 194 of file Registry.cpp.

00195   : key_ (rhs.key_),
00196     parent_key_ (rhs.parent_key_),
00197     name_ (rhs.name_)
00198 {
00199   // This is incorrect.
00200   // Rather than copying key, we should call ::DuplicateHandle()
00201   // But since this is private (and not used), I don't care much
00202 }


Member Function Documentation

int ACE_Registry::Naming_Context::bind (  const ACE_TString &  name,
const Object &  object
) 
 

Insert or update with into context This will not fail if already exists (String version)

Definition at line 264 of file Registry.cpp.

References ACE_REGISTRY_CALL_RETURN, ACE_TString, ACE_String_Base< CHAR >::c_str(), ACE_Registry::Object::data(), ACE_Registry::Object::size(), and ACE_Registry::Object::type().

00266 {
00267   long result = ACE_TEXT_RegSetValueEx (this->key_,
00268                                         name.c_str (),
00269                                         0,
00270                                         object.type (),
00271                                         (const BYTE *) object.data (),
00272                                         object.size ());
00273   ACE_REGISTRY_CALL_RETURN (result);
00274 }

int ACE_Registry::Naming_Context::bind (  const Name &  name,
const Object &  object
) 
 

Insert or update object with name into this context This will not fail if name already exists (Name version)

Definition at line 254 of file Registry.cpp.

References ACE_Registry::make_string(), and ACE_Registry::Name.

Referenced by ACE_Registry_Name_Space::bind(), bind_new(), and rebind().

00256 {
00257   return this->bind (ACE_Registry::make_string (name), object);
00258 }

int ACE_Registry::Naming_Context::bind_context (  const ACE_TString &  name,
Naming_Context &  naming_context,
u_long  persistence = REG_OPTION_NON_VOLATILE,
u_long  security_access = KEY_ALL_ACCESS,
LPSECURITY_ATTRIBUTES  security_attributes = 0
) 
 

Insert or update with relative to context This will not fail if already exists

Definition at line 458 of file Registry.cpp.

References ACE_REGISTRY_CALL_RETURN, ACE_TString, ACE_String_Base< CHAR >::c_str(), key_, name(), and parent().

00463 {
00464   u_long reason;
00465 
00466   long result = ACE_TEXT_RegCreateKeyEx (this->key_,
00467                                          name.c_str (),
00468                                          0,
00469                                          0,
00470                                          persistence,
00471                                          security_access,
00472                                          security_attributes,
00473                                          &naming_context.key_,
00474                                          &reason);
00475   if (result == ERROR_SUCCESS)
00476     {
00477       // Set the correct parent
00478       naming_context.parent (this->key_);
00479       // Set the correct name
00480       naming_context.name (name);
00481     }
00482 
00483   ACE_REGISTRY_CALL_RETURN (result);
00484 }

int ACE_Registry::Naming_Context::bind_context (  const Name &  name,
Naming_Context &  naming_context,
u_long  persistence = REG_OPTION_NON_VOLATILE,
u_long  security_access = KEY_ALL_ACCESS,
LPSECURITY_ATTRIBUTES  security_attributes = 0
) 
 

Insert or update with relative to context This will not fail if already exists (Name version)

Definition at line 441 of file Registry.cpp.

References ACE_Registry::make_string(), and ACE_Registry::Name.

Referenced by ACE_Registry_Name_Space::open().

00446 {
00447   return this->bind_context (ACE_Registry::make_string (name),
00448                              naming_context,
00449                              persistence,
00450                              security_access,
00451                              security_attributes);
00452 }

int ACE_Registry::Naming_Context::bind_new (  const ACE_TString &  name,
const Object &  object
) 
 

Insert object with name into this context This will fail if name already exists (String version)

Definition at line 235 of file Registry.cpp.

References ACE_TString, bind(), and resolve().

00237 {
00238   // temporary object
00239   Object temp;
00240   long result = this->resolve (name, temp);
00241   if (result == 0)
00242     // resolve succeeded
00243     result = -1;
00244   else
00245     // resolve failed
00246     result = this->bind (name, object);
00247   return result;
00248 }

int ACE_Registry::Naming_Context::bind_new (  const Name &  name,
const Object &  object
) 
 

Insert object with name into this context. This will fail if name already exists (Name version)

Definition at line 225 of file Registry.cpp.

References ACE_Registry::make_string(), and ACE_Registry::Name.

00227 {
00228   return this->bind_new (ACE_Registry::make_string (name), object);
00229 }

int ACE_Registry::Naming_Context::bind_new_context (  const ACE_TString &  name,
Naming_Context &  naming_context,
u_long  persistence = REG_OPTION_NON_VOLATILE,
u_long  security_access = KEY_ALL_ACCESS,
LPSECURITY_ATTRIBUTES  security_attributes = 0
) 
 

Insert with relative to context This will fail if already exists

Definition at line 393 of file Registry.cpp.

References ACE_REGISTRY_CALL_RETURN, ACE_TString, ACE_String_Base< CHAR >::c_str(), key_, name(), and parent().

00398 {
00399   u_long reason;
00400 
00401   long result = ACE_TEXT_RegCreateKeyEx (this->key_,
00402                                          name.c_str (),
00403                                          0,
00404                                          0,
00405                                          persistence,
00406                                          security_access,
00407                                          security_attributes,
00408                                          &naming_context.key_,
00409                                          &reason);
00410   if (result == ERROR_SUCCESS)
00411     // If create succeeds
00412     {
00413       if (reason == REG_CREATED_NEW_KEY)
00414         // If new key: success
00415         {
00416           // Set the correct parent
00417           naming_context.parent (this->key_);
00418           // Set the correct name
00419           naming_context.name (name);
00420         }
00421       else
00422         // reason == REG_OPENED_EXISTING_KEY
00423         // Failed to make new key
00424         {
00425           // reset result to failure
00426           result = -1;
00427           // Close the key first
00428           ::RegCloseKey (naming_context.key_);
00429           // Reset key
00430           naming_context.key_ = (HKEY) 0;
00431         }
00432     }
00433 
00434   ACE_REGISTRY_CALL_RETURN (result);
00435 }

int ACE_Registry::Naming_Context::bind_new_context (  const Name &  name,
Naming_Context &  naming_context,
u_long  persistence = REG_OPTION_NON_VOLATILE,
u_long  security_access = KEY_ALL_ACCESS,
LPSECURITY_ATTRIBUTES  security_attributes = 0
) 
 

Insert with relative to context This will fail if already exists (Name version)

Definition at line 376 of file Registry.cpp.

References ACE_Registry::make_string(), and ACE_Registry::Name.

Referenced by rebind_context().

00381 {
00382   return this->bind_new_context (ACE_Registry::make_string (name),
00383                                  naming_context,
00384                                  persistence,
00385                                  security_access,
00386                                  security_attributes);
00387 }

int ACE_Registry::Naming_Context::close (  void   ) 
 

Close the handle of the context

Note:
does not call

Definition at line 605 of file Registry.cpp.

References ACE_REGISTRY_CALL_RETURN.

Referenced by new_context(), and ~Naming_Context().

00606 {
00607   long result = this->key_ ? ::RegCloseKey (this->key_) : ERROR_SUCCESS;
00608   ACE_REGISTRY_CALL_RETURN (result);
00609 }

int ACE_Registry::Naming_Context::destroy (  void   ) 
 

Same as with as naming_context.

Definition at line 584 of file Registry.cpp.

References ACE_REGISTRY_CALL_RETURN.

00585 {
00586   // hopefully the parent_key_ is still open
00587   long result = ACE_TEXT_RegDeleteKey (this->parent_key_,
00588                                                        this->name_.c_str ());
00589 
00590   ACE_REGISTRY_CALL_RETURN (result);
00591 }

int ACE_Registry::Naming_Context::flush (  void   ) 
 

Sync content of context to disk.

Definition at line 596 of file Registry.cpp.

References ACE_REGISTRY_CALL_RETURN.

00597 {
00598   long result = ::RegFlushKey (this->key_);
00599   ACE_REGISTRY_CALL_RETURN (result);
00600 }

void ACE_Registry::Naming_Context::key (  HKEY  key  )  [protected]
 

Set key.

Definition at line 677 of file Registry.cpp.

00678 {
00679   this->key_ = key;
00680 }

HKEY ACE_Registry::Naming_Context::key (  void   ) 
 

Get key.

Definition at line 685 of file Registry.cpp.

00686 {
00687   return this->key_;
00688 }

int ACE_Registry::Naming_Context::list (  Binding_List &  list  ) 
 

listing function: iterator creator This gives back a listing of all entries in context.

Definition at line 785 of file Registry.cpp.

References ACE_Registry::Binding_List, ACE_Registry::Binding_Iterator::current_enumeration(), ACE_Unbounded_Set< T >::insert(), ACE_Registry::Binding_Iterator::naming_context(), ACE_Registry::Binding_Iterator::next_one(), and ACE_Registry::Binding_Iterator::object_iteration_.

00786 {
00787   // Empty list
00788   static const ACE_Registry::Binding_List empty_list;
00789   // Make sure that the list is empty
00790   list = empty_list;
00791 
00792   // Create an iterator
00793   ACE_Registry::Binding_Iterator iterator;
00794 
00795   // Make sure that the iterator uses <this> naming context
00796   iterator.naming_context (*this);
00797 
00798   // Start iterations from the objects
00799   iterator.current_enumeration (iterator.object_iteration_);
00800 
00801   long result = 0;
00802   while (1)
00803     {
00804       ACE_Registry::Binding binding;
00805       result = iterator.next_one (binding);
00806       if (result == 0)
00807         list.insert (binding);
00808       else
00809         break;
00810     }
00811   return 0;
00812 }

int ACE_Registry::Naming_Context::list (  u_long  how_many,
Binding_List &  list,
Binding_Iterator &  iterator
) 
 

listing function: iterator creator This is useful when there are many objects and contexts in context and you only want to look at a few entries at a time

Definition at line 757 of file Registry.cpp.

References ACE_Registry::Binding_List, ACE_Registry::Binding_Iterator::current_enumeration(), ACE_Registry::Binding_Iterator::naming_context(), ACE_Registry::Binding_Iterator::next_n(), ACE_Registry::Binding_Iterator::object_iteration_, and ACE_Registry::Binding_Iterator::reset().

Referenced by ACE_Registry_Name_Space::list_name_entries().

00760 {
00761   // Empty list
00762   static const ACE_Registry::Binding_List empty_list;
00763   // Make sure that the list is empty
00764   list = empty_list;
00765 
00766   // Correctly initalize the iterator
00767   iter.reset ();
00768 
00769   // Make sure that the iterator uses <this> naming context
00770   iter.naming_context (*this);
00771 
00772   // Start iterations from the objects
00773   iter.current_enumeration (iter.object_iteration_);
00774 
00775   // Get the next <how_many> values
00776   long result = iter.next_n (how_many,
00777                                  list);
00778   return result;
00779 }

void ACE_Registry::Naming_Context::name (  const ACE_TString &  name  )  [protected]
 

Set name (String version)

Definition at line 728 of file Registry.cpp.

References ACE_TString.

00729 {
00730   this->name_ = name;
00731 }

void ACE_Registry::Naming_Context::name (  const Name &  name  )  [protected]
 

Set name (Name version)

Definition at line 710 of file Registry.cpp.

References ACE_Registry::make_string(), and ACE_Registry::Name.

00711 {
00712   this->name_ = ACE_Registry::make_string (name);
00713 }

ACE_TString ACE_Registry::Naming_Context::name (  void   ) 
 

Get name (String version).

Definition at line 737 of file Registry.cpp.

00738 {
00739   return this->name_;
00740 }

void ACE_Registry::Naming_Context::name (  ACE_TString &  name  ) 
 

Set name (String version).

Definition at line 746 of file Registry.cpp.

References ACE_TString.

00747 {
00748   name = this->name_;
00749 }

void ACE_Registry::Naming_Context::name (  Name &  name  ) 
 

Get name (Name version)

Definition at line 719 of file Registry.cpp.

References ACE_Registry::make_name(), and ACE_Registry::Name.

Referenced by bind_context(), bind_new_context(), and resolve_context().

00720 {
00721   name = ACE_Registry::make_name (this->name_);
00722 }

int ACE_Registry::Naming_Context::new_context (  Naming_Context &  naming_context  ) 
 

Create new naming_context.

Definition at line 366 of file Registry.cpp.

References close().

00367 {
00368   // Make sure that we reset the state and close keys
00369   return naming_context.close ();
00370 }

const ACE_Registry::Naming_Context & ACE_Registry::Naming_Context::operator= (  const Naming_Context &  rhs  )  [private]
 

Disallow assignment.

Definition at line 206 of file Registry.cpp.

00207 {
00208         ACE_UNUSED_ARG(rhs);
00209 
00210         // Not implemented
00211         return *this;
00212 }

void ACE_Registry::Naming_Context::parent (  HKEY  parent  )  [protected]
 

Set parent.

Definition at line 693 of file Registry.cpp.

References parent_key_.

00694 {
00695   this->parent_key_ = parent;
00696 }

HKEY ACE_Registry::Naming_Context::parent (  void   ) 
 

Get parent.

Definition at line 701 of file Registry.cpp.

References parent_key_.

Referenced by bind_context(), bind_new_context(), and resolve_context().

00702 {
00703   return this->parent_key_;
00704 }

int ACE_Registry::Naming_Context::rebind (  const ACE_TString &  name,
const Object &  object
) 
 

Update with in context.

Definition at line 290 of file Registry.cpp.

References ACE_TString, bind(), and resolve().

00292 {
00293   Object old_object;
00294   // find the old one first
00295   long result = this->resolve (name, old_object);
00296   if (result == 0)
00297     // no need to delete first
00298     result = this->bind (name, new_object);
00299   return result;
00300 }

int ACE_Registry::Naming_Context::rebind (  const Name &  name,
const Object &  object
) 
 

Update with in context (Name version)

Definition at line 280 of file Registry.cpp.

References ACE_Registry::make_string(), and ACE_Registry::Name.

Referenced by ACE_Registry_Name_Space::rebind().

00282 {
00283   return this->rebind (ACE_Registry::make_string (name), new_object);
00284 }

int ACE_Registry::Naming_Context::rebind_context (  const ACE_TString &  name,
Naming_Context &  naming_context
) 
 

Rename to .

Definition at line 501 of file Registry.cpp.

References ACE_TString, bind_new_context(), resolve_context(), and unbind_context().

00503 {
00504   Naming_Context old_naming_context;
00505   // find the old one first
00506   long result = this->resolve_context (name,
00507                                        old_naming_context);
00508   if (result == 0)
00509     {
00510       // naming_context is found: delete entry
00511       result = this->unbind_context (name);
00512       if (result == 0)
00513         {
00514           // successful deletion; rebind
00515           // beware of race conditions here
00516           // (lets resolve this later)
00517           result = this->bind_new_context (name, new_naming_context);
00518         }
00519     }
00520   return result;
00521 }

int ACE_Registry::Naming_Context::rebind_context (  const Name &  name,
Naming_Context &  naming_context
) 
 

Rename to (Name version)

Definition at line 490 of file Registry.cpp.

References ACE_Registry::make_string(), and ACE_Registry::Name.

00492 {
00493   return this->rebind_context (ACE_Registry::make_string (name),
00494                                new_naming_context);
00495 }

int ACE_Registry::Naming_Context::resolve (  const ACE_TString &  name,
Object &  object
) 
 

Find with in context.

Definition at line 316 of file Registry.cpp.

References ACE_REGISTRY_CALL_RETURN, ACE_TString, ACE_String_Base< CHAR >::c_str(), ACE_Registry::Object::data(), ACE_Registry::Object::size(), and ACE_Registry::Object::type().

00318 {
00319   // Get object state
00320   u_long type;
00321   void *data = object.data ();
00322   u_long size = object.size ();
00323 
00324   long result = ACE_TEXT_RegQueryValueEx (this->key_,
00325                                           name.c_str (),
00326                                           0,
00327                                           &type,
00328                                           (BYTE *)data,
00329                                           &size);
00330   if (result == ERROR_SUCCESS)
00331     {
00332       // Reset object state
00333       // No need to set object.data()
00334       object.type (type);
00335       object.size (size);
00336     }
00337 
00338   ACE_REGISTRY_CALL_RETURN (result);
00339 }

int ACE_Registry::Naming_Context::resolve (  const Name &  name,
Object &  object
) 
 

Find with in context (Name version)

Definition at line 306 of file Registry.cpp.

References ACE_Registry::make_string(), and ACE_Registry::Name.

Referenced by bind_new(), rebind(), and ACE_Registry_Name_Space::resolve().

00308 {
00309   return this->resolve (ACE_Registry::make_string (name), object);
00310 }

int ACE_Registry::Naming_Context::resolve_context (  const ACE_TString &  name,
Naming_Context &  naming_context,
u_long  security_access = KEY_ALL_ACCESS
) 
 

Find with in context.

Definition at line 561 of file Registry.cpp.

References ACE_REGISTRY_CALL_RETURN, ACE_TString, ACE_String_Base< CHAR >::c_str(), key_, name(), and parent().

00564 {
00565   long result = ACE_TEXT_RegOpenKeyEx (this->key_,
00566                                        name.c_str (),
00567                                        0,
00568                                        security_access,
00569                                        &naming_context.key_);
00570   if (result == ERROR_SUCCESS)
00571     {
00572       // set the correct parent
00573       naming_context.parent (this->key_);
00574       // set the correct name
00575       naming_context.name (name);
00576     }
00577 
00578   ACE_REGISTRY_CALL_RETURN (result);
00579 }

int ACE_Registry::Naming_Context::resolve_context (  const Name &  name,
Naming_Context &  naming_context,
u_long  security_access = KEY_ALL_ACCESS
) 
 

Find with in context (Name version)

Definition at line 548 of file Registry.cpp.

References ACE_Registry::make_string(), and ACE_Registry::Name.

Referenced by rebind_context().

00551 {
00552   return this->resolve_context (ACE_Registry::make_string (name),
00553                                 naming_context,
00554                                 security_access);
00555 }

int ACE_Registry::Naming_Context::unbind (  const ACE_TString &  name  ) 
 

Delete object with in context.

Definition at line 354 of file Registry.cpp.

References ACE_REGISTRY_CALL_RETURN, ACE_TString, and ACE_String_Base< CHAR >::c_str().

00355 {
00356   long result = ACE_TEXT_RegDeleteValue (this->key_,
00357                                          name.c_str ());
00358 
00359   ACE_REGISTRY_CALL_RETURN (result);
00360 }

int ACE_Registry::Naming_Context::unbind (  const Name &  name  ) 
 

Delete object with in context (Name version)

Definition at line 345 of file Registry.cpp.

References ACE_Registry::make_string(), and ACE_Registry::Name.

Referenced by ACE_Registry_Name_Space::unbind().

00346 {
00347   return this->unbind (ACE_Registry::make_string (name));
00348 }

int ACE_Registry::Naming_Context::unbind_context (  const ACE_TString &  name  ) 
 

Remove naming_context with from context.

Definition at line 536 of file Registry.cpp.

References ACE_REGISTRY_CALL_RETURN, ACE_TString, and ACE_String_Base< CHAR >::c_str().

00537 {
00538   long result = ACE_TEXT_RegDeleteKey (this->key_,
00539                                                        name.c_str ());
00540 
00541   ACE_REGISTRY_CALL_RETURN (result);
00542 }

int ACE_Registry::Naming_Context::unbind_context (  const Name &  name  ) 
 

Remove naming_context with from context (Name version)

Definition at line 527 of file Registry.cpp.

References ACE_Registry::make_string(), and ACE_Registry::Name.

Referenced by rebind_context().

00528 {
00529   return this->unbind_context (ACE_Registry::make_string (name));
00530 }


Friends And Related Function Documentation

friend class ACE_Predefined_Naming_Contexts [friend]
 

Friend factory.

Definition at line 182 of file Registry.h.


Member Data Documentation

HKEY ACE_Registry::Naming_Context::key_ [private]
 

Key for self.

Definition at line 401 of file Registry.h.

Referenced by bind_context(), bind_new_context(), ACE_Predefined_Naming_Contexts::connect(), and resolve_context().

ACE_TString ACE_Registry::Naming_Context::name_ [private]
 

Name of self.

Definition at line 407 of file Registry.h.

HKEY ACE_Registry::Naming_Context::parent_key_ [private]
 

Key for parent.

Definition at line 404 of file Registry.h.

Referenced by parent().


The documentation for this class was generated from the following files:
Generated on Thu Nov 9 11:28:05 2006 for ACE by doxygen 1.3.6