# ACE_Local_Name_Space<, ACE_LOCK > Class Template Reference

Maintaining accesses Local Name Server Database. Allows to add NameBindings, change them, remove them and resolve NameBindings. More...

`#include <Local_Name_Space_T.h>`

Inheritance diagram for ACE_Local_Name_Space<, ACE_LOCK >:

[legend]
Collaboration diagram for ACE_Local_Name_Space<, ACE_LOCK >:

[legend]
List of all members.

## Public Types

typedef ACE_Allocator_Adapter< ACE_Malloc< ACE_MEM_POOL_2, ACE_LOCK > > | ALLOCATOR

## Public Member Functions

| ACE_Local_Name_Space (void)
| "Do-nothing" constructor.
| ACE_Local_Name_Space (ACE_Naming_Context::Context_Scope_Type scope_in, ACE_Name_Options *name_options)
int | open (ACE_Naming_Context::Context_Scope_Type scope_in)
| ~ACE_Local_Name_Space (void)
virtual int | bind (const ACE_NS_WString &name, const ACE_NS_WString &value, const char *type="")
| Bind a new name to a naming context (Wide character strings).
virtual int | rebind (const ACE_NS_WString &name, const ACE_NS_WString &value, const char *type="")
virtual int | unbind (const ACE_NS_WString &name)
virtual int | unbind_i (const ACE_NS_WString &name)
virtual int | resolve (const ACE_NS_WString &name, ACE_NS_WString &value, char *&type)
virtual int | resolve_i (const ACE_NS_WString &name, ACE_NS_WString &value, char *&type)
virtual int | list_names (ACE_WSTRING_SET &set, const ACE_NS_WString &pattern)
virtual int | list_names_i (ACE_WSTRING_SET &set, const ACE_NS_WString &pattern)
virtual int | list_values (ACE_WSTRING_SET &set, const ACE_NS_WString &pattern)
virtual int | list_values_i (ACE_WSTRING_SET &set, const ACE_NS_WString &pattern)
virtual int | list_types (ACE_WSTRING_SET &set, const ACE_NS_WString &pattern)
virtual int | list_types_i (ACE_WSTRING_SET &set, const ACE_NS_WString &pattern)
virtual int | list_name_entries (ACE_BINDING_SET &set, const ACE_NS_WString &pattern)
virtual int | list_name_entries_i (ACE_BINDING_SET &set, const ACE_NS_WString &pattern)
virtual int | list_value_entries (ACE_BINDING_SET &set, const ACE_NS_WString &pattern)
virtual int | list_value_entries_i (ACE_BINDING_SET &set, const ACE_NS_WString &pattern)
virtual int | list_type_entries (ACE_BINDING_SET &set, const ACE_NS_WString &pattern)
virtual int | list_type_entries_i (ACE_BINDING_SET &set, const ACE_NS_WString &pattern)
virtual void | dump (void) const
| Dump the state of the object.
virtual void | dump_i (void) const

## Private Member Functions

int | remap (EXCEPTION_POINTERS *ep)
| Remap the backing store.
int | shared_bind (const ACE_NS_WString &name, const ACE_NS_WString &value, const char *type, int rebind)
| Factor out code from bind() and rebind().
int | shared_bind_i (const ACE_NS_WString &name, const ACE_NS_WString &value, const char *type, int rebind)
int | create_manager (void)
int | create_manager_i (void)

## Private Attributes

ALLOCATOR * | allocator_
| Pointer to the allocator.
ACE_Name_Space_Map< ALLOCATOR > * | name_space_map_
| Pointer to the allocated map manager.
ACE_Naming_Context::Context_Scope_Type | ns_scope_
ACE_Name_Options * | name_options_
| Keep track of the options such as database name etc.
ACE_TCHAR | context_file_ [MAXPATHLEN+MAXNAMELEN]
| Name of the file used as the backing store.
ACE_LOCK * | lock_
| Synchronization variable.

## Detailed Description

