NAME

ACE_Naming_Context - Maintaining accesses Name Server Databases. Allows to add NameBindings, change them, remove them and resolve NameBindings

SYNOPSIS

#include <ACE/Naming_Context.h>

class ACE_Naming_Context : public ACE_Service_Object { public: enum Context_Scope_Type{ PROC_LOCAL, NODE_LOCAL, NET_LOCAL }; ACE_Naming_Context (void); ACE_Naming_Context (Context_Scope_Type scope_in, int light = 0); int open ( Context_Scope_Type scope_in = ACE_Naming_Context::PROC_LOCAL, int light = 0 ); int close (void); int close_down (void); ~ACE_Naming_Context (void); virtual int init (int argc, ASYS_TCHAR *argv[]); virtual int fini (void); virtual int info (char **strp, size_t length) const; ACE_Name_Options *name_options (void); int bind ( const ACE_WString &name_in, const ACE_WString &value_in, const char *type_in = "" ); int bind ( const char *name_in, const char *value_in, const char *type_in = "" ); int rebind ( const ACE_WString &name_in, const ACE_WString &value_in, const char *type_in = "" ); int rebind ( const char *name_in, const char *value_in, const char *type_in = "" ); int unbind (const ACE_WString &name_in); int unbind (const char *name_in); int resolve ( const ACE_WString &name_in, ACE_WString &value_out, char *&type_out ); int resolve ( const char *name_in, ACE_WString &value_out, char *&type_out ); int resolve ( const char *name_in, char *&value_out, char *&type_out ); int list_names ( ACE_PWSTRING_SET &set_out, const ACE_WString &pattern_in ); int list_names ( ACE_PWSTRING_SET &set_out, const char *pattern_in ); int list_values ( ACE_PWSTRING_SET &set_out, const ACE_WString &pattern_in ); int list_values ( ACE_PWSTRING_SET &set_out, const char *pattern_in ); int list_types ( ACE_PWSTRING_SET &set_out, const ACE_WString &pattern_in ); int list_types ( ACE_PWSTRING_SET &set_out, const char *pattern_in ); virtual int list_name_entries ( ACE_BINDING_SET &set_out, const ACE_WString &pattern_in ); virtual int list_name_entries ( ACE_BINDING_SET &set_out, const char *pattern_in ); virtual int list_value_entries ( ACE_BINDING_SET &set_out, const ACE_WString &pattern_in ); virtual int list_value_entries ( ACE_BINDING_SET &set_out, const char *pattern_in ); virtual int list_type_entries ( ACE_BINDING_SET &set_out, const ACE_WString &pattern_in ); virtual int list_type_entries ( ACE_BINDING_SET &set_out, const char *pattern_in ); void dump (void); private: ACE_Name_Options *name_options_; ACE_Name_Space *name_space_; ASYS_TCHAR hostname_[MAXHOSTNAMELEN + 1]; const ASYS_TCHAR *netnameserver_host_; int netnameserver_port_; int local (void); };

DESCRIPTION

Manages a Naming Service . That represents a persistent string to string mapping for different scopes. The scope of a ACE_Naming_Context may be either local for the calling process (Note : A process is hereby not identified by it's pid, but by it's argv[0]. So different processes (in UNIX syntax) may access the same NameBindings), global for all processes running on one host or global for all processes on the net (that know the address of the net name server socket). Strings may be plain character strings or Wide character strings. A Name Binding consists of a name string (that's the key), a value string and an optional type string (no wide chars).

Initialization and termination methods.

ACE_Naming_Context (void);

ACE_Naming_Context (Context_Scope_Type scope_in, int light = 0);

int open (
    Context_Scope_Type scope_in = ACE_Naming_Context::PROC_LOCAL,
    int light = 0
    );

int close (void);

int close_down (void);

~ACE_Naming_Context (void);

Dynamic initialization hooks.

virtual int init (int argc, ASYS_TCHAR *argv[]);

virtual int fini (void);

virtual int info (char **strp, size_t length) const;

ACE_Name_Options *name_options (void);

int bind (
    const ACE_WString &name_in,
    const ACE_WString &value_in,
    const char *type_in = ""
    );

int bind (
    const char *name_in,
    const char *value_in,
    const char *type_in = ""
    );

int rebind (
    const ACE_WString &name_in,
    const ACE_WString &value_in,
    const char *type_in = ""
    );

int rebind (
    const char *name_in,
    const char *value_in,
    const char *type_in = ""
    );

int unbind (const ACE_WString &name_in);

int unbind (const char *name_in);

int resolve (
    const ACE_WString &name_in,
    ACE_WString &value_out,
    char *&type_out
    );

int resolve (
    const char *name_in,
    ACE_WString &value_out,
    char *&type_out
    );

int resolve (const char *name_in, char *&value_out, char *&type_out);

int list_names (
    ACE_PWSTRING_SET &set_out,
    const ACE_WString &pattern_in
    );

int list_names (ACE_PWSTRING_SET &set_out, const char *pattern_in);

int list_values (
    ACE_PWSTRING_SET &set_out,
    const ACE_WString &pattern_in
    );

int list_values (ACE_PWSTRING_SET &set_out, const char *pattern_in);

int list_types (
    ACE_PWSTRING_SET &set_out,
    const ACE_WString &pattern_in
    );

int list_types (ACE_PWSTRING_SET &set_out, const char *pattern_in);

virtual int list_name_entries (
    ACE_BINDING_SET &set_out,
    const ACE_WString &pattern_in
    );

virtual int list_name_entries (
    ACE_BINDING_SET &set_out,
    const char *pattern_in
    );

virtual int list_value_entries (
    ACE_BINDING_SET &set_out,
    const ACE_WString &pattern_in
    );

virtual int list_value_entries (
    ACE_BINDING_SET &set_out,
    const char *pattern_in
    );

virtual int list_type_entries (
    ACE_BINDING_SET &set_out,
    const ACE_WString &pattern_in
    );

virtual int list_type_entries (
    ACE_BINDING_SET &set_out,
    const char *pattern_in
    );

void dump (void);

AUTHOR

Gerhard Lenzer, Douglas C. Schmidt, and Prashant Jain

LIBRARY

ACE