## EUrl

EUrl — A URI data structure and associated functions.

## Synopsis

    gchar *             e_url_shroud                        (const gchar *url);
    gboolean            e_url_equal                         (const gchar *url1,
                                                             const gchar *url2);
                        EUri;
    EUri *              e_uri_new                           (const gchar *uri_string);
    void                e_uri_free                          (EUri *uri);
    const gchar *       e_uri_get_param                     (EUri *uri,
                                                             const gchar *name);
    EUri *              e_uri_copy                          (EUri *uri);
    gchar *             e_uri_to_string                     (EUri *uri,
                                                             gboolean show_password);

## Description

## Details

### e_url_shroud ()

    gchar *             e_url_shroud                        (const gchar *url);

Removes the moniker (i.e. mailto:) from a url.

`url` : | The url to shroud.
Returns : | The newly-allocated shrouded url.

### e_url_equal ()

    gboolean            e_url_equal                         (const gchar *url1,
                                                             const gchar *url2);

Checks two urls for equality, after first removing any monikers on the urls.

`url1` : | The first url to compare.
`url2` : | The second url to compare.
Returns : | `TRUE` if the urls are equal, `FALSE` if they are not.

### EUri

    typedef struct {
    	gchar  *protocol;
    	gchar  *user;
    	gchar  *authmech;
    	gchar  *passwd;
    	gchar  *host;
    	gint    port;
    	gchar  *path;
    	GData *params;
    	gchar  *query;
    	gchar  *fragment;
    } EUri;

A structure representing a URI.

gchar *`protocol`; | The protocol to use.
gchar *`user`; | A user name.
gchar *`authmech`; | The authentication mechanism.
gchar *`passwd`; | The connection password.
gchar *`host`; | The host name.
gint `port`; | The port number.
gchar *`path`; | The file path on the host.
GData *`params`; | Additional parameters.
gchar *`query`; |
gchar *`fragment`; |

### e_uri_new ()

    EUri *              e_uri_new                           (const gchar *uri_string);

Creates an EUri representation of the uri given in `uri_string`.

`uri_string` : | The uri to represent as an EUri.
Returns : | The newly-allocated EUri structure.

### e_uri_free ()

    void                e_uri_free                          (EUri *uri);

Frees the memory of an EUri structure.

`uri` : | A pointer to the EUri to free.

### e_uri_get_param ()

    const gchar *       e_uri_get_param                     (EUri *uri,
                                                             const gchar *name);

Retrieves the value of the parameter associated with `name` in `uri`.

`uri` : | The EUri to get the parameter from.
`name` : | The name of the parameter to get.
Returns : | The value of the parameter.

### e_uri_copy ()

    EUri *              e_uri_copy                          (EUri *uri);

Makes a copy of `uri`.

`uri` : | The EUri to copy.
Returns : | The newly-allocated copy of `uri`.

### e_uri_to_string ()

    gchar *             e_uri_to_string                     (EUri *uri,
                                                             gboolean show_password);

Creates a string representation of `uri`. The password will only be included in the string if `show_password` is set to `TRUE`.

`uri` : | The EUri to convert to a string.
`show_password` : | Whether or not to show the password in the string.
Returns : | The string representation of `uri`.