libxrdeveloper's documentation
Data Structures | Defines | Typedefs | Enumerations | Functions
xr-server.h File Reference

XML-RPC Server API. More...

#include <openssl/ssl.h>
#include "xr-call.h"
#include "xr-http.h"
#include "xr-value-utils.h"

Go to the source code of this file.

Data Structures

struct  _xr_servlet_method_def
 Servlet method description structure. More...
struct  _xr_servlet_def
 Servlet description structure. More...

Defines

#define XR_SERVER_ERROR   xr_server_error_quark()

Typedefs

typedef struct _xr_server xr_server
 Opaque data structrure that represents XML-RPC server.
typedef struct _xr_servlet xr_servlet
 Opaque data structrure that represents single instance of servlet object.
typedef gboolean(* servlet_method_t )(xr_servlet *servlet, xr_call *call)
 Servlet method callback type.
typedef gboolean(* servlet_init_t )(xr_servlet *servlet)
 Servlet init callback type.
typedef void(* servlet_fini_t )(xr_servlet *servlet)
 Servlet fini callback type.
typedef gboolean(* servlet_download_t )(xr_servlet *servlet)
 Servlet download callback type.
typedef gboolean(* servlet_upload_t )(xr_servlet *servlet)
 Servlet upload callback type.
typedef struct
_xr_servlet_method_def 
xr_servlet_method_def
 Servlet method description structure.
typedef struct _xr_servlet_def xr_servlet_def
 Servlet description structure.

Enumerations

enum  XRServerError { XR_SERVER_ERROR_FAILED }

Functions

G_BEGIN_DECLS xr_serverxr_server_new (const char *cert, int threads, GError **err)
 Create new server object.
SSL_CTX * xr_server_get_ssl_context (xr_server *server)
 Get SSL context used by the server.
gboolean xr_server_bind (xr_server *server, const char *port, GError **err)
 Bind to the specified host/port.
gboolean xr_server_run (xr_server *server, GError **err)
 Run server.
void xr_server_stop (xr_server *server)
 Stop server.
void xr_server_free (xr_server *server)
 Free server object.
gboolean xr_server_register_servlet (xr_server *server, xr_servlet_def *servlet)
 Register servlet type with the server.
void * xr_servlet_get_priv (xr_servlet *servlet)
 Get private data for the servlet.
xr_httpxr_servlet_get_http (xr_servlet *servlet)
 Get http object for the servlet.
char * xr_servlet_get_client_ip (xr_servlet *servlet)
 Get client IP address.
gboolean xr_server_simple (const char *cert, int threads, const char *bind, xr_servlet_def **servlets, GError **err)
 Use this function as a simple way to quickly start a server.
GQuark xr_server_error_quark ()

Detailed Description

XML-RPC Server API.

This API can be used to implement multithreaded XML-RPC server.

Documentation for libxr, Tue Jun 7 2011 18:34:22.