## NAME

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

## SYNOPSIS

    #include <ACE/Remote_Name_Space.h>

    class ACE_Remote_Name_Space : public ACE_Name_Space
    {
      public:
        ACE_Remote_Name_Space (void);
        ACE_Remote_Name_Space (const ASYS_TCHAR *hostname, u_short port);
        int open (const ASYS_TCHAR *servername, u_short port);
        ~ACE_Remote_Name_Space (void);
        virtual int bind (
            const ACE_WString &name_in,
            const ACE_WString &value_in,
            const char *type_in = ""
            );
        virtual int rebind (
            const ACE_WString &name_in,
            const ACE_WString &value_in,
            const char *type_in = ""
            );
        virtual int unbind (const ACE_WString &name_in);
        virtual int resolve (
            const ACE_WString &name_in,
            ACE_WString &value_out,
            char *&type_out
            );
        virtual int list_names (
            ACE_WSTRING_SET &set_out,
            const ACE_WString &pattern_in
            );
        virtual int list_values (
            ACE_WSTRING_SET &set_out,
            const ACE_WString &pattern_in
            );
        virtual int list_types (
            ACE_WSTRING_SET &set_out,
            const ACE_WString &pattern_in
            );
        virtual int list_name_entries (
            ACE_BINDING_SET &set,
            const ACE_WString &pattern
            );
        virtual int list_value_entries (
            ACE_BINDING_SET &set,
            const ACE_WString &pattern
            );
        virtual int list_type_entries (
            ACE_BINDING_SET &set,
            const ACE_WString &pattern
            );
        virtual void dump (void) const;
      private:
        ACE_Name_Proxy ns_proxy_;
    };

## DESCRIPTION

Manages a Naming Service for a remote name space which includes bindings for net_local naming context. 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).

## Initialization and termination methods.

    ACE_Remote_Name_Space (void);

"Do-nothing" constructor.

    ACE_Remote_Name_Space (const ASYS_TCHAR *hostname, u_short port);

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.

    int open (const ASYS_TCHAR *servername, u_short port);

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.

    ~ACE_Remote_Name_Space (void);

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

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

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

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

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

    virtual int unbind (const ACE_WString &name_in);

Delete a name from a ACE_Remote_Name_Space (Wide charcter strings Interface).

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

Get value and type of a given name binding (Wide chars). The caller is responsible for deleting both `value_out` and `type_out`!

    virtual int list_names (
        ACE_WSTRING_SET &set_out,
        const ACE_WString &pattern_in
        );

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

    virtual int list_values (
        ACE_WSTRING_SET &set_out,
        const ACE_WString &pattern_in
        );

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

    virtual int list_types (
        ACE_WSTRING_SET &set_out,
        const ACE_WString &pattern_in
        );

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

    virtual int list_name_entries (
        ACE_BINDING_SET &set,
        const ACE_WString &pattern
        );

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.

    virtual int list_value_entries (
        ACE_BINDING_SET &set,
        const ACE_WString &pattern
        );

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.

    virtual int list_type_entries (
        ACE_BINDING_SET &set,
        const ACE_WString &pattern
        );

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.

    virtual void dump (void) const;

Dump the state of the object.

## AUTHOR

Prashant Jain

## LIBRARY

ACE