XML Subsystem
[Bio-SPHERE Daemon]

Collaboration diagram for XML Subsystem:


Defines

#define SERVICE_TYPE_UNKNOWN   0
#define SERVICE_DEF_FROM_XML   1
#define SERVICE_REQUEST_FROM_XML   2
#define SERVICE_RESPONSE_FROM_XML   3

Functions

bs_status xlate_definition_to_xml (char **buf, bs_uint64 *size, const bs_definition *def, apr_pool_t *mp)
bs_status xlate_request_to_xml (char **buf, bs_uint64 *size, const bs_service_request *def, apr_pool_t *mp)
bs_status xlate_response_to_xml (char **buf, bs_uint64 *size, const bs_service_response *def, apr_pool_t *mp)
bs_status xlate_from_xml (const char *buf, bs_uint64 limit, void **object, unsigned *type, apr_pool_t *mp)

Define Documentation

#define SERVICE_DEF_FROM_XML   1

Signal that a bs_definition structure is to be translated.

Definition at line 50 of file xml.h.

Referenced by connect_and_get(), process_tree(), and set_definitions().

#define SERVICE_REQUEST_FROM_XML   2

Signal that a bs_service_request structure is to be translated.

Definition at line 52 of file xml.h.

Referenced by handle_http_post(), main(), and process_tree().

#define SERVICE_RESPONSE_FROM_XML   3

Signal that a bs_service_response structure is to be translated.

Definition at line 54 of file xml.h.

Referenced by process_tree().

#define SERVICE_TYPE_UNKNOWN   0

Signal that the type of the structure is unknown.

Definition at line 48 of file xml.h.


Function Documentation

bs_status xlate_definition_to_xml ( char **  buf,
bs_uint64 size,
const bs_definition def,
apr_pool_t *  mp 
)

Translate a given service definition to xml. The result will be put into a buffer allocated by this function from the given memory pool.

Parameters:
buf The result pointer to the buffer with XML
size Pointer which will be set to the size of that buffer
def The service definition to translate
mp Memory pool to allocate from
Returns:
Status code.

Definition at line 290 of file xml.c.

References add_datatypes_to_xml(), add_messages_to_xml(), add_porttypes_to_xml(), add_services_to_xml(), BS_OK, and bs_definition::name.

Referenced by handle_http_get().

Here is the call graph for this function:

bs_status xlate_from_xml ( const char *  buf,
bs_uint64  limit,
void **  object,
unsigned *  type,
apr_pool_t *  mp 
)

Parse some xml pointed to by buf. Read at most size characters.

Parameters:
buf Pointer to a buffer with XML
limit Maximum number of characters to read
object Pointer to an internal Bio-SPHERE struct. Space will be reserved by from_xml for the structure.
type Pointer to structure type that will be set after recognizing the XML.
mp Memory pool to allocate from
Returns:
Whether the parsing was successfull

Definition at line 954 of file xml.c.

References BS_XML_NWF, process_tree(), and runtestsuite::rv.

Referenced by connect_and_get(), connect_and_post(), handle_http_post(), init_service(), main(), and set_definitions().

Here is the call graph for this function:

bs_status xlate_request_to_xml ( char **  buf,
bs_uint64 size,
const bs_service_request def,
apr_pool_t *  mp 
)

Translate a given service request to xml. The result will be put into a buffer allocated by this function from the given memory pool.

Parameters:
buf The result pointer to the buffer with XML
size Pointer which will be set to the size of that buffer
def The service request to translate
mp Memory pool to allocate from
Returns:
Status code.

Definition at line 304 of file xml.c.

References add_message_instance_to_xml(), add_use_service_to_xml(), BS_OK, bs_service_request::input, and bs_service_request::uuid.

Referenced by connect_and_post(), and main().

Here is the call graph for this function:

bs_status xlate_response_to_xml ( char **  buf,
bs_uint64 size,
const bs_service_response def,
apr_pool_t *  mp 
)

Translate a given service response to xml. The result will be put into a buffer allocated by this function from the given memory pool.

Parameters:
buf The result pointer to the buffer with XML
size Pointer which will be set to the size of that buffer
def The service response to translate
mp Memory pool to allocate from
Returns:
Status code.

Definition at line 323 of file xml.c.

References add_message_instance_to_xml(), add_used_service_to_xml(), BS_OK, bs_service_response::fault, bs_service_response::output, and bs_service_response::uuid.

Referenced by handle_http_post().

Here is the call graph for this function:


Generated on Tue Jul 17 09:51:26 2007 for Bio-SPHERE by  doxygen 1.5.1