# ACE_Registry::Naming_Context Class Reference

An context representation. More...

`#include <Registry.h>`

Collaboration diagram for ACE_Registry::Naming_Context:

[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 <key>.
| ~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 <object> with <name> in <this> context.
int | resolve (const Name &name, Object &object)
int | resolve (const ACE_TString &name, Object &object)
| Find <object> with <name> in <this> context.
int | unbind (const Name &name)
int | unbind (const ACE_TString &name)
| Delete object with <name> in <this> 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 <naming_context> to <name>.
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 <naming_context> with <name> in <this> context.
int | unbind_context (const Name &name)
int | unbind_context (const ACE_TString &name)
| Remove naming_context with <name> from <this> context.
int | destroy (void)
| Same as <unbind_context> with <this> 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.

## 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.

## Constructor & Destructor Documentation

ACE_Registry::Naming_Context::Naming_Context | ( | void |  | ) |

| Empty constructor: keys will be NULL.

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

| Constructor: key_ will be set to <key>.

ACE_Registry::Naming_Context::~Naming_Context | ( | void |  | ) |

| Destructor will call <Naming_Context::close>.

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

| Disallow copy constructors.

## Member Function Documentation

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

| Insert or update <object> with <name> into <this> context This will not fail if <name> already exists (String version)

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)

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 <naming_context> with <name> relative to <this> context This will not fail if <name> already exists

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 <naming_context> with <name> relative to <this> context This will not fail if <name> already exists (Name version)

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)

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)

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 <naming_context> with <name> relative to <this> context This will fail if <name> already exists

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 <naming_context> with <name> relative to <this> context This will fail if <name> already exists (Name version)

int ACE_Registry::Naming_Context::close | ( | void |  | ) |

Close the handle of the context

Note:
  <close> does not call <flush>

int ACE_Registry::Naming_Context::destroy | ( | void |  | ) |

| Same as <unbind_context> with <this> as naming_context.

int ACE_Registry::Naming_Context::flush | ( | void |  | ) |

| Sync content of context to disk.

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

| Set key.

HKEY ACE_Registry::Naming_Context::key | ( | void |  | ) |

| Get key.

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

| listing function: iterator creator This gives back a listing of all entries in <this> context.

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 <this> context and you only want to look at a few entries at a time

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

| Set name (String version)

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

| Set name (Name version)

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

| Get name (String version).

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

| Set name (String version).

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

| Get name (Name version)

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

| Create new `naming_context`.

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

| Disallow assignment.

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

| Set parent.

HKEY ACE_Registry::Naming_Context::parent | ( | void |  | ) |

| Get parent.

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

| Update <object> with <name> in <this> context.

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

| Update <object> with <name> in <this> context (Name version)

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

| Rename <naming_context> to <name>.

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

| Rename <naming_context> to <name> (Name version)

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

| Find <object> with <name> in <this> context.

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

| Find <object> with <name> in <this> context (Name version)

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

| Find <naming_context> with <name> in <this> context.

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

| Find <naming_context> with <name> in <this> context (Name version)

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

| Delete object with <name> in <this> context.

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

| Delete object with <name> in <this> context (Name version)

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

| Remove naming_context with <name> from <this> context.

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

| Remove naming_context with <name> from <this> context (Name version)

## Friends And Related Function Documentation

friend class ACE_Predefined_Naming_Contexts`[friend]`

| Friend factory.

## Member Data Documentation

HKEY ACE_Registry::Naming_Context::key_`[private]`

| Key for self.

ACE_TString ACE_Registry::Naming_Context::name_`[private]`

| Name of self.

HKEY ACE_Registry::Naming_Context::parent_key_`[private]`

| Key for parent.

The documentation for this class was generated from the following files:

- Registry.h
- Registry.cpp