EvdWebService

EvdWebService

Synopsis

struct              EvdWebService;
struct              EvdWebServiceClass;
EvdWebService *     evd_web_service_new                 (void);
gboolean            evd_web_service_add_connection_with_request
                                                        (EvdWebService *self,
                                                         EvdHttpConnection *conn,
                                                         EvdHttpRequest *request,
                                                         EvdService *return_to);
gboolean            evd_web_service_respond             (EvdWebService *self,
                                                         EvdHttpConnection *conn,
                                                         guint status_code,
                                                         SoupMessageHeaders *headers,
                                                         const gchar *content,
                                                         gsize size,
                                                         GError **error);
void                evd_web_service_set_origin_policy   (EvdWebService *self,
                                                         EvdPolicy policy);
EvdPolicy           evd_web_service_get_origin_policy   (EvdWebService *self);
void                evd_web_service_allow_origin        (EvdWebService *self,
                                                         const gchar *origin);
void                evd_web_service_deny_origin         (EvdWebService *self,
                                                         const gchar *origin);
gboolean            evd_web_service_origin_allowed      (EvdWebService *self,
                                                         const gchar *origin);
#define             EVD_WEB_SERVICE_LOG                 (web_service,
                                                         conn,
                                                         request,
                                                         status_code,
                                                         content_size,
                                                         error)

Object Hierarchy

  GObject
   +----EvdIoStreamGroup
         +----EvdService
               +----EvdWebService
                     +----EvdJsonrpcHttpServer
                     +----EvdLongpollingServer
                     +----EvdWebDir
                     +----EvdWebSelector
                     +----EvdWebsocketServer

Signals

  "log-entry"                                      : Action
  "request-headers"                                : Action

Description

Details

struct EvdWebService

struct EvdWebService;


struct EvdWebServiceClass

struct EvdWebServiceClass {
  EvdServiceClass parent_class;

  /* virtual methods */
  void     (* request_handler)             (EvdWebService     *self,
                                            EvdHttpConnection *conn,
                                            EvdHttpRequest    *request);

  void     (* return_connection)           (EvdWebService     *self,
                                            EvdHttpConnection *conn);
  void     (* flush_and_return_connection) (EvdWebService     *self,
                                            EvdHttpConnection *conn);

  gboolean (* respond)                     (EvdWebService       *self,
                                            EvdHttpConnection   *conn,
                                            guint                status_code,
                                            SoupMessageHeaders  *headers,
                                            const gchar         *content,
                                            gsize                size,
                                            GError             **error);

  gboolean (* log)                         (EvdWebService      *self,
                                            EvdHttpConnection  *conn,
                                            EvdHttpRequest     *request,
                                            guint               status_code,
                                            gsize               content_size,
                                            GError            **error);

  /* signals */
  void (* signal_request_headers) (EvdWebService *self,
                                   EvdHttpConnection *connection,
                                   EvdHttpRequest *request,
                                   gpointer user_data);
  void (* signal_log_entry)       (EvdWebService *self,
                                   const gchar   *entry,
                                   gpointer       user_data);

  /* padding for future expansion */
  void (* _padding_0_) (void);
  void (* _padding_1_) (void);
  void (* _padding_2_) (void);
  void (* _padding_3_) (void);
  void (* _padding_4_) (void);
  void (* _padding_5_) (void);
  void (* _padding_6_) (void);
  void (* _padding_7_) (void);
};


evd_web_service_new ()

EvdWebService *     evd_web_service_new                 (void);


evd_web_service_add_connection_with_request ()

gboolean            evd_web_service_add_connection_with_request
                                                        (EvdWebService *self,
                                                         EvdHttpConnection *conn,
                                                         EvdHttpRequest *request,
                                                         EvdService *return_to);


evd_web_service_respond ()

gboolean            evd_web_service_respond             (EvdWebService *self,
                                                         EvdHttpConnection *conn,
                                                         guint status_code,
                                                         SoupMessageHeaders *headers,
                                                         const gchar *content,
                                                         gsize size,
                                                         GError **error);

headers :

. [allow-none]

evd_web_service_set_origin_policy ()

void                evd_web_service_set_origin_policy   (EvdWebService *self,
                                                         EvdPolicy policy);


evd_web_service_get_origin_policy ()

EvdPolicy           evd_web_service_get_origin_policy   (EvdWebService *self);


evd_web_service_allow_origin ()

void                evd_web_service_allow_origin        (EvdWebService *self,
                                                         const gchar *origin);


evd_web_service_deny_origin ()

void                evd_web_service_deny_origin         (EvdWebService *self,
                                                         const gchar *origin);


evd_web_service_origin_allowed ()

gboolean            evd_web_service_origin_allowed      (EvdWebService *self,
                                                         const gchar *origin);


EVD_WEB_SERVICE_LOG()

#define             EVD_WEB_SERVICE_LOG(web_service, conn, request, status_code, content_size, error)

Signal Details

The "log-entry" signal

void                user_function                      (EvdWebService *evdwebservice,
                                                        gchar         *arg1,
                                                        gpointer       user_data)          : Action

evdwebservice :

the object which received the signal.

user_data :

user data set when the signal handler was connected.

The "request-headers" signal

void                user_function                      (EvdWebService     *evdwebservice,
                                                        EvdHttpConnection *arg1,
                                                        EvdHttpRequest    *arg2,
                                                        gpointer           user_data)          : Action

evdwebservice :

the object which received the signal.

user_data :

user data set when the signal handler was connected.