Sun Java System Portal Server 7.1 Developer's Guide

An RDMHeader

An RDMHeader represents the header of an RDM. An RDMHeader structure has one public field, Search, which is a Search containing a collection of attribute-value pairs. The allowable attribute names of the attribute-value pairs in the Search are:

Response RDMs also have several attributes, and you can find them in rdm.h.

The following statements create an RDMHeader whose RDMType is RDM_RD_REQ, and whose query language is search. This RDM will be sent to the search engine instance search1 of the search engine at http://budgie.siroe.com:6714.

CSID *csid = CSID_Parse("x-catalog://budgie.siroe.com:6714/search1");
RDMHeader *myheader = RDMHeader_CreateRequest(RDM_RD_REQ, "search", csid);

The allowable values for RDM-Type and their description are:

RDM_MSGTYPE_UNKNOWN

Undefined or unknown message type

RDM_RD_UPD_REQ

Requesting an RD update

RDM_RD_REQ

Requesting an RD update (same as RDM_RD_UPD_REQ)

RDM_RD_DEL_REQ

Requesting an RD delete

RDM_RD_UPD_RES

Responding to an RD update request

RDM_RD_RES

Responding to an RD update request (same as RDM_RD_UPD_RES)

RDM_RD_DEL_RES

Responding to an RD delete request

RDM_SD_REQ

Requesting a server description

RDM_SD_RES

Responding to a server description request

RDM_SCH_REQ

Requesting a schema description

RDM_SCH_RES

Responding to a schema description request

RDM_TAX_REQ

Requesting a taxonomy description

RDM_TAX_RES

Responding to a taxonomy description request

RDM_STAT_REQ

Requesting a status

RDM_STAT_RES

Responding to a status description request

You can use the following macros to get and set the string values of the attributes:

RDMHeader_GetType(RDMHeader) /* returns RDMType */
RDMHeader_GetVersion(RDMHeader)
RDMHeader_GetQueryLanguage(RDMHeader)
RDMHeader_GetCSID(RDMHeader)
RDMHeader_GetResponseInterpret(RDMHeader)
RDMHeader_GetErrorMessage(RDMHeader)
RDMHeader_GetErrorNumber(RDMHeader)

RDMHeader_SetType(RDMHeader,RDMType)
RDMHeader_SetVersion(RDMHeader,stringvalue)
RDMHeader_SetQueryLanguage(RDMHeader,stringvalue)
RDMHeader_SetCSID(RDMHeader,stringvalue)
RDMHeader_SetResponseInterpret(RDMHeader,stringvalue)
RDMHeader_SetErrorMessage(RDMHeader,stringvalue)
RDMHeader_SetErrorNumber(RDMHeader,stringvalue)

RDMHeader_Parse

NSAPI_PUBLIC RDMHeader *RDMHeader_Parse
(SearchStream *ss);

RDMHeader_Create

NSAPI_PUBLIC RDMHeader *RDMHeader_Create(RDMType t);

RDMHeader_CreateRequest

NSAPI_PUBLIC RDMHeader *RDMHeader_CreateRequest
(RDMType, char *ql, CSID *)

RDMHeader_CreateResponse

NSAPI_PUBLIC RDMHeader *RDMHeader_CreateResponse
(RDMType, char *ri, CSID *);

RDMHeader_Free

NSAPI_PUBLIC int RDMHeader_Free(RDMHeader *r);

RDMHeader_Merge

NSAPI_PUBLIC int RDMHeader_Merge(RDMHeader *, Search *)

Merges data from a Search object into the RDMHeader object.