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:
rdm-version (required) - This is set automatically if you use RDMHeader_CreateRequest() or RDMHeader_CreateResponse() to create the RDMHeader.
rdm-type (required).
catalog-service-id (recommended) - This indicates which search engine instance to send the RDM request to).
rdm-query-language (required for a request) - For communicating with the search engine, you can specify search.
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:
Undefined or unknown message type
Requesting an RD update
Requesting an RD update (same as RDM_RD_UPD_REQ)
Requesting an RD delete
Responding to an RD update request
Responding to an RD update request (same as RDM_RD_UPD_RES)
Responding to an RD delete request
Requesting a server description
Responding to a server description request
Requesting a schema description
Responding to a schema description request
Requesting a taxonomy description
Responding to a taxonomy description request
Requesting a status
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)