\hypertarget{group__Efreet__Uri}{}\section{Efreet\+\_\+\+Uri\+: The F\+DO U\+RI Specification functions}
\label{group__Efreet__Uri}\index{Efreet\+\_\+\+Uri\+: The F\+D\+O U\+R\+I Specification functions@{Efreet\+\_\+\+Uri\+: The F\+D\+O U\+R\+I Specification functions}}
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{structEfreet__Uri}{Efreet\+\_\+\+Uri}}
\begin{DoxyCompactList}\small\item\em \mbox{\hyperlink{structEfreet__Uri}{Efreet\+\_\+\+Uri}}. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{group__Efreet__Uri_ga9bc07d74f1c8d59c170855a97960d099}\label{group__Efreet__Uri_ga9bc07d74f1c8d59c170855a97960d099}} 
typedef struct \mbox{\hyperlink{structEfreet__Uri}{Efreet\+\_\+\+Uri}} \mbox{\hyperlink{group__Efreet__Uri_ga9bc07d74f1c8d59c170855a97960d099}{Efreet\+\_\+\+Uri}}
\begin{DoxyCompactList}\small\item\em \mbox{\hyperlink{structEfreet__Uri}{Efreet\+\_\+\+Uri}}. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
const char $\ast$ \mbox{\hyperlink{group__Efreet__Uri_ga1d766ebd146dc3f4acae5c7da98b4e25}{efreet\+\_\+uri\+\_\+encode}} (\mbox{\hyperlink{structEfreet__Uri}{Efreet\+\_\+\+Uri}} $\ast$uri)
\begin{DoxyCompactList}\small\item\em Get the string rapresentation of the given uri struct escaping illegal caracters. Remember to free the string with \mbox{\hyperlink{group__Eina__Stringshare__Group_ga495411b0bc85b9c0d59ec7255a025260}{eina\+\_\+stringshare\+\_\+del()}} when you don\textquotesingle{}t need it anymore. \end{DoxyCompactList}\item 
\mbox{\hyperlink{structEfreet__Uri}{Efreet\+\_\+\+Uri}} $\ast$ \mbox{\hyperlink{group__Efreet__Uri_ga611b5a7585637c2c44ab050656cf51cd}{efreet\+\_\+uri\+\_\+decode}} (const char $\ast$val)
\begin{DoxyCompactList}\small\item\em Read a single uri and return an \mbox{\hyperlink{structEfreet__Uri}{Efreet\+\_\+\+Uri}} struct. If there\textquotesingle{}s no hostname in the uri then the hostname parameter will be N\+U\+LL. All the uri escaped chars will be converted to normal. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Efreet__Uri_gac9f2d68cf71d0cf09946f6a184a56540}{efreet\+\_\+uri\+\_\+free}} (\mbox{\hyperlink{structEfreet__Uri}{Efreet\+\_\+\+Uri}} $\ast$uri)
\begin{DoxyCompactList}\small\item\em Free the given uri structure. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}


\subsection{Function Documentation}
\mbox{\Hypertarget{group__Efreet__Uri_ga1d766ebd146dc3f4acae5c7da98b4e25}\label{group__Efreet__Uri_ga1d766ebd146dc3f4acae5c7da98b4e25}} 
\index{Efreet\+\_\+\+Uri\+: The F\+D\+O U\+R\+I Specification functions@{Efreet\+\_\+\+Uri\+: The F\+D\+O U\+R\+I Specification functions}!efreet\+\_\+uri\+\_\+encode@{efreet\+\_\+uri\+\_\+encode}}
\index{efreet\+\_\+uri\+\_\+encode@{efreet\+\_\+uri\+\_\+encode}!Efreet\+\_\+\+Uri\+: The F\+D\+O U\+R\+I Specification functions@{Efreet\+\_\+\+Uri\+: The F\+D\+O U\+R\+I Specification functions}}
\subsubsection{\texorpdfstring{efreet\+\_\+uri\+\_\+encode()}{efreet\_uri\_encode()}}
{\footnotesize\ttfamily const char$\ast$ efreet\+\_\+uri\+\_\+encode (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structEfreet__Uri}{Efreet\+\_\+\+Uri}} $\ast$}]{uri }\end{DoxyParamCaption})}



