Efreet_Uri: The FDO URI Specification functions
Efreet

## Data Structures

struct | Efreet_Uri
| Efreet_Uri. More...

## Typedefs

typedef struct Efreet_Uri | Efreet_Uri
| Efreet_Uri.

## Functions

const char * | efreet_uri_encode (Efreet_Uri *uri)
| Get the string rapresentation of the given uri struct escaping illegal caracters. Remember to free the string with eina_stringshare_del() when you don't need it anymore.
Efreet_Uri * | efreet_uri_decode (const char *val)
| Read a single uri and return an Efreet_Uri struct. If there's no hostname in the uri then the hostname parameter will be NULL. All the uri escaped chars will be converted to normal.
void | efreet_uri_free (Efreet_Uri *uri)
| Free the given uri structure.

## Detailed Description

## Function Documentation

## efreet_uri_encode()

const char * efreet_uri_encode | ( | Efreet_Uri * | uri | ) |

Get the string rapresentation of the given uri struct escaping illegal caracters. Remember to free the string with eina_stringshare_del() when you don't need it anymore.

Parameters

  uri | Create an URI string from an Efreet_Uri struct

Returns
  The string rapresentation of uri (ex: 'file:///home/my%20name')

Note
  The resulting string will contain the protocol and the path but not the hostname, as many apps doesn't handle it.

References EINA_SAFETY_ON_NULL_RETURN_VAL, eina_stringshare_add(), Efreet_Uri::path, and Efreet_Uri::protocol.

Referenced by efreet_trash_delete_uri().

## efreet_uri_decode()

Efreet_Uri * efreet_uri_decode | ( | const char * | val | ) |

Read a single uri and return an Efreet_Uri struct. If there's no hostname in the uri then the hostname parameter will be NULL. All the uri escaped chars will be converted to normal.

Parameters

  val | a valid uri string to parse

Returns
  Return The corresponding Efreet_Uri structure. Or NULL on errors.

References EINA_SAFETY_ON_NULL_RETURN_VAL, eina_stringshare_add(), evil_utf16_to_utf8(), evil_utf8_to_utf16(), Efreet_Uri::hostname, Efreet_Uri::path, and Efreet_Uri::protocol.

## efreet_uri_free()

void efreet_uri_free | ( | Efreet_Uri * | uri | ) |

Free the given uri structure.

Parameters

  uri | The uri to free

References Efreet_Uri::hostname, Efreet_Uri::path, and Efreet_Uri::protocol.