ROX-CLib: rox_soap_server.c File Reference

- Main Page
- Data Structures
- Files
- Related Pages

- File List
- Globals

# rox_soap_server.c File Reference

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

`#include "rox-clib.h"`
`#include <stdlib.h>`
`#include <errno.h>`
`#include <string.h>`
`#include <unistd.h>`
`#include <netdb.h>`
`#include <sys/types.h>`
`#include <sys/wait.h>`
`#include <glib.h>`
`#include <gdk/gdkx.h>`
`#include <X11/X.h>`
`#include <X11/Xatom.h>`
`#include <gtk/gtk.h>`
`#include <gtk/gtkinvisible.h>`
`#include <libxml/parser.h>`
`#include "rox.h"`
`#include "rox_soap.h"`
`#include "rox_soap_server.h"`

## Functions
void | rox_soap_server_init (void)
ROXSOAPServer * | rox_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:
  Thomas Leonard, Stephen Watson

Version:
  Id
    rox_soap_server.c,v 1.11 2006/08/12 17:04:56 stephen Exp

## 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().