27 #ifndef __XR_SERVER_H__ 28 #define __XR_SERVER_H__ 30 #include <openssl/ssl.h> 99 #define XR_SERVER_ERROR xr_server_error_quark() 103 XR_SERVER_ERROR_FAILED
210 GQuark xr_server_error_quark();
servlet_method_t pre_call
Pre-call hook.
Definition: xr-server.h:89
int size
Size of the private object.
Definition: xr-server.h:86
SSL_CTX * xr_server_get_ssl_context(xr_server *server)
Get SSL context used by the server.
gboolean xr_server_run(xr_server *server, GError **err)
Run server.
XML-RPC Call Handling API.
xr_http * xr_servlet_get_http(xr_servlet *servlet)
Get http object for the servlet.
void xr_server_stop(xr_server *server)
Stop server.
servlet_method_t post_call
Post-call hook.
Definition: xr-server.h:90
servlet_init_t init
Servlet constructor.
Definition: xr-server.h:87
char * xr_servlet_get_client_ip(xr_servlet *servlet)
Get client IP address.
void xr_server_free(xr_server *server)
Free server object.
void(* servlet_fini_t)(xr_servlet *servlet)
Servlet fini callback type.
Definition: xr-server.h:54
void * xr_servlet_get_priv(xr_servlet *servlet)
Get private data for the servlet.
struct _xr_http xr_http
Opaque HTTP object.
Definition: xr-http.h:46
gboolean(* servlet_download_t)(xr_servlet *servlet)
Servlet download callback type.
Definition: xr-server.h:58
gboolean xr_server_bind(xr_server *server, const char *port, GError **err)
Bind to the specified host/port.
gboolean xr_server_register_servlet(xr_server *server, xr_servlet_def *servlet)
Register servlet type with the server.
servlet_upload_t upload
Upload hook.
Definition: xr-server.h:92
char * name
Method name.
Definition: xr-server.h:76
char * name
Servlet name (/Name resource for client).
Definition: xr-server.h:85
servlet_download_t download
Download hook.
Definition: xr-server.h:91
Servlet method description structure.
Definition: xr-server.h:74
G_BEGIN_DECLS xr_server * xr_server_new(const char *cert, int threads, GError **err)
Create new server object.
servlet_method_t cb
Method callback.
Definition: xr-server.h:77
servlet_fini_t fini
Servlet destructor.
Definition: xr-server.h:88
struct _xr_call xr_call
Opaque data structrure for storing intermediate representation of XML-RPC call.
Definition: xr-call.h:49
gboolean(* servlet_upload_t)(xr_servlet *servlet)
Servlet upload callback type.
Definition: xr-server.h:62
gboolean(* servlet_method_t)(xr_servlet *servlet, xr_call *call)
Servlet method callback type.
Definition: xr-server.h:46
Servlet description structure.
Definition: xr-server.h:83
struct _xr_server xr_server
Opaque data structrure that represents XML-RPC server.
Definition: xr-server.h:37
servlet_method_t fallback
Fallback (undefined method) hook.
Definition: xr-server.h:95
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.
struct _xr_servlet xr_servlet
Opaque data structrure that represents single instance of servlet object.
Definition: xr-server.h:42
gboolean(* servlet_init_t)(xr_servlet *servlet)
Servlet init callback type.
Definition: xr-server.h:50
int methods_count
Count of the methods implemented by the server.
Definition: xr-server.h:93
xr_servlet_method_def * methods
Methods descriptions.
Definition: xr-server.h:94