![]() | ![]() | ![]() | GNet Network Library Reference Manual | ![]() |
---|
URIURI — Uniform Resource Identifier (URI) |
GURI; GURI* gnet_uri_new (const gchar *uri); GURI* gnet_uri_new_fields (const gchar *scheme, const gchar *hostname, const gint port, const gchar *path); GURI* gnet_uri_new_fields_all (const gchar *scheme, const gchar *userinfo, const gchar *hostname, const gint port, const gchar *path, const gchar *query, const gchar *fragment); GURI* gnet_uri_clone (const GURI *uri); void gnet_uri_delete (GURI *uri); void gnet_uri_escape (GURI *uri); void gnet_uri_unescape (GURI *uri); gchar* gnet_uri_get_string (const GURI *uri); void gnet_uri_set_scheme (GURI *uri, const gchar *scheme); void gnet_uri_set_userinfo (GURI *uri, const gchar *userinfo); void gnet_uri_set_hostname (GURI *uri, const gchar *hostname); void gnet_uri_set_port (GURI *uri, gint port); void gnet_uri_set_path (GURI *uri, const gchar *path); void gnet_uri_set_query (GURI *uri, const gchar *query); void gnet_uri_set_fragment (GURI *uri, const gchar *fragment); guint gnet_uri_hash (gconstpointer p); gboolean gnet_uri_equal (gconstpointer p1, gconstpointer p2);
A URI is a Uniform Resource Identifier, similar to a URL. This module provides functions for creating and manipulating URIs. A URI is represented by GURI. All fields in the GURI structure are publicly readable.
Create a URI from a string by calling gnet_uri_new(). To get the string representation back, call gnet_uri_get_string(). To escape a URI call gnet_uri_escape(), and to unescape it call gnet_uri_unescape(). Network protocols use escaped URIs. People use unescaped URIs.
typedef struct { gchar* scheme; gchar* userinfo; gchar* hostname; gint port; gchar* path; gchar* query; gchar* fragment; } GURI;
The GURI structure represents a URI. All fields in this structure are publicly readable.
gchar *scheme; | Scheme (or protocol) |
gchar *userinfo; | User info |
gchar *hostname; | Host name |
gint port; | Port number |
gchar *path; | Path |
gchar *query; | Query |
gchar *fragment; | Fragment |
GURI* gnet_uri_new (const gchar *uri);
Creates a GURI from a string. Empty fields are set to NULL. The parser does not validate the URI -- it will accept some malformed URI. URIs are usually in the form scheme://userinfohostname:port/path?queryfragment
URIs created from user input are typically unescaped. URIs created from machine input (e.g. received over the internet) are typically escaped.
uri : | URI string |
Returns : | a new GURI, or NULL if there was a failure. |
GURI* gnet_uri_new_fields (const gchar *scheme, const gchar *hostname, const gint port, const gchar *path);
Creates a GURI from the fields. This function uses the most common fields. Use gnet_uri_new_fields_all() to specify all fields.
scheme : | scheme |
hostname : | host name |
port : | port |
path : | path |
Returns : | a new GURI. |
GURI* gnet_uri_new_fields_all (const gchar *scheme, const gchar *userinfo, const gchar *hostname, const gint port, const gchar *path, const gchar *query, const gchar *fragment);
Creates a GURI from all fields.
scheme : | scheme |
userinfo : | user info |
hostname : | host name |
port : | port |
path : | path |
query : | query |
fragment : | fragment |
Returns : | a new GURI. |
GURI* gnet_uri_clone (const GURI *uri);
Copies a GURI.
uri : | a GURI |
Returns : | a copy of uri. |
void gnet_uri_escape (GURI *uri);
Escapes the fields in a GURI. Network protocols use escaped URIs. People use unescaped URIs.
uri : | a GURI |
void gnet_uri_unescape (GURI *uri);
Unescapes the fields in the URI. Network protocols use escaped URIs. People use unescaped URIs.
uri : | a GURI |
gchar* gnet_uri_get_string (const GURI *uri);
Gets a string representation of a GURI. This function does not escape or unescape the fields first. Call gnet_uri_escape() or gnet_uri_unescape first if necessary.
uri : | a GURI |
Returns : | a string. |
void gnet_uri_set_scheme (GURI *uri, const gchar *scheme);
Sets a GURI's scheme.
uri : | a GURI |
scheme : | scheme |
void gnet_uri_set_userinfo (GURI *uri, const gchar *userinfo);
Sets a GURI's user info.
uri : | a GURI |
userinfo : | user info |
void gnet_uri_set_hostname (GURI *uri, const gchar *hostname);
Sets a GURI's host name.
uri : | a GURI |
hostname : | host name |
void gnet_uri_set_port (GURI *uri, gint port);
Set a GURI's port.
uri : | a GURI |
port : | port |
void gnet_uri_set_path (GURI *uri, const gchar *path);
Set a GURI's path.
uri : | a GURI |
path : | path |
void gnet_uri_set_query (GURI *uri, const gchar *query);
Set a GURI's query.
uri : | a GURI |
query : | query |
void gnet_uri_set_fragment (GURI *uri, const gchar *fragment);
Set a GURI's fragment.
uri : | a GURI |
fragment : | fragment |
guint gnet_uri_hash (gconstpointer p);
Creates a hash code for p for use with GHashTable.
p : | a GURI |
Returns : | hash code for p. |
<< IOChannel | Base64 >> |