### template<ACE_MEM_POOL_1, class ACE_LOCK>
class ACE_Local_Name_Space<, ACE_LOCK >

Maintaining accesses Local Name Server Database. Allows to add NameBindings, change them, remove them and resolve NameBindings.

Manages a Naming Service for a local name space which includes bindings for node_local and host_local naming contexts. All strings are stored in wide character format. A Name Binding consists of a name (that's the key), a value string and an optional type string (no wide chars).

## Member Typedef Documentation

template<ACE_MEM_POOL_1 , class ACE_LOCK>
typedef ACE_Allocator_Adapter<ACE_Malloc <ACE_MEM_POOL_2, ACE_LOCK> > ACE_Local_Name_Space<, ACE_LOCK >::ALLOCATOR

## Constructor & Destructor Documentation

template<ACE_MEM_POOL_1 , class ACE_LOCK>
ACE_Local_Name_Space<, ACE_LOCK >::ACE_Local_Name_Space | ( | void |  | ) |

| "Do-nothing" constructor.

template<ACE_MEM_POOL_1 , class ACE_LOCK>
ACE_Local_Name_Space<, ACE_LOCK >::ACE_Local_Name_Space | ( | ACE_Naming_Context::Context_Scope_Type | scope_in,
|  | ACE_Name_Options * | name_options
| ) |

| Specifies the scope of this namespace, opens and memory-maps the associated file (if accessible) or contacts the dedicated name server process for NET_LOCAL namespace.

template<ACE_MEM_POOL_1 , class ACE_LOCK>
ACE_Local_Name_Space<, ACE_LOCK >::~ACE_Local_Name_Space | ( | void |  | ) |

| Destructor, do some cleanup :TBD: last dtor should "compress" file

## Member Function Documentation

template<ACE_MEM_POOL_1 , class ACE_LOCK>
int ACE_Local_Name_Space<, ACE_LOCK >::bind | ( | const ACE_NS_WString & | name,
|  | const ACE_NS_WString & | value,
|  | const char * | type = `""`
| ) | `[virtual]`

| Bind a new name to a naming context (Wide character strings). Implements ACE_Name_Space.

template<ACE_MEM_POOL_1 , class ACE_LOCK>
int ACE_Local_Name_Space<, ACE_LOCK >::create_manager | ( | void |  | ) | `[private]`

| Allocate the appropriate type of map manager that stores the key/value binding.

template<ACE_MEM_POOL_1 , class ACE_LOCK>
int ACE_Local_Name_Space<, ACE_LOCK >::create_manager_i | ( | void |  | ) | `[private]`

template<ACE_MEM_POOL_1 , class ACE_LOCK>
void ACE_Local_Name_Space<, ACE_LOCK >::dump | ( | void |  | ) | const`[virtual]`

| Dump the state of the object. Implements ACE_Name_Space.

template<ACE_MEM_POOL_1 , class ACE_LOCK>
void ACE_Local_Name_Space<, ACE_LOCK >::dump_i | ( | void |  | ) | const`[virtual]`

template<ACE_MEM_POOL_1 , class ACE_LOCK>
int ACE_Local_Name_Space<, ACE_LOCK >::list_name_entries | ( | ACE_BINDING_SET & | set,
|  | const ACE_NS_WString & | pattern
| ) | `[virtual]`

| Get a set of names matching a specified pattern (wchars). Matching means the names must begin with the pattern string. Returns the complete binding associated each pattern match. Implements ACE_Name_Space.

template<ACE_MEM_POOL_1 , class ACE_LOCK>
int ACE_Local_Name_Space<, ACE_LOCK >::list_name_entries_i | ( | ACE_BINDING_SET & | set,
|  | const ACE_NS_WString & | pattern
| ) | `[virtual]`

template<ACE_MEM_POOL_1 , class ACE_LOCK>
int ACE_Local_Name_Space<, ACE_LOCK >::list_names | ( | ACE_WSTRING_SET & | set,
|  | const ACE_NS_WString & | pattern
| ) | `[virtual]`

| Get a set of names matching a specified pattern (wchars). Matching means the names must begin with the pattern string. Implements ACE_Name_Space.

template<ACE_MEM_POOL_1 , class ACE_LOCK>
int ACE_Local_Name_Space<, ACE_LOCK >::list_names_i | ( | ACE_WSTRING_SET & | set,
|  | const ACE_NS_WString & | pattern
| ) | `[virtual]`

template<ACE_MEM_POOL_1 , class ACE_LOCK>
int ACE_Local_Name_Space<, ACE_LOCK >::list_type_entries | ( | ACE_BINDING_SET & | set,
|  | const ACE_NS_WString & | pattern
| ) | `[virtual]`

| Get a set of types matching a specified pattern (wchars). Matching means the types must begin with the pattern string. Returns the complete binding associated each pattern match. Implements ACE_Name_Space.

template<ACE_MEM_POOL_1 , class ACE_LOCK>
int ACE_Local_Name_Space<, ACE_LOCK >::list_type_entries_i | ( | ACE_BINDING_SET & | set,
|  | const ACE_NS_WString & | pattern
| ) | `[virtual]`

template<ACE_MEM_POOL_1 , class ACE_LOCK>
int ACE_Local_Name_Space<, ACE_LOCK >::list_types | ( | ACE_WSTRING_SET & | set,
|  | const ACE_NS_WString & | pattern
| ) | `[virtual]`

| Get a set of types matching a specified pattern (wchars). Matching means the types must begin with the pattern string. Implements ACE_Name_Space.

template<ACE_MEM_POOL_1 , class ACE_LOCK>
int ACE_Local_Name_Space<, ACE_LOCK >::list_types_i | ( | ACE_WSTRING_SET & | set,
|  | const ACE_NS_WString & | pattern
| ) | `[virtual]`

template<ACE_MEM_POOL_1 , class ACE_LOCK>
int ACE_Local_Name_Space<, ACE_LOCK >::list_value_entries | ( | ACE_BINDING_SET & | set,
|  | const ACE_NS_WString & | pattern
| ) | `[virtual]`

| Get a set of values matching a specified pattern (wchars). Matching means the values must begin with the pattern string. Returns the complete binding associated each pattern match. Implements ACE_Name_Space.

template<ACE_MEM_POOL_1 , class ACE_LOCK>
int ACE_Local_Name_Space<, ACE_LOCK >::list_value_entries_i | ( | ACE_BINDING_SET & | set,
|  | const ACE_NS_WString & | pattern
| ) | `[virtual]`

template<ACE_MEM_POOL_1 , class ACE_LOCK>
int ACE_Local_Name_Space<, ACE_LOCK >::list_values | ( | ACE_WSTRING_SET & | set,
|  | const ACE_NS_WString & | pattern
| ) | `[virtual]`

| Get a set of values matching a specified pattern (wchars). Matching means the values must begin with the pattern string. Implements ACE_Name_Space.

template<ACE_MEM_POOL_1 , class ACE_LOCK>
int ACE_Local_Name_Space<, ACE_LOCK >::list_values_i | ( | ACE_WSTRING_SET & | set,
|  | const ACE_NS_WString & | pattern
| ) | `[virtual]`

template<ACE_MEM_POOL_1 , class ACE_LOCK>
int ACE_Local_Name_Space<, ACE_LOCK >::open | ( | ACE_Naming_Context::Context_Scope_Type | scope_in | ) |

| Specifies the scope of this namespace, opens and memory-maps the associated file (if accessible) or contacts the dedicated name server process for NET_LOCAL namespace.

template<ACE_MEM_POOL_1 , class ACE_LOCK>
int ACE_Local_Name_Space<, ACE_LOCK >::rebind | ( | const ACE_NS_WString & | name,
|  | const ACE_NS_WString & | value,
|  | const char * | type = `""`
| ) | `[virtual]`

| Overwrite the value or type of an existing name in a ACE_Local_Name_Space or bind a new name to the context, if it didn't exist yet. (Wide charcter strings interface). Implements ACE_Name_Space.

template<ACE_MEM_POOL_1 , class ACE_LOCK>
int ACE_Local_Name_Space<, ACE_LOCK >::remap | ( | EXCEPTION_POINTERS * | ep | ) | `[private]`

| Remap the backing store.

template<ACE_MEM_POOL_1 , class ACE_LOCK>
int ACE_Local_Name_Space<, ACE_LOCK >::resolve | ( | const ACE_NS_WString & | name,
|  | ACE_NS_WString & | value,
|  | char *& | type
| ) | `[virtual]`

| Get value and type of a given name binding (Wide chars). The caller is responsible for deleting type! Implements ACE_Name_Space.

template<ACE_MEM_POOL_1 , class ACE_LOCK>
int ACE_Local_Name_Space<, ACE_LOCK >::resolve_i | ( | const ACE_NS_WString & | name,
|  | ACE_NS_WString & | value,
|  | char *& | type
| ) | `[virtual]`

template<ACE_MEM_POOL_1 , class ACE_LOCK>
int ACE_Local_Name_Space<, ACE_LOCK >::shared_bind | ( | const ACE_NS_WString & | name,
|  | const ACE_NS_WString & | value,
|  | const char * | type,
|  | int | rebind
| ) | `[private]`

| Factor out code from bind() and rebind().

template<ACE_MEM_POOL_1 , class ACE_LOCK>
int ACE_Local_Name_Space<, ACE_LOCK >::shared_bind_i | ( | const ACE_NS_WString & | name,
|  | const ACE_NS_WString & | value,
|  | const char * | type,
|  | int | rebind
| ) | `[private]`

template<ACE_MEM_POOL_1 , class ACE_LOCK>
int ACE_Local_Name_Space<, ACE_LOCK >::unbind | ( | const ACE_NS_WString & | name | ) | `[virtual]`

| Delete a name from a ACE_Local_Name_Space (Wide charcter strings Interface). Implements ACE_Name_Space.

template<ACE_MEM_POOL_1 , class ACE_LOCK>
int ACE_Local_Name_Space<, ACE_LOCK >::unbind_i | ( | const ACE_NS_WString & | name | ) | `[virtual]`

## Member Data Documentation

template<ACE_MEM_POOL_1 , class ACE_LOCK>
ALLOCATOR* ACE_Local_Name_Space<, ACE_LOCK >::allocator_`[private]`

| Pointer to the allocator.

template<ACE_MEM_POOL_1 , class ACE_LOCK>
ACE_TCHAR ACE_Local_Name_Space<, ACE_LOCK >::context_file_[MAXPATHLEN+MAXNAMELEN]`[private]`

| Name of the file used as the backing store.

template<ACE_MEM_POOL_1 , class ACE_LOCK>
ACE_LOCK* ACE_Local_Name_Space<, ACE_LOCK >::lock_`[private]`

| Synchronization variable.

template<ACE_MEM_POOL_1 , class ACE_LOCK>
ACE_Name_Options* ACE_Local_Name_Space<, ACE_LOCK >::name_options_`[private]`

| Keep track of the options such as database name etc.

template<ACE_MEM_POOL_1 , class ACE_LOCK>
ACE_Name_Space_Map<ALLOCATOR>* ACE_Local_Name_Space<, ACE_LOCK >::name_space_map_`[private]`

| Pointer to the allocated map manager.

template<ACE_MEM_POOL_1 , class ACE_LOCK>
ACE_Naming_Context::Context_Scope_Type ACE_Local_Name_Space<, ACE_LOCK >::ns_scope_`[private]`

| Scope of this naming context (e.g., PROC_LOCAL, NODE_LOCAL, or NET_LOCAL).

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

- Local_Name_Space_T.h
- Local_Name_Space_T.cpp