Main Page | Data Structures | File List | Data Fields | Globals | Related Pages

rox_soap_server.h File Reference

Provide ROX-Filer like SOAP server. More...


Data Structures

struct  rox_soap_server_actions

Typedefs

typedef rox_soap_server ROXSOAPServer
typedef xmlNodePtr(* rox_soap_server_action )(ROXSOAPServer *server, const char *action_name, GList *args, gpointer udata)
typedef rox_soap_server_actions ROXSOAPServerActions

Functions

void rox_soap_server_init (void)
ROXSOAPServerrox_soap_server_new (const char *program_name, const char *ns_url)
void rox_soap_server_add_action (ROXSOAPServer *server, const char *action_name, const char *args, const char *optional_args, rox_soap_server_action action, gpointer udata)
void rox_soap_server_add_actions (ROXSOAPServer *server, ROXSOAPServerActions *actions)
void rox_soap_server_delete (ROXSOAPServer *server)


Detailed Description

Provide ROX-Filer like SOAP server.

SOAP allows you to communicate with server programs via the X server. You may implement your applications to function from a single instance no matter how many times they are started, much as ROX-Filer does itself.

Author:
Stephen Watson
Version:
Id
rox_soap_server.h,v 1.3 2005/09/10 16:17:45 stephen Exp

Typedef Documentation

typedef xmlNodePtr(* rox_soap_server_action)(ROXSOAPServer *server, const char *action_name, GList *args, gpointer udata)
 

Type of function called when a client request an action via SOAP.

Parameters:
[in] server object identifing the server
[in] action_name name of action
[in] args list of arguments in string form, in the order defined in rox_soap_server_add_action() or ROXSOAPServerActions. The required arguments are first, then the optional arguments with NULL given for those ommitted.
[in] udata addtional data given in rox_soap_server_add_action() or ROXSOAPServerActions.
Returns:
a valid XML SOAP reply node, or NULL for no reply

typedef struct rox_soap_server ROXSOAPServer
 

Opaque type defining a SOAP server

typedef struct rox_soap_server_actions ROXSOAPServerActions
 

Type defining an action.


Function Documentation

void rox_soap_server_add_action ROXSOAPServer server,
const char *  action_name,
const char *  args,
const char *  optional_args,
rox_soap_server_action  action,
gpointer  udata
 

Add an action to the server. An action is a call that can be made on the server. It can have 0 or more named arguments, some of which may be optional.

Parameters:
[in,out] server the server instance.
[in] action_name Name of the action, must be a valid XML element name without a name space.
[in] args comma seperated list of required arguments, in the order they will be presented to the action function.
[in] optional_args comma seperated list of optional arguments, in the order they will bepresented to the action function.
[in] action function to call to process the action
[in] udata addtional data to pass to action

void rox_soap_server_add_actions ROXSOAPServer server,
ROXSOAPServerActions actions
 

Add a number of actions to the server, see rox_soap_server_add_action().

Parameters:
[in,out] server the server instance.
[in] actions array of actions, terminated by a NULL ROXSOAPServerActions.action_name.

void rox_soap_server_delete ROXSOAPServer server  ) 
 

Delete the server instance. Its actions can no longer be called.

Parameters:
[in,out] server server instance to delete.

void rox_soap_server_init void   ) 
 

Initialize the SOAP server system

ROXSOAPServer* rox_soap_server_new const char *  program_name,
const char *  ns_url
 

Create and return a new server instance.

Parameters:
[in] program_name name of the progam, this is used as an element name in the XML SOAP message
[in] ns_url name space URL for the XML
Returns:
pointer to server instance, free with rox_soap_server_delete().


Generated on Sat Oct 22 17:49:14 2005 for ROX-CLib by doxygen 1.3.8