NAME

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

SYNOPSIS


#include <ACE/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_LEN = MAXPATHLEN + 1 };
        
    ACE_Name_Request (void);
    ACE_Name_Request (
        ACE_UINT32 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_UINT32 msg_type (void) const;
    void msg_type (ACE_UINT32);
    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

This class is implemented to minimize data copying. In particular, all marshaling is done in situ...

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_UINT32 msg_type (void) const;
void msg_type (ACE_UINT32);

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 *&);
int decode (void);
void dump (void) const;

DESCRIPTION

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

AUTHOR

Gerhard Lenzer, Douglas C. Schmidt, and Prashant Jain

LIBRARY

ACE