X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=gweb%2Fgweb.h;h=6c28542ad1f92663e79ebd5f3043409d5859c04f;hb=refs%2Fheads%2Faccepted%2Ftizen_unified;hp=daeb262dba892baf8cda072832158486ed1fdc1a;hpb=000a60dfed237e3d00584f0c3b475aa777be1ae0;p=platform%2Fupstream%2Fconnman.git diff --git a/gweb/gweb.h b/gweb/gweb.h old mode 100644 new mode 100755 index daeb262..6c28542 --- a/gweb/gweb.h +++ b/gweb/gweb.h @@ -2,7 +2,7 @@ * * Web service library with GLib integration * - * Copyright (C) 2009-2010 Intel Corporation. All rights reserved. + * Copyright (C) 2009-2012 Intel Corporation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as @@ -22,6 +22,7 @@ #ifndef __G_WEB_H #define __G_WEB_H +#include #include #include @@ -32,16 +33,19 @@ extern "C" { struct _GWeb; struct _GWebResult; +struct _GWebParser; typedef struct _GWeb GWeb; typedef struct _GWebResult GWebResult; +typedef struct _GWebParser GWebParser; -typedef enum { - G_WEB_METHOD_GET, -} GWebMethod; +typedef bool (*GWebResultFunc)(GWebResult *result, gpointer user_data); -typedef void (*GWebResultFunc)(guint16 status, GWebResult *result, - gpointer user_data); +typedef bool (*GWebRouteFunc)(const char *addr, int ai_family, + int if_index, gpointer user_data); + +typedef bool (*GWebInputFunc)(const guint8 **data, gsize *length, + gpointer user_data); typedef void (*GWebDebugFunc)(const char *str, gpointer user_data); @@ -52,24 +56,56 @@ void g_web_unref(GWeb *web); void g_web_set_debug(GWeb *web, GWebDebugFunc func, gpointer user_data); -gboolean g_web_add_nameserver(GWeb *web, const char *address); +bool g_web_supports_tls(void); + +bool g_web_set_proxy(GWeb *web, const char *proxy); + +bool g_web_set_address_family(GWeb *web, int family); -gboolean g_web_set_accept(GWeb *web, const char *format, ...) +bool g_web_add_nameserver(GWeb *web, const char *address); + +bool g_web_set_accept(GWeb *web, const char *format, ...) __attribute__((format(printf, 2, 3))); -gboolean g_web_set_user_agent(GWeb *web, const char *format, ...) +bool g_web_set_user_agent(GWeb *web, const char *format, ...) __attribute__((format(printf, 2, 3))); +bool g_web_set_ua_profile(GWeb *web, const char *profile); + +bool g_web_set_http_version(GWeb *web, const char *version); -void g_web_set_close_connection(GWeb *web, gboolean enabled); -gboolean g_web_get_close_connection(GWeb *web); +void g_web_set_close_connection(GWeb *web, bool enabled); +bool g_web_get_close_connection(GWeb *web); -guint g_web_request(GWeb *web, GWebMethod method, const char *url, +guint g_web_request_get(GWeb *web, const char *url, + GWebResultFunc func, GWebRouteFunc route, + gpointer user_data); +guint g_web_request_post(GWeb *web, const char *url, + const char *type, GWebInputFunc input, + GWebResultFunc func, gpointer user_data); +guint g_web_request_post_file(GWeb *web, const char *url, + const char *type, const char *file, GWebResultFunc func, gpointer user_data); -gboolean g_web_cancel(GWeb *web, guint id); +bool g_web_cancel_request(GWeb *web, guint id); -gboolean g_web_result_get_chunk(GWebResult *result, +guint16 g_web_result_get_status(GWebResult *result); + +bool g_web_result_get_header(GWebResult *result, + const char *header, const char **value); +bool g_web_result_get_chunk(GWebResult *result, const guint8 **chunk, gsize *length); +typedef void (*GWebParserFunc)(const char *str, gpointer user_data); + +GWebParser *g_web_parser_new(const char *begin, const char *end, + GWebParserFunc func, gpointer user_data); + +GWebParser *g_web_parser_ref(GWebParser *parser); +void g_web_parser_unref(GWebParser *parser); + +void g_web_parser_feed_data(GWebParser *parser, + const guint8 *data, gsize length); +void g_web_parser_end_data(GWebParser *parser); + #ifdef __cplusplus } #endif