## NAME

ACE_Name_Request - Message format for delivering requests to the ACE_Name Server.

## SYNOPSIS

    #include <ACE/Name_Request_Reply.h>

    class ACE_Name_Request
    {
      public:
            enum Constants{ BIND = 01,
            REBIND = 02,
            RESOLVE = 03,
            UNBIND = 04,
            LIST_NAMES = 05,
            LIST_VALUES = 015,
            LIST_TYPES = 025,
            LIST_NAME_ENTRIES = 06,
            LIST_VALUE_ENTRIES = 016,
            LIST_TYPE_ENTRIES = 026,
            MAX_ENUM = 11,
            MAX_LIST = 3,
            OP_TABLE_MASK = 07,
            LIST_OP_MASK = 030,
            MAX_NAME_LENGTH = MAXPATHLEN + 1 };

        ACE_Name_Request (void);
        ACE_Name_Request (
            ACE_INT32 msg_type,
            const ACE_USHORT16 name[],
            const size_t name_length,
            const ACE_USHORT16 value[],
            const size_t value_length,
            const char type[],
            const size_t type_length,
            ACE_Time_Value *timeout = 0
            );
        void init (void);
        ACE_UINT32 length (void) const;
        void length (ACE_UINT32);
        ACE_INT32 msg_type (void) const;
        void msg_type (ACE_INT32);
        ACE_UINT32 block_forever (void) const;
        void block_forever (ACE_UINT32);
        ACE_Time_Value timeout (void) const;
        void timeout (const ACE_Time_Value timeout);
        const ACE_USHORT16 *name (void) const;
        void name (const ACE_USHORT16 *);
        const ACE_USHORT16 *value (void) const;
        void value (const ACE_USHORT16 *);
        const char *type (void) const;
        void type (const char *);
        ACE_UINT32 name_len (void) const;
        void name_len (ACE_UINT32);
        ACE_UINT32 value_len (void) const;
        void value_len (ACE_UINT32);
        ACE_UINT32 type_len (void) const;
        void type_len (ACE_UINT32);
        int encode (void *&);
        int decode (void);
        void dump (void) const;
      private:
        Transfer transfer_;
        ACE_USHORT16 *name_;
        ACE_USHORT16 *value_;
        char *type_;
    };

## DESCRIPTION

Define the format used to exchange messages between the ACE_Name Server and its clients.

## Set/get the length of the encoded/decoded message.

    ACE_UINT32 length (void) const;

    void length (ACE_UINT32);

## Set/get the type of the message.

    ACE_INT32 msg_type (void) const;

    void msg_type (ACE_INT32);

## Set/get the blocking semantics.

    ACE_UINT32 block_forever (void) const;

    void block_forever (ACE_UINT32);

## Set/get the timeout.

    ACE_Time_Value timeout (void) const;

    void timeout (const ACE_Time_Value timeout);

## Set/get the name

    const ACE_USHORT16 *name (void) const;

    void name (const ACE_USHORT16 *);

## Set/get the value

    const ACE_USHORT16 *value (void) const;

    void value (const ACE_USHORT16 *);

## Set/get the type

    const char *type (void) const;

    void type (const char *);

## Set/get the len of name

    ACE_UINT32 name_len (void) const;

    void name_len (ACE_UINT32);

## Set/get the len of value

    ACE_UINT32 value_len (void) const;

    void value_len (ACE_UINT32);

## Set/get the len of type

    ACE_UINT32 type_len (void) const;

    void type_len (ACE_UINT32);

    int encode (void *&);

Encode the message before transmission.

    int decode (void);

Decode message after reception.

    void dump (void) const;

Print out the values of the message for debugging purposes.

## AUTHOR

Gerhard Lenzer, Douglas C. Schmidt, and Prashant Jain

## LIBRARY

ACE