ACE  6.1.0
Public Types | Public Member Functions | Private Member Functions | Private Attributes
ACE_Local_Name_Space< ACE_MEM_POOL_1, 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_MEM_POOL_1, ACE_LOCK >:
Inheritance graph
[legend]
Collaboration diagram for ACE_Local_Name_Space< ACE_MEM_POOL_1, ACE_LOCK >:
Collaboration graph
[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

ALLOCATORallocator_
 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_Optionsname_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_MEM_POOL_1, 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_MEM_POOL_1, ACE_LOCK >::ALLOCATOR

Constructor & Destructor Documentation

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

"Do-nothing" constructor.

template<ACE_MEM_POOL_1 , class ACE_LOCK >
ACE_Local_Name_Space< ACE_MEM_POOL_1, 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_MEM_POOL_1, 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_MEM_POOL_1, 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_MEM_POOL_1, 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_MEM_POOL_1, ACE_LOCK >::create_manager_i ( void  ) [private]
template<ACE_MEM_POOL_1 , class ACE_LOCK >
void ACE_Local_Name_Space< ACE_MEM_POOL_1, 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_MEM_POOL_1, ACE_LOCK >::dump_i ( void  ) const [virtual]
template<ACE_MEM_POOL_1 , class ACE_LOCK >
int ACE_Local_Name_Space< ACE_MEM_POOL_1, 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_MEM_POOL_1, 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_MEM_POOL_1, 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_MEM_POOL_1, 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_MEM_POOL_1, 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_MEM_POOL_1, 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_MEM_POOL_1, 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_MEM_POOL_1, 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_MEM_POOL_1, 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_MEM_POOL_1, 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_MEM_POOL_1, 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_MEM_POOL_1, 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_MEM_POOL_1, 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_MEM_POOL_1, 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 character strings interface).

Implements ACE_Name_Space.

template<ACE_MEM_POOL_1 , class ACE_LOCK >
int ACE_Local_Name_Space< ACE_MEM_POOL_1, 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_MEM_POOL_1, 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_MEM_POOL_1, 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_MEM_POOL_1, 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_MEM_POOL_1, 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_MEM_POOL_1, ACE_LOCK >::unbind ( const ACE_NS_WString name) [virtual]

Delete a name from a ACE_Local_Name_Space (Wide character strings Interface).

Implements ACE_Name_Space.

template<ACE_MEM_POOL_1 , class ACE_LOCK >
int ACE_Local_Name_Space< ACE_MEM_POOL_1, 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_MEM_POOL_1, ACE_LOCK >::allocator_ [private]

Pointer to the allocator.

template<ACE_MEM_POOL_1 , class ACE_LOCK >
ACE_TCHAR ACE_Local_Name_Space< ACE_MEM_POOL_1, 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_MEM_POOL_1, ACE_LOCK >::lock_ [private]

Synchronization variable.

template<ACE_MEM_POOL_1 , class ACE_LOCK >
ACE_Name_Options* ACE_Local_Name_Space< ACE_MEM_POOL_1, 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_MEM_POOL_1, 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_MEM_POOL_1, 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:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines