soup-misc

soup-misc — Miscellaneous functions

Synopsis




char*               soup_base64_decode                  (const gchar *text,
                                                         int *out_len);
char*               soup_base64_encode                  (const char *text,
                                                         int len);
int                 soup_base64_decode_step             (const guchar *in,
                                                         int len,
                                                         guchar *out,
                                                         int *state,
                                                         guint *save);
int                 soup_base64_encode_step             (const guchar *in,
                                                         int len,
                                                         gboolean break_lines,
                                                         guchar *out,
                                                         int *state,
                                                         int *save);
int                 soup_base64_encode_close            (const guchar *in,
                                                         int inlen,
                                                         gboolean break_lines,
                                                         guchar *out,
                                                         int *state,
                                                         int *save);

GSource*            soup_add_idle                       (GMainContext *async_context,
                                                         GSourceFunc function,
                                                         gpointer data);
GSource*            soup_add_io_watch                   (GMainContext *async_context,
                                                         GIOChannel *chan,
                                                         GIOCondition condition,
                                                         GIOFunc function,
                                                         gpointer data);
GSource*            soup_add_timeout                    (GMainContext *async_context,
                                                         guint interval,
                                                         GSourceFunc function,
                                                         gpointer data);
guint               soup_signal_connect_once            (gpointer instance,
                                                         const char *detailed_signal,
                                                         GCallback c_handler,
                                                         gpointer data);

time_t              soup_date_parse                     (const char *timestamp);
time_t              soup_date_iso8601_parse             (const char *timestamp);
char*               soup_date_generate                  (time_t when);
void                soup_gmtime                         (const time_t *when,
                                                         struct tm *tm);
time_t              soup_mktime_utc                     (struct tm *tm);

char*               soup_header_param_copy_token        (GHashTable *tokens,
                                                         char *t);
char*               soup_header_param_decode_token      (char **in);
void                soup_header_param_destroy_hash      (GHashTable *table);
GHashTable*         soup_header_param_parse_list        (const char *header);
gboolean            soup_headers_parse_request          (const char *str,
                                                         int len,
                                                         GHashTable *dest,
                                                         char **req_method,
                                                         char **req_path,
                                                         SoupHttpVersion *ver);
gboolean            soup_headers_parse_response         (const char *str,
                                                         int len,
                                                         GHashTable *dest,
                                                         SoupHttpVersion *ver,
                                                         guint *status_code,
                                                         char **reason_phrase);
gboolean            soup_headers_parse_status_line      (const char *status_line,
                                                         SoupHttpVersion *ver,
                                                         guint *status_code,
                                                         char **reason_phrase);

gboolean            soup_str_case_equal                 (gconstpointer v1,
                                                         gconstpointer v2);
guint               soup_str_case_hash                  (gconstpointer key);

xmlNode*            soup_xml_real_node                  (xmlNode *node);

Description

Details

soup_base64_decode ()

char*               soup_base64_decode                  (const gchar *text,
                                                         int *out_len);

text :
out_len :
Returns :

soup_base64_encode ()

char*               soup_base64_encode                  (const char *text,
                                                         int len);

text :
len :
Returns :

soup_base64_decode_step ()

int                 soup_base64_decode_step             (const guchar *in,
                                                         int len,
                                                         guchar *out,
                                                         int *state,
                                                         guint *save);

in :
len :
out :
state :
save :
Returns :

soup_base64_encode_step ()

int                 soup_base64_encode_step             (const guchar *in,
                                                         int len,
                                                         gboolean break_lines,
                                                         guchar *out,
                                                         int *state,
                                                         int *save);

in :
len :
break_lines :
out :
state :
save :
Returns :

soup_base64_encode_close ()

int                 soup_base64_encode_close            (const guchar *in,
                                                         int inlen,
                                                         gboolean break_lines,
                                                         guchar *out,
                                                         int *state,
                                                         int *save);

in :
inlen :
break_lines :
out :
state :
save :
Returns :

soup_add_idle ()

GSource*            soup_add_idle                       (GMainContext *async_context,
                                                         GSourceFunc function,
                                                         gpointer data);

Adds an idle event as with g_idle_add(), but using the given async_context.

async_context : the GMainContext to dispatch the idle event in, or NULL for the default context
function : the callback to invoke at idle time
data : user data to pass to function
Returns : a GSource, which can be removed from async_context with g_source_destroy().

soup_add_io_watch ()

GSource*            soup_add_io_watch                   (GMainContext *async_context,
                                                         GIOChannel *chan,
                                                         GIOCondition condition,
                                                         GIOFunc function,
                                                         gpointer data);

Adds an I/O watch as with g_io_add_watch(), but using the given async_context.

async_context : the GMainContext to dispatch the I/O watch in, or NULL for the default context
chan : the GIOChannel to watch
condition : the condition to watch for
function : the callback to invoke when condition occurs
data : user data to pass to function
Returns : a GSource, which can be removed from async_context with g_source_destroy().

soup_add_timeout ()

GSource*            soup_add_timeout                    (GMainContext *async_context,
                                                         guint interval,
                                                         GSourceFunc function,
                                                         gpointer data);

Adds a timeout as with g_timeout_add(), but using the given async_context.

async_context : the GMainContext to dispatch the timeout in, or NULL for the default context
interval : the timeout interval, in milliseconds
function : the callback to invoke at timeout time
data : user data to pass to function
Returns : a GSource, which can be removed from async_context with g_source_destroy().

soup_signal_connect_once ()

guint               soup_signal_connect_once            (gpointer instance,
                                                         const char *detailed_signal,
                                                         GCallback c_handler,
                                                         gpointer data);

Connects a GCallback function to a signal as with g_signal_connect(), but automatically removes the signal handler after its first invocation.

instance : an object
detailed_signal : "signal-name" or "signal-name::detail" to connect to
c_handler : the GCallback to connect
data : data to pass to c_handler calls
Returns : the signal handler id

soup_date_parse ()

time_t              soup_date_parse                     (const char *timestamp);

Parses timestamp and returns its value as a time_t.

timestamp : a timestamp, in any of the allowed HTTP 1.1 formats
Returns : the time_t corresponding to timestamp, or -1 if timestamp couldn't be parsed.

soup_date_iso8601_parse ()

time_t              soup_date_iso8601_parse             (const char *timestamp);

Converts timestamp to a time_t value. timestamp can be in any of the iso8601 formats that specify both a date and a time.

timestamp : an ISO8601 timestamp
Returns : the time_t corresponding to timestamp, or -1 on error.

soup_date_generate ()

char*               soup_date_generate                  (time_t when);

Generates an HTTP 1.1 Date header corresponding to when.

when : the time to generate a timestamp for
Returns : the timestamp, which the caller must free.

soup_gmtime ()

void                soup_gmtime                         (const time_t *when,
                                                         struct tm *tm);

Expands when into tm (as a UTC time). This is just a wrapper around gmtime_r() (or gmtime() on lame platforms). (The Microsoft C library on Windows doesn't have gmtime_r(), but its gmtime() is in fact thread-safe as it uses a per-thread buffer, so it's not totally lame ;-)

when : a time_t
tm : a struct tm to be filled in with the expansion of when

soup_mktime_utc ()

time_t              soup_mktime_utc                     (struct tm *tm);

Converts tm to a time_t. Unlike with mktime(), tm is interpreted as being a UTC time.

tm : the UTC time
Returns : tm as a time_t

soup_header_param_copy_token ()

char*               soup_header_param_copy_token        (GHashTable *tokens,
                                                         char *t);

tokens :
t :
Returns :

soup_header_param_decode_token ()

char*               soup_header_param_decode_token      (char **in);

in :
Returns :

soup_header_param_destroy_hash ()

void                soup_header_param_destroy_hash      (GHashTable *table);

table :

soup_header_param_parse_list ()

GHashTable*         soup_header_param_parse_list        (const char *header);

header :
Returns :

soup_headers_parse_request ()

gboolean            soup_headers_parse_request          (const char *str,
                                                         int len,
                                                         GHashTable *dest,
                                                         char **req_method,
                                                         char **req_path,
                                                         SoupHttpVersion *ver);

Parses the headers of an HTTP request in str and stores the results in req_method, req_path, ver, and dest.

Beware that dest may be modified even on failure.

str : the header string (including the trailing blank line)
len : length of str up to (but not including) the terminating blank line.
dest : GHashTable to store the header values in
req_method : if non-NULL, will be filled in with the request method
req_path : if non-NULL, will be filled in with the request path
ver : if non-NULL, will be filled in with the HTTP version
Returns : success or failure.

soup_headers_parse_response ()

gboolean            soup_headers_parse_response         (const char *str,
                                                         int len,
                                                         GHashTable *dest,
                                                         SoupHttpVersion *ver,
                                                         guint *status_code,
                                                         char **reason_phrase);

Parses the headers of an HTTP response in str and stores the results in ver, status_code, reason_phrase, and dest.

Beware that dest may be modified even on failure.

str : the header string (including the trailing blank line)
len : length of str up to (but not including) the terminating blank line.
dest : GHashTable to store the header values in
ver : if non-NULL, will be filled in with the HTTP version
status_code : if non-NULL, will be filled in with the status code
reason_phrase : if non-NULL, will be filled in with the reason phrase
Returns : success or failure.

soup_headers_parse_status_line ()

gboolean            soup_headers_parse_status_line      (const char *status_line,
                                                         SoupHttpVersion *ver,
                                                         guint *status_code,
                                                         char **reason_phrase);

Parses the HTTP Status-Line string in status_line into ver, status_code, and reason_phrase. status_line must be terminated by either "\0" or "\r\n".

status_line : an HTTP Status-Line
ver : if non-NULL, will be filled in with the HTTP version
status_code : if non-NULL, will be filled in with the status code
reason_phrase : if non-NULL, will be filled in with the reason phrase
Returns : TRUE if status_line was parsed successfully.

soup_str_case_equal ()

gboolean            soup_str_case_equal                 (gconstpointer v1,
                                                         gconstpointer v2);

Compares v1 and v2 in a case-insensitive manner

v1 : an ASCII string
v2 : another ASCII string
Returns : TRUE if they are equal (modulo case)

soup_str_case_hash ()

guint               soup_str_case_hash                  (gconstpointer key);

Hashes key in a case-insensitive manner.

key : ASCII string to hash
Returns : the hash code.

soup_xml_real_node ()

xmlNode*            soup_xml_real_node                  (xmlNode *node);

Finds the first "real" node (ie, not a comment or whitespace) at or after node at its level in the tree.

Return: a node, or NULL

node : an xmlNodePtr
Returns :