EUrl 3 LIBEDATASERVER Library
EUrl A URI data structure and associated functions.

## Synopsis

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

## Description

## Details

### e_url_shroud ()

    char*       e_url_shroud                    (const char *url);

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

url :

  The url to shroud.

Returns :

  The newly-allocated shrouded url.

e_url_shroud

### e_url_equal ()

    gboolean    e_url_equal                     (const char *url1,
                                                 const char *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.

e_url_equal

### EUri

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

A structure representing a URI.

char *protocol;

  The protocol to use.

char *user;

  A user name.

char *authmech;

  The authentication mechanism.

char *passwd;

  The connection password.

char *host;

  The host name.

int port;

  The port number.

char *path;

  The file path on the host.

GData *params;

  Additional parameters.

char *query;

char *fragment;

EUri

### e_uri_new ()

    EUri*       e_uri_new                       (const char *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_new

### 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_free

### e_uri_get_param ()

    const char* e_uri_get_param                 (EUri *uri,
                                                 const char *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_get_param

### 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_copy

### e_uri_to_string ()

    char*       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.

e_uri_to_string