\hypertarget{group__Efreet__Uri}{\section{Efreet\+\_\+\+Uri\+: The F\+D\+O U\+R\+I 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 \hyperlink{structEfreet__Uri}{Efreet\+\_\+\+Uri}
\begin{DoxyCompactList}\small\item\em \hyperlink{structEfreet__Uri}{Efreet\+\_\+\+Uri}. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
\hypertarget{group__Efreet__Uri_ga9bc07d74f1c8d59c170855a97960d099}{typedef struct \hyperlink{structEfreet__Uri}{Efreet\+\_\+\+Uri} \hyperlink{group__Efreet__Uri_ga9bc07d74f1c8d59c170855a97960d099}{Efreet\+\_\+\+Uri}}\label{group__Efreet__Uri_ga9bc07d74f1c8d59c170855a97960d099}

\begin{DoxyCompactList}\small\item\em \hyperlink{structEfreet__Uri}{Efreet\+\_\+\+Uri}. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
const char $\ast$ \hyperlink{group__Efreet__Uri_ga1d766ebd146dc3f4acae5c7da98b4e25}{efreet\+\_\+uri\+\_\+encode} (\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 \hyperlink{group__Eina__Stringshare__Group_ga4453d2aff2b325c7b45048f30df9b1f5}{eina\+\_\+stringshare\+\_\+del()} when you don't need it anymore. \end{DoxyCompactList}\item 
\hyperlink{structEfreet__Uri}{Efreet\+\_\+\+Uri} $\ast$ \hyperlink{group__Efreet__Uri_ga611b5a7585637c2c44ab050656cf51cd}{efreet\+\_\+uri\+\_\+decode} (const char $\ast$val)
\begin{DoxyCompactList}\small\item\em Read a single uri and return an \hyperlink{structEfreet__Uri}{Efreet\+\_\+\+Uri} struct. If there's no hostname in the uri then the hostname parameter will be N\+U\+L\+L. All the uri escaped chars will be converted to normal. \end{DoxyCompactList}\item 
void \hyperlink{group__Efreet__Uri_gac9f2d68cf71d0cf09946f6a184a56540}{efreet\+\_\+uri\+\_\+free} (\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}
\hypertarget{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[{efreet\+\_\+uri\+\_\+encode}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ efreet\+\_\+uri\+\_\+encode (
\begin{DoxyParamCaption}
\item[{{\bf Efreet\+\_\+\+Uri} $\ast$}]{uri}
\end{DoxyParamCaption}
)}}\label{group__Efreet__Uri_ga1d766ebd146dc3f4acae5c7da98b4e25}


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


\begin{DoxyParams}{Parameters}
{\em uri} & Create an U\+R\+I string from an \hyperlink{structEfreet__Uri}{Efreet\+\_\+\+Uri} struct \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The string rapresentation of uri (ex\+: '\href{file:///home/my%20name'}{\tt file\+:///home/my\%20name'}) 
\end{DoxyReturn}
\begin{DoxyNote}{Note}
The resulting string will contain the protocol and the path but not the hostname, as many apps doesn't handle it. 
\end{DoxyNote}


References eina\+\_\+stringshare\+\_\+add(), path, and protocol.



Referenced by efreet\+\_\+trash\+\_\+delete\+\_\+uri().

\hypertarget{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[{efreet\+\_\+uri\+\_\+decode}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Efreet\+\_\+\+Uri}$\ast$ efreet\+\_\+uri\+\_\+decode (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{val}
\end{DoxyParamCaption}
)}}\label{group__Efreet__Uri_ga611b5a7585637c2c44ab050656cf51cd}


Read a single uri and return an \hyperlink{structEfreet__Uri}{Efreet\+\_\+\+Uri} struct. If there's no hostname in the uri then the hostname parameter will be N\+U\+L\+L. 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 \hyperlink{structEfreet__Uri}{Efreet\+\_\+\+Uri} structure. Or N\+U\+L\+L on errors. 
\end{DoxyReturn}


References eina\+\_\+stringshare\+\_\+add(), hostname, path, and protocol.

\hypertarget{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[{efreet\+\_\+uri\+\_\+free}]{\setlength{\rightskip}{0pt plus 5cm}void efreet\+\_\+uri\+\_\+free (
\begin{DoxyParamCaption}
\item[{{\bf Efreet\+\_\+\+Uri} $\ast$}]{uri}
\end{DoxyParamCaption}
)}}\label{group__Efreet__Uri_gac9f2d68cf71d0cf09946f6a184a56540}


Free the given uri structure. 


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


References hostname, path, and protocol.

