libxrdeveloper's documentation
Data Structures | Macros | 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...
 

Macros

#define XR_SERVER_ERROR   xr_server_error_quark()
 

Typedefs

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

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. More...
 
SSL_CTX * xr_server_get_ssl_context (xr_server *server)
 Get SSL context used by the server. More...
 
gboolean xr_server_bind (xr_server *server, const char *port, GError **err)
 Bind to the specified host/port. More...
 
gboolean xr_server_run (xr_server *server, GError **err)
 Run server. More...
 
void xr_server_stop (xr_server *server)
 Stop server. More...
 
void xr_server_free (xr_server *server)
 Free server object. More...
 
gboolean xr_server_register_servlet (xr_server *server, xr_servlet_def *servlet)
 Register servlet type with the server. More...
 
void * xr_servlet_get_priv (xr_servlet *servlet)
 Get private data for the servlet. More...
 
xr_httpxr_servlet_get_http (xr_servlet *servlet)
 Get http object for the servlet. More...
 
char * xr_servlet_get_client_ip (xr_servlet *servlet)
 Get client IP address. More...
 
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. More...
 
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, Wed Apr 27 2016 22:07:49.