Get the string rapresentation of the given uri struct escaping illegal caracters. Remember to free the string with \mbox{\hyperlink{group__Eina__Stringshare__Group_ga495411b0bc85b9c0d59ec7255a025260}{eina\+\_\+stringshare\+\_\+del()}} when you don\textquotesingle{}t need it anymore. 


\begin{DoxyParams}{Parameters}
{\em uri} & Create an U\+RI string from an \mbox{\hyperlink{structEfreet__Uri}{Efreet\+\_\+\+Uri}} struct \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The string rapresentation of uri (ex\+: \textquotesingle{}\href{file:///home/my%20name'}{\tt file\+:///home/my\%20name\textquotesingle{}}) 
\end{DoxyReturn}
\begin{DoxyNote}{Note}
The resulting string will contain the protocol and the path but not the hostname, as many apps doesn\textquotesingle{}t handle it. 
\end{DoxyNote}
\mbox{\Hypertarget{group__Efreet__Uri_ga611b5a7585637c2c44ab050656cf51cd}\label{group__Efreet__Uri_ga611b5a7585637c2c44ab050656cf51cd}} 
\index{Efreet\+\_\+\+Uri\+: The F\+D\+O U\+R\+I Specification functions@{Efreet\+\_\+\+Uri\+: The F\+D\+O U\+R\+I Specification functions}!efreet\+\_\+uri\+\_\+decode@{efreet\+\_\+uri\+\_\+decode}}
\index{efreet\+\_\+uri\+\_\+decode@{efreet\+\_\+uri\+\_\+decode}!Efreet\+\_\+\+Uri\+: The F\+D\+O U\+R\+I Specification functions@{Efreet\+\_\+\+Uri\+: The F\+D\+O U\+R\+I Specification functions}}
\subsubsection{\texorpdfstring{efreet\+\_\+uri\+\_\+decode()}{efreet\_uri\_decode()}}
{\footnotesize\ttfamily \mbox{\hyperlink{structEfreet__Uri}{Efreet\+\_\+\+Uri}}$\ast$ efreet\+\_\+uri\+\_\+decode (\begin{DoxyParamCaption}\item[{const char $\ast$}]{val }\end{DoxyParamCaption})}



Read a single uri and return an \mbox{\hyperlink{structEfreet__Uri}{Efreet\+\_\+\+Uri}} struct. If there\textquotesingle{}s no hostname in the uri then the hostname parameter will be N\+U\+LL. All the uri escaped chars will be converted to normal. 


\begin{DoxyParams}{Parameters}
{\em val} & a valid uri string to parse \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Return The corresponding \mbox{\hyperlink{structEfreet__Uri}{Efreet\+\_\+\+Uri}} structure. Or N\+U\+LL on errors. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__Efreet__Uri_gac9f2d68cf71d0cf09946f6a184a56540}\label{group__Efreet__Uri_gac9f2d68cf71d0cf09946f6a184a56540}} 
\index{Efreet\+\_\+\+Uri\+: The F\+D\+O U\+R\+I Specification functions@{Efreet\+\_\+\+Uri\+: The F\+D\+O U\+R\+I Specification functions}!efreet\+\_\+uri\+\_\+free@{efreet\+\_\+uri\+\_\+free}}
\index{efreet\+\_\+uri\+\_\+free@{efreet\+\_\+uri\+\_\+free}!Efreet\+\_\+\+Uri\+: The F\+D\+O U\+R\+I Specification functions@{Efreet\+\_\+\+Uri\+: The F\+D\+O U\+R\+I Specification functions}}
\subsubsection{\texorpdfstring{efreet\+\_\+uri\+\_\+free()}{efreet\_uri\_free()}}
{\footnotesize\ttfamily void efreet\+\_\+uri\+\_\+free (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structEfreet__Uri}{Efreet\+\_\+\+Uri}} $\ast$}]{uri }\end{DoxyParamCaption})}



Free the given uri structure. 


\begin{DoxyParams}{Parameters}
{\em uri} & The uri to free \\
\hline
\end{DoxyParams}


References hostname, path, and protocol.

