|  |  |  | Camel Reference Manual |  | 
|---|---|---|---|---|
                    CamelURL;
#define             CAMEL_URL_HIDE_PASSWORD
#define             CAMEL_URL_HIDE_PARAMS
#define             CAMEL_URL_HIDE_AUTH
#define             CAMEL_URL_HIDE_ALL
CamelURL*           camel_url_new_with_base             (CamelURL *base,
                                                         const char *url_string);
CamelURL*           camel_url_new                       (const char *url_string,
                                                         CamelException *ex);
char*               camel_url_to_string                 (CamelURL *url,
                                                         guint32 flags);
void                camel_url_free                      (CamelURL *url);
char*               camel_url_encode                    (const char *part,
                                                         const char *escape_extra);
void                camel_url_decode                    (char *part);
char*               camel_url_decode_path               (const char *path);
void                camel_url_set_protocol              (CamelURL *url,
                                                         const char *protocol);
void                camel_url_set_user                  (CamelURL *url,
                                                         const char *user);
void                camel_url_set_authmech              (CamelURL *url,
                                                         const char *authmech);
void                camel_url_set_passwd                (CamelURL *url,
                                                         const char *passwd);
void                camel_url_set_host                  (CamelURL *url,
                                                         const char *host);
void                camel_url_set_port                  (CamelURL *url,
                                                         int port);
void                camel_url_set_path                  (CamelURL *url,
                                                         const char *path);
void                camel_url_set_param                 (CamelURL *url,
                                                         const char *name,
                                                         const char *value);
void                camel_url_set_query                 (CamelURL *url,
                                                         const char *query);
void                camel_url_set_fragment              (CamelURL *url,
                                                         const char *fragment);
const char*         camel_url_get_param                 (CamelURL *url,
                                                         const char *name);
guint               camel_url_hash                      (const void *v);
int                 camel_url_equal                     (const void *v,
                                                         const void *v2);
CamelURL*           camel_url_copy                      (const CamelURL *in);
typedef struct {
	char  *protocol;
	char  *user;
	char  *authmech;
	char  *passwd;
	char  *host;
	int    port;
	char  *path;
	GData *params;
	char  *query;
	char  *fragment;
} CamelURL;
#define CAMEL_URL_HIDE_ALL (CAMEL_URL_HIDE_PASSWORD | CAMEL_URL_HIDE_PARAMS | CAMEL_URL_HIDE_AUTH)
CamelURL* camel_url_new_with_base (CamelURL *base, const char *url_string);
Parses url_string relative to base.
| base: | a base URL | 
| url_string: | the URL | 
| Returns : | a parsed CamelURL | 
CamelURL* camel_url_new (const char *url_string, CamelException *ex);
Parses an absolute URL.
| url_string: | a URL string | 
| ex: | a CamelException | 
| Returns : | a CamelURL if it can be parsed, or NULLotherwise | 
char* camel_url_to_string (CamelURL *url, guint32 flags);
Flatten a CamelURL into a string.
| url: | a CamelURL | 
| flags: | additional translation options | 
| Returns : | a string representing url, which the caller must free | 
char*               camel_url_encode                    (const char *part,
                                                         const char *escape_extra);
This -encodes the given URL part and returns the escaped version
in allocated memory, which the caller must free when it is done.
| part: | a URL part | 
| escape_extra: | additional characters beyond " \"%#<>{}|\^[]`"
to escape (or NULL) | 
| Returns : | the encoded string | 
void camel_url_decode (char *part);
-decodes the passed-in URL *in place*. The decoded version is
never longer than the encoded version, so there does not need to
be any additional space at the end of the string.
| part: | a URL part | 
void camel_url_set_protocol (CamelURL *url, const char *protocol);
Set the protocol of a CamelURL.
| url: | a CamelURL | 
| protocol: | protocol schema | 
void camel_url_set_user (CamelURL *url, const char *user);
Set the user of a CamelURL.
| url: | a CamelURL | 
| user: | username | 
void camel_url_set_authmech (CamelURL *url, const char *authmech);
Set the authmech of a CamelURL.
| url: | a CamelURL | 
| authmech: | authentication mechanism | 
void camel_url_set_passwd (CamelURL *url, const char *passwd);
Set the password of a CamelURL.
| url: | a CamelURL | 
| passwd: | password | 
void camel_url_set_host (CamelURL *url, const char *host);
Set the hostname of a CamelURL.
| url: | a CamelURL | 
| host: | hostname | 
void camel_url_set_port (CamelURL *url, int port);
Set the port on a CamelURL.
| url: | a CamelURL | 
| port: | port | 
void camel_url_set_path (CamelURL *url, const char *path);
Set the path component of a CamelURL.
| url: | a CamelURL | 
| path: | path | 
void camel_url_set_param (CamelURL *url, const char *name, const char *value);
Set a param on the CamelURL.
| url: | a CamelURL | 
| name: | name of the param to set | 
| value: | value of the param to set | 
void camel_url_set_query (CamelURL *url, const char *query);
Set the query of a CamelURL.
| url: | a CamelURL | 
| query: | url query | 
void camel_url_set_fragment (CamelURL *url, const char *fragment);
Set the fragment of a CamelURL.
| url: | a CamelURL | 
| fragment: | url fragment | 
const char* camel_url_get_param (CamelURL *url, const char *name);
Get the value of the specified param on the URL.