\hypertarget{group__Ecore__File__Group}{}\section{Ecore\+\_\+\+File -\/ Files and directories convenience functions}
\label{group__Ecore__File__Group}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
\hypertarget{group__Ecore__File__Group_ga4fdec59d561b66134827381ec5105cf2}{}typedef struct \+\_\+\+Ecore\+\_\+\+File\+\_\+\+Monitor \hyperlink{group__Ecore__File__Group_ga4fdec59d561b66134827381ec5105cf2}{Ecore\+\_\+\+File\+\_\+\+Monitor}\label{group__Ecore__File__Group_ga4fdec59d561b66134827381ec5105cf2}

\begin{DoxyCompactList}\small\item\em Abstract type used when monitoring a directory. \end{DoxyCompactList}\item 
\hypertarget{group__Ecore__File__Group_gac13ffcf33aa05a26d8cd36b22918a8b9}{}typedef struct \+\_\+\+Ecore\+\_\+\+File\+\_\+\+Download\+\_\+\+Job \hyperlink{group__Ecore__File__Group_gac13ffcf33aa05a26d8cd36b22918a8b9}{Ecore\+\_\+\+File\+\_\+\+Download\+\_\+\+Job}\label{group__Ecore__File__Group_gac13ffcf33aa05a26d8cd36b22918a8b9}

\begin{DoxyCompactList}\small\item\em Abstract type used when aborting a download. \end{DoxyCompactList}\item 
\hypertarget{group__Ecore__File__Group_ga02c8c65e8e9a7e4b3740d84b4397d90c}{}typedef enum \hyperlink{group__Ecore__File__Group_gac8673e397a2f2e7ee03f814d118d03b5}{\+\_\+\+Ecore\+\_\+\+File\+\_\+\+Event} {\bfseries Ecore\+\_\+\+File\+\_\+\+Event}\label{group__Ecore__File__Group_ga02c8c65e8e9a7e4b3740d84b4397d90c}

\item 
\hypertarget{group__Ecore__File__Group_ga65d84a5d2abfc494f103ef3fe0de6e34}{}typedef void($\ast$ \hyperlink{group__Ecore__File__Group_ga65d84a5d2abfc494f103ef3fe0de6e34}{Ecore\+\_\+\+File\+\_\+\+Monitor\+\_\+\+Cb}) (void $\ast$data, \hyperlink{group__Ecore__File__Group_ga4fdec59d561b66134827381ec5105cf2}{Ecore\+\_\+\+File\+\_\+\+Monitor} $\ast$em, Ecore\+\_\+\+File\+\_\+\+Event event, const char $\ast$path)\label{group__Ecore__File__Group_ga65d84a5d2abfc494f103ef3fe0de6e34}

\begin{DoxyCompactList}\small\item\em Callback type used when a monitored directory has changes. \end{DoxyCompactList}\item 
\hypertarget{group__Ecore__File__Group_ga71ca51b9726d274b1b750b021fdb8730}{}typedef void($\ast$ \hyperlink{group__Ecore__File__Group_ga71ca51b9726d274b1b750b021fdb8730}{Ecore\+\_\+\+File\+\_\+\+Download\+\_\+\+Completion\+\_\+\+Cb}) (void $\ast$data, const char $\ast$file, int status)\label{group__Ecore__File__Group_ga71ca51b9726d274b1b750b021fdb8730}

\begin{DoxyCompactList}\small\item\em Callback type used when a download is finished. \end{DoxyCompactList}\item 
\hypertarget{group__Ecore__File__Group_gaf69fc84b65f638ab9014ce5870e0d664}{}typedef enum \hyperlink{group__Ecore__File__Group_gaf2261d7075a4ccb5a3e1821290ca97ca}{\+\_\+\+Ecore\+\_\+\+File\+\_\+\+Progress\+\_\+\+Return} {\bfseries Ecore\+\_\+\+File\+\_\+\+Progress\+\_\+\+Return}\label{group__Ecore__File__Group_gaf69fc84b65f638ab9014ce5870e0d664}

\item 
\hypertarget{group__Ecore__File__Group_ga829dc96dbd2cb2bda6d2e8308b3fa24b}{}typedef int($\ast$ \hyperlink{group__Ecore__File__Group_ga829dc96dbd2cb2bda6d2e8308b3fa24b}{Ecore\+\_\+\+File\+\_\+\+Download\+\_\+\+Progress\+\_\+\+Cb}) (void $\ast$data, const char $\ast$file, long int dltotal, long int dlnow, long int ultotal, long int ulnow)\label{group__Ecore__File__Group_ga829dc96dbd2cb2bda6d2e8308b3fa24b}

\begin{DoxyCompactList}\small\item\em Callback type used while a download is in progress. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \hyperlink{group__Ecore__File__Group_gac8673e397a2f2e7ee03f814d118d03b5}{\+\_\+\+Ecore\+\_\+\+File\+\_\+\+Event} \{ \\*
\hyperlink{group__Ecore__File__Group_ggac8673e397a2f2e7ee03f814d118d03b5a5b6731602105064764529adac4d1264f}{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+N\+O\+N\+E}, 
\\*
\hyperlink{group__Ecore__File__Group_ggac8673e397a2f2e7ee03f814d118d03b5a2c6fef381c6d027d6dfd9e9cf211fa67}{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+C\+R\+E\+A\+T\+E\+D\+\_\+\+F\+I\+L\+E}, 
\\*
\hyperlink{group__Ecore__File__Group_ggac8673e397a2f2e7ee03f814d118d03b5a32961ee791cf962f8f1de26664e2b6fc}{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+C\+R\+E\+A\+T\+E\+D\+\_\+\+D\+I\+R\+E\+C\+T\+O\+R\+Y}, 
\\*
\hyperlink{group__Ecore__File__Group_ggac8673e397a2f2e7ee03f814d118d03b5a09a4bf150129aadfca5d84361ee8607b}{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+D\+E\+L\+E\+T\+E\+D\+\_\+\+F\+I\+L\+E}, 
\\*
\hyperlink{group__Ecore__File__Group_ggac8673e397a2f2e7ee03f814d118d03b5a41917336c75e34e825ba34e0cacc3515}{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+D\+E\+L\+E\+T\+E\+D\+\_\+\+D\+I\+R\+E\+C\+T\+O\+R\+Y}, 
\\*
\hyperlink{group__Ecore__File__Group_ggac8673e397a2f2e7ee03f814d118d03b5a728ccffd07a101b7c7377dfd48a71224}{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+D\+E\+L\+E\+T\+E\+D\+\_\+\+S\+E\+L\+F}, 
\\*
\hyperlink{group__Ecore__File__Group_ggac8673e397a2f2e7ee03f814d118d03b5ab284e0b8654545672937914a9c838973}{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+M\+O\+D\+I\+F\+I\+E\+D}, 
\\*
\hyperlink{group__Ecore__File__Group_ggac8673e397a2f2e7ee03f814d118d03b5ac82f89c8c4ee15891af196c7c26a5772}{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+C\+L\+O\+S\+E\+D}
 \}
\begin{DoxyCompactList}\small\item\em The event type returned when a file or directory is monitored. \end{DoxyCompactList}\item 
enum \hyperlink{group__Ecore__File__Group_gaf2261d7075a4ccb5a3e1821290ca97ca}{\+\_\+\+Ecore\+\_\+\+File\+\_\+\+Progress\+\_\+\+Return} \{ \\*
\hyperlink{group__Ecore__File__Group_ggaf2261d7075a4ccb5a3e1821290ca97caa034acca14263fec55dbcb7162a7cbe1d}{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+P\+R\+O\+G\+R\+E\+S\+S\+\_\+\+C\+O\+N\+T\+I\+N\+U\+E} = 0, 
\\*
\hyperlink{group__Ecore__File__Group_ggaf2261d7075a4ccb5a3e1821290ca97caa255e0cbdd2f78fd1fb6f5bc8dcf1204a}{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+P\+R\+O\+G\+R\+E\+S\+S\+\_\+\+A\+B\+O\+R\+T} = 1
 \}
\begin{DoxyCompactList}\small\item\em What to do with the download as a return from the Ecore\+\_\+\+File\+\_\+\+Download\+\_\+\+Progress\+\_\+\+Cb function, if provided. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
int \hyperlink{group__Ecore__File__Group_gaac9350c7cd245595244e1bb5e2900711}{ecore\+\_\+file\+\_\+init} ()
\begin{DoxyCompactList}\small\item\em Initialize the Ecore\+\_\+\+File library. \end{DoxyCompactList}\item 
int \hyperlink{group__Ecore__File__Group_gae55c5ea738ffaae2ca8887e3689f0e73}{ecore\+\_\+file\+\_\+shutdown} ()
\begin{DoxyCompactList}\small\item\em Shut down the Ecore\+\_\+\+File library. \end{DoxyCompactList}\item 
long long \hyperlink{group__Ecore__File__Group_gaaef663ea76aae7aeba5814f1b8f2a013}{ecore\+\_\+file\+\_\+mod\+\_\+time} (const char $\ast$file)
\begin{DoxyCompactList}\small\item\em Get the time of the last modification to the given file. \end{DoxyCompactList}\item 
long long \hyperlink{group__Ecore__File__Group_ga6ac9d3d430a6110467ca3e2ac96a8851}{ecore\+\_\+file\+\_\+size} (const char $\ast$file)
\begin{DoxyCompactList}\small\item\em Get the size of the given file. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Ecore__File__Group_gaf5a3cc8bd9bf69a3ebce0678fe799016}{ecore\+\_\+file\+\_\+exists} (const char $\ast$file)
\begin{DoxyCompactList}\small\item\em Check if the given file exists. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Ecore__File__Group_ga2b8800b3ecf0c96fb2e47737827ed70f}{ecore\+\_\+file\+\_\+is\+\_\+dir} (const char $\ast$file)
\begin{DoxyCompactList}\small\item\em Check if the given file is a directory. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Ecore__File__Group_gafdfe259d9a595dc05c8fc725342b253c}{ecore\+\_\+file\+\_\+mkdir} (const char $\ast$dir)
\begin{DoxyCompactList}\small\item\em Create a new directory. \end{DoxyCompactList}\item 
int \hyperlink{group__Ecore__File__Group_ga609a0f775c9715843a42de504e034ad4}{ecore\+\_\+file\+\_\+mkdirs} (const char $\ast$$\ast$dirs)
\begin{DoxyCompactList}\small\item\em Create complete directory in a batch. \end{DoxyCompactList}\item 
int \hyperlink{group__Ecore__File__Group_gacf70d8b8ad53aa3e23a7351ed5f16b14}{ecore\+\_\+file\+\_\+mksubdirs} (const char $\ast$base, const char $\ast$$\ast$subdirs)
\begin{DoxyCompactList}\small\item\em Create complete list of sub-\/directories in a batch (optimized). \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Ecore__File__Group_ga62cef63e255470c97a4d95963a3a07b1}{ecore\+\_\+file\+\_\+rmdir} (const char $\ast$dir)
\begin{DoxyCompactList}\small\item\em Delete the given directory. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Ecore__File__Group_ga38fa7db112c1fc3c6ca6dcc367f036bb}{ecore\+\_\+file\+\_\+unlink} (const char $\ast$file)
\begin{DoxyCompactList}\small\item\em Delete the given file. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Ecore__File__Group_ga67811f9072dc5bbc10a63c056b0df9d4}{ecore\+\_\+file\+\_\+remove} (const char $\ast$file)
\begin{DoxyCompactList}\small\item\em Remove the given file or directory. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Ecore__File__Group_ga6e2d09d544f8e2b53c9518d521e1efd0}{ecore\+\_\+file\+\_\+recursive\+\_\+rm} (const char $\ast$dir)
\begin{DoxyCompactList}\small\item\em Delete the given directory and all its contents. \end{DoxyCompactList}\item 
\hypertarget{group__Ecore__File__Group_ga66e3331e3d2af24a01413eb8aacfe902}{}static \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} {\bfseries \+\_\+ecore\+\_\+file\+\_\+mkpath\+\_\+if\+\_\+not\+\_\+exists} (const char $\ast$path)\label{group__Ecore__File__Group_ga66e3331e3d2af24a01413eb8aacfe902}

\item 
\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Ecore__File__Group_ga12cd44f20708fcc4a123dea675a33a93}{ecore\+\_\+file\+\_\+mkpath} (const char $\ast$path)
\begin{DoxyCompactList}\small\item\em Create a complete path. \end{DoxyCompactList}\item 
int \hyperlink{group__Ecore__File__Group_ga53017b49303ea8742096462fd7398f82}{ecore\+\_\+file\+\_\+mkpaths} (const char $\ast$$\ast$paths)
\begin{DoxyCompactList}\small\item\em Create complete paths in a batch. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Ecore__File__Group_ga93de3e691ec32bb8220545f9d807e3e5}{ecore\+\_\+file\+\_\+cp} (const char $\ast$src, const char $\ast$dst)
\begin{DoxyCompactList}\small\item\em Copy the given file to the given destination. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Ecore__File__Group_gadcb442b00a20cb19e2cd84fa9910b9d6}{ecore\+\_\+file\+\_\+mv} (const char $\ast$src, const char $\ast$dst)
\begin{DoxyCompactList}\small\item\em Move the given file to the given destination. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Ecore__File__Group_gabac9e816fc64684cb2e9d8c7c4443818}{ecore\+\_\+file\+\_\+symlink} (const char $\ast$src, const char $\ast$dest)
\begin{DoxyCompactList}\small\item\em Create a symbolic link. \end{DoxyCompactList}\item 
char $\ast$ \hyperlink{group__Ecore__File__Group_ga062018ae501d68814d586483391b9daa}{ecore\+\_\+file\+\_\+realpath} (const char $\ast$file)
\begin{DoxyCompactList}\small\item\em Get the canonicalized absolute path name. \end{DoxyCompactList}\item 
const char $\ast$ \hyperlink{group__Ecore__File__Group_ga5f5fe7219c6288fecaa840f81c035cb7}{ecore\+\_\+file\+\_\+file\+\_\+get} (const char $\ast$path)
\begin{DoxyCompactList}\small\item\em Get the filename from a given path. \end{DoxyCompactList}\item 
char $\ast$ \hyperlink{group__Ecore__File__Group_gac806bae3ba255661ad7cc814f4b12857}{ecore\+\_\+file\+\_\+dir\+\_\+get} (const char $\ast$file)
\begin{DoxyCompactList}\small\item\em Get the directory where the given file resides. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Ecore__File__Group_ga3b844d86804b9566aac515becda9dbf2}{ecore\+\_\+file\+\_\+can\+\_\+read} (const char $\ast$file)
\begin{DoxyCompactList}\small\item\em Check if the given file can be read. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Ecore__File__Group_gaa32b8720b401b8677cec4b12da261a6d}{ecore\+\_\+file\+\_\+can\+\_\+write} (const char $\ast$file)
\begin{DoxyCompactList}\small\item\em Check if the given file can be written. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Ecore__File__Group_ga92b7bb460e4d4e92a12c0c144fb69feb}{ecore\+\_\+file\+\_\+can\+\_\+exec} (const char $\ast$file)
\begin{DoxyCompactList}\small\item\em Check if the given file can be executed. \end{DoxyCompactList}\item 
char $\ast$ \hyperlink{group__Ecore__File__Group_ga289b55071970aceb0f2fc70cb0f8647d}{ecore\+\_\+file\+\_\+readlink} (const char $\ast$lnk)
\begin{DoxyCompactList}\small\item\em Get the path pointed by the given link. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List} $\ast$ \hyperlink{group__Ecore__File__Group_gab7baa24c2abea205b4d1f92397f1bda0}{ecore\+\_\+file\+\_\+ls} (const char $\ast$dir)
\begin{DoxyCompactList}\small\item\em Get the list of the files and directories in the given directory. \end{DoxyCompactList}\item 
char $\ast$ \hyperlink{group__Ecore__File__Group_gab01d35474ff7390e41e19609712f6923}{ecore\+\_\+file\+\_\+app\+\_\+exe\+\_\+get} (const char $\ast$app)
\begin{DoxyCompactList}\small\item\em Return the executable from the given command. \end{DoxyCompactList}\item 
char $\ast$ \hyperlink{group__Ecore__File__Group_ga0d33ee025d316f91c179bd6cd5f9a9d7}{ecore\+\_\+file\+\_\+escape\+\_\+name} (const char $\ast$filename)
\begin{DoxyCompactList}\small\item\em Add the escape sequence (\textquotesingle{}\textbackslash{}\textquotesingle{}) to the given file name. \end{DoxyCompactList}\item 
char $\ast$ \hyperlink{group__Ecore__File__Group_ga04e08638c8ba981a6419e64c19b4688b}{ecore\+\_\+file\+\_\+strip\+\_\+ext} (const char $\ast$path)
\begin{DoxyCompactList}\small\item\em Remove the extension from the given file name. \end{DoxyCompactList}\item 
int \hyperlink{group__Ecore__File__Group_ga5f6777eb4beea434372df0aa7357979b}{ecore\+\_\+file\+\_\+dir\+\_\+is\+\_\+empty} (const char $\ast$dir)
\begin{DoxyCompactList}\small\item\em Check if the given directory is empty. \end{DoxyCompactList}\item 
\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Ecore__File__Group_ga4fdec59d561b66134827381ec5105cf2}{Ecore\+\_\+\+File\+\_\+\+Monitor} $\ast$ \hyperlink{group__Ecore__File__Group_ga7d71d00f7b8a1a81a2938989f7da01c7}{ecore\+\_\+file\+\_\+monitor\+\_\+add} (const char $\ast$path, \hyperlink{group__Ecore__File__Group_ga65d84a5d2abfc494f103ef3fe0de6e34}{Ecore\+\_\+\+File\+\_\+\+Monitor\+\_\+\+Cb} func, void $\ast$data)
\begin{DoxyCompactList}\small\item\em Monitor the given path using inotify, Windows notification, or polling. \end{DoxyCompactList}\item 
\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__Ecore__File__Group_ga36214769a9ef953f4d2ddcef0259a651}{ecore\+\_\+file\+\_\+monitor\+\_\+del} (\hyperlink{group__Ecore__File__Group_ga4fdec59d561b66134827381ec5105cf2}{Ecore\+\_\+\+File\+\_\+\+Monitor} $\ast$em)
\begin{DoxyCompactList}\small\item\em Stop the monitoring of the given path. \end{DoxyCompactList}\item 
\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} const char $\ast$ \hyperlink{group__Ecore__File__Group_ga2776918fe65501483d67f61c7ab63340}{ecore\+\_\+file\+\_\+monitor\+\_\+path\+\_\+get} (\hyperlink{group__Ecore__File__Group_ga4fdec59d561b66134827381ec5105cf2}{Ecore\+\_\+\+File\+\_\+\+Monitor} $\ast$em)
\begin{DoxyCompactList}\small\item\em Get the monitored path. \end{DoxyCompactList}\item 
\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Ecore__File__Group_ga0b979b4dc509a159f087136743e8fc74}{ecore\+\_\+file\+\_\+path\+\_\+dir\+\_\+exists} (const char $\ast$in\+\_\+dir)
\begin{DoxyCompactList}\small\item\em Check if the given directory is in P\+A\+T\+H. \end{DoxyCompactList}\item 
\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Ecore__File__Group_ga0826230d24ff7834c9c10f1cbc82c2ed}{ecore\+\_\+file\+\_\+app\+\_\+installed} (const char $\ast$exe)
\begin{DoxyCompactList}\small\item\em Check if the given application is installed. \end{DoxyCompactList}\item 
\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List} $\ast$ \hyperlink{group__Ecore__File__Group_gaafdd314a82446206de611bfafb1d2776}{ecore\+\_\+file\+\_\+app\+\_\+list} (void)
\begin{DoxyCompactList}\small\item\em Get a list of all the applications installed on the system. \end{DoxyCompactList}\item 
\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Ecore__File__Group_ga3ec2d36d0e56daf214199fd2e2307caa}{ecore\+\_\+file\+\_\+download} (const char $\ast$url, const char $\ast$dst, \hyperlink{group__Ecore__File__Group_ga71ca51b9726d274b1b750b021fdb8730}{Ecore\+\_\+\+File\+\_\+\+Download\+\_\+\+Completion\+\_\+\+Cb} completion\+\_\+cb, \hyperlink{group__Ecore__File__Group_ga829dc96dbd2cb2bda6d2e8308b3fa24b}{Ecore\+\_\+\+File\+\_\+\+Download\+\_\+\+Progress\+\_\+\+Cb} progress\+\_\+cb, void $\ast$data, \hyperlink{group__Ecore__File__Group_gac13ffcf33aa05a26d8cd36b22918a8b9}{Ecore\+\_\+\+File\+\_\+\+Download\+\_\+\+Job} $\ast$$\ast$job\+\_\+ret)
\begin{DoxyCompactList}\small\item\em Download the given url to the given destination. \end{DoxyCompactList}\item 
\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Ecore__File__Group_ga79099348cfad7e1da8158470f058db15}{ecore\+\_\+file\+\_\+download\+\_\+full} (const char $\ast$url, const char $\ast$dst, \hyperlink{group__Ecore__File__Group_ga71ca51b9726d274b1b750b021fdb8730}{Ecore\+\_\+\+File\+\_\+\+Download\+\_\+\+Completion\+\_\+\+Cb} completion\+\_\+cb, \hyperlink{group__Ecore__File__Group_ga829dc96dbd2cb2bda6d2e8308b3fa24b}{Ecore\+\_\+\+File\+\_\+\+Download\+\_\+\+Progress\+\_\+\+Cb} progress\+\_\+cb, void $\ast$data, \hyperlink{group__Ecore__File__Group_gac13ffcf33aa05a26d8cd36b22918a8b9}{Ecore\+\_\+\+File\+\_\+\+Download\+\_\+\+Job} $\ast$$\ast$job\+\_\+ret, \hyperlink{group__Eina__Hash__Group_ga9a89d7d3ee260d3a60572ebf651b07e0}{Eina\+\_\+\+Hash} $\ast$headers)
\begin{DoxyCompactList}\small\item\em Download the given url to the given destination with additional headers. \end{DoxyCompactList}\item 
\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__Ecore__File__Group_ga70a16572e7a68d86fc73b2832ee61f40}{ecore\+\_\+file\+\_\+download\+\_\+abort\+\_\+all} (void)
\begin{DoxyCompactList}\small\item\em Abort all downloads. \end{DoxyCompactList}\item 
\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__Ecore__File__Group_gaab33a141bc148f306f4023df3f106ab9}{ecore\+\_\+file\+\_\+download\+\_\+abort} (\hyperlink{group__Ecore__File__Group_gac13ffcf33aa05a26d8cd36b22918a8b9}{Ecore\+\_\+\+File\+\_\+\+Download\+\_\+\+Job} $\ast$job)
\begin{DoxyCompactList}\small\item\em Abort the given download job and call the completion\+\_\+cb callbck with a status of 1 (error). \end{DoxyCompactList}\item 
\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Ecore__File__Group_gab1aa4e6a7be639e47be2c0a10be7124e}{ecore\+\_\+file\+\_\+download\+\_\+protocol\+\_\+available} (const char $\ast$protocol)
\begin{DoxyCompactList}\small\item\em Check if the given protocol is available. \end{DoxyCompactList}\item 
\hypertarget{group__Ecore__File__Group_ga5fe4c28da06d41c0d46a0d0afdad5010}{}static int {\bfseries \+\_\+ecore\+\_\+file\+\_\+download\+\_\+url\+\_\+compare\+\_\+job} (const void $\ast$data1, const void $\ast$data2)\label{group__Ecore__File__Group_ga5fe4c28da06d41c0d46a0d0afdad5010}

\item 
\hypertarget{group__Ecore__File__Group_ga0f89d6390f42cd150374b5150d2655ae}{}static \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} {\bfseries \+\_\+ecore\+\_\+file\+\_\+download\+\_\+url\+\_\+complete\+\_\+cb} (void $\ast$data, int type, void $\ast$event)\label{group__Ecore__File__Group_ga0f89d6390f42cd150374b5150d2655ae}

\item 
\hypertarget{group__Ecore__File__Group_gae12188f2e371f2e2c0a19db2dc88a6e4}{}static \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} {\bfseries \+\_\+ecore\+\_\+file\+\_\+download\+\_\+url\+\_\+progress\+\_\+cb} (void $\ast$data, int type, void $\ast$event)\label{group__Ecore__File__Group_gae12188f2e371f2e2c0a19db2dc88a6e4}

\item 
\hypertarget{group__Ecore__File__Group_ga4a9a92d95ddb529b9c6202a74c43786c}{}\hyperlink{group__Ecore__File__Group_gac13ffcf33aa05a26d8cd36b22918a8b9}{Ecore\+\_\+\+File\+\_\+\+Download\+\_\+\+Job} $\ast$ {\bfseries \+\_\+ecore\+\_\+file\+\_\+download\+\_\+curl} (const char $\ast$url, const char $\ast$dst, \hyperlink{group__Ecore__File__Group_ga71ca51b9726d274b1b750b021fdb8730}{Ecore\+\_\+\+File\+\_\+\+Download\+\_\+\+Completion\+\_\+\+Cb} completion\+\_\+cb, \hyperlink{group__Ecore__File__Group_ga829dc96dbd2cb2bda6d2e8308b3fa24b}{Ecore\+\_\+\+File\+\_\+\+Download\+\_\+\+Progress\+\_\+\+Cb} progress\+\_\+cb, void $\ast$data, \hyperlink{group__Eina__Hash__Group_ga9a89d7d3ee260d3a60572ebf651b07e0}{Eina\+\_\+\+Hash} $\ast$headers)\label{group__Ecore__File__Group_ga4a9a92d95ddb529b9c6202a74c43786c}

\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
\hypertarget{group__Ecore__File__Group_ga737792f6231c73c506e04a1a9daf721e}{}static mode\+\_\+t {\bfseries default\+\_\+mode} = S\+\_\+\+I\+R\+U\+S\+R $\vert$ S\+\_\+\+I\+W\+U\+S\+R $\vert$ S\+\_\+\+I\+X\+U\+S\+R $\vert$ S\+\_\+\+I\+R\+G\+R\+P $\vert$ S\+\_\+\+I\+X\+G\+R\+P $\vert$ S\+\_\+\+I\+R\+O\+T\+H $\vert$ S\+\_\+\+I\+X\+O\+T\+H\label{group__Ecore__File__Group_ga737792f6231c73c506e04a1a9daf721e}

\end{DoxyCompactItemize}


\subsection{Detailed Description}


\subsection{Enumeration Type Documentation}
\hypertarget{group__Ecore__File__Group_gac8673e397a2f2e7ee03f814d118d03b5}{}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!\+\_\+\+Ecore\+\_\+\+File\+\_\+\+Event@{\+\_\+\+Ecore\+\_\+\+File\+\_\+\+Event}}
\index{\+\_\+\+Ecore\+\_\+\+File\+\_\+\+Event@{\+\_\+\+Ecore\+\_\+\+File\+\_\+\+Event}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}
\subsubsection[{\+\_\+\+Ecore\+\_\+\+File\+\_\+\+Event}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf \+\_\+\+Ecore\+\_\+\+File\+\_\+\+Event}}\label{group__Ecore__File__Group_gac8673e397a2f2e7ee03f814d118d03b5}


The event type returned when a file or directory is monitored. 

\begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+N\+O\+N\+E@{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+N\+O\+N\+E}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+N\+O\+N\+E@{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+N\+O\+N\+E}}\item[{\em 
\hypertarget{group__Ecore__File__Group_ggac8673e397a2f2e7ee03f814d118d03b5a5b6731602105064764529adac4d1264f}{}E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+N\+O\+N\+E\label{group__Ecore__File__Group_ggac8673e397a2f2e7ee03f814d118d03b5a5b6731602105064764529adac4d1264f}
}]No event. \index{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+C\+R\+E\+A\+T\+E\+D\+\_\+\+F\+I\+L\+E@{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+C\+R\+E\+A\+T\+E\+D\+\_\+\+F\+I\+L\+E}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+C\+R\+E\+A\+T\+E\+D\+\_\+\+F\+I\+L\+E@{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+C\+R\+E\+A\+T\+E\+D\+\_\+\+F\+I\+L\+E}}\item[{\em 
\hypertarget{group__Ecore__File__Group_ggac8673e397a2f2e7ee03f814d118d03b5a2c6fef381c6d027d6dfd9e9cf211fa67}{}E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+C\+R\+E\+A\+T\+E\+D\+\_\+\+F\+I\+L\+E\label{group__Ecore__File__Group_ggac8673e397a2f2e7ee03f814d118d03b5a2c6fef381c6d027d6dfd9e9cf211fa67}
}]Created file event. \index{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+C\+R\+E\+A\+T\+E\+D\+\_\+\+D\+I\+R\+E\+C\+T\+O\+R\+Y@{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+C\+R\+E\+A\+T\+E\+D\+\_\+\+D\+I\+R\+E\+C\+T\+O\+R\+Y}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+C\+R\+E\+A\+T\+E\+D\+\_\+\+D\+I\+R\+E\+C\+T\+O\+R\+Y@{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+C\+R\+E\+A\+T\+E\+D\+\_\+\+D\+I\+R\+E\+C\+T\+O\+R\+Y}}\item[{\em 
\hypertarget{group__Ecore__File__Group_ggac8673e397a2f2e7ee03f814d118d03b5a32961ee791cf962f8f1de26664e2b6fc}{}E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+C\+R\+E\+A\+T\+E\+D\+\_\+\+D\+I\+R\+E\+C\+T\+O\+R\+Y\label{group__Ecore__File__Group_ggac8673e397a2f2e7ee03f814d118d03b5a32961ee791cf962f8f1de26664e2b6fc}
}]Created directory event. \index{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+D\+E\+L\+E\+T\+E\+D\+\_\+\+F\+I\+L\+E@{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+D\+E\+L\+E\+T\+E\+D\+\_\+\+F\+I\+L\+E}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+D\+E\+L\+E\+T\+E\+D\+\_\+\+F\+I\+L\+E@{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+D\+E\+L\+E\+T\+E\+D\+\_\+\+F\+I\+L\+E}}\item[{\em 
\hypertarget{group__Ecore__File__Group_ggac8673e397a2f2e7ee03f814d118d03b5a09a4bf150129aadfca5d84361ee8607b}{}E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+D\+E\+L\+E\+T\+E\+D\+\_\+\+F\+I\+L\+E\label{group__Ecore__File__Group_ggac8673e397a2f2e7ee03f814d118d03b5a09a4bf150129aadfca5d84361ee8607b}
}]Deleted file event. \index{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+D\+E\+L\+E\+T\+E\+D\+\_\+\+D\+I\+R\+E\+C\+T\+O\+R\+Y@{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+D\+E\+L\+E\+T\+E\+D\+\_\+\+D\+I\+R\+E\+C\+T\+O\+R\+Y}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+D\+E\+L\+E\+T\+E\+D\+\_\+\+D\+I\+R\+E\+C\+T\+O\+R\+Y@{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+D\+E\+L\+E\+T\+E\+D\+\_\+\+D\+I\+R\+E\+C\+T\+O\+R\+Y}}\item[{\em 
\hypertarget{group__Ecore__File__Group_ggac8673e397a2f2e7ee03f814d118d03b5a41917336c75e34e825ba34e0cacc3515}{}E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+D\+E\+L\+E\+T\+E\+D\+\_\+\+D\+I\+R\+E\+C\+T\+O\+R\+Y\label{group__Ecore__File__Group_ggac8673e397a2f2e7ee03f814d118d03b5a41917336c75e34e825ba34e0cacc3515}
}]Deleted directory event. \index{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+D\+E\+L\+E\+T\+E\+D\+\_\+\+S\+E\+L\+F@{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+D\+E\+L\+E\+T\+E\+D\+\_\+\+S\+E\+L\+F}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+D\+E\+L\+E\+T\+E\+D\+\_\+\+S\+E\+L\+F@{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+D\+E\+L\+E\+T\+E\+D\+\_\+\+S\+E\+L\+F}}\item[{\em 
\hypertarget{group__Ecore__File__Group_ggac8673e397a2f2e7ee03f814d118d03b5a728ccffd07a101b7c7377dfd48a71224}{}E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+D\+E\+L\+E\+T\+E\+D\+\_\+\+S\+E\+L\+F\label{group__Ecore__File__Group_ggac8673e397a2f2e7ee03f814d118d03b5a728ccffd07a101b7c7377dfd48a71224}
}]Deleted monitored directory event. \index{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+M\+O\+D\+I\+F\+I\+E\+D@{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+M\+O\+D\+I\+F\+I\+E\+D}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+M\+O\+D\+I\+F\+I\+E\+D@{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+M\+O\+D\+I\+F\+I\+E\+D}}\item[{\em 
\hypertarget{group__Ecore__File__Group_ggac8673e397a2f2e7ee03f814d118d03b5ab284e0b8654545672937914a9c838973}{}E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+M\+O\+D\+I\+F\+I\+E\+D\label{group__Ecore__File__Group_ggac8673e397a2f2e7ee03f814d118d03b5ab284e0b8654545672937914a9c838973}
}]Modified file or directory event. \index{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+C\+L\+O\+S\+E\+D@{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+C\+L\+O\+S\+E\+D}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+C\+L\+O\+S\+E\+D@{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+C\+L\+O\+S\+E\+D}}\item[{\em 
\hypertarget{group__Ecore__File__Group_ggac8673e397a2f2e7ee03f814d118d03b5ac82f89c8c4ee15891af196c7c26a5772}{}E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+C\+L\+O\+S\+E\+D\label{group__Ecore__File__Group_ggac8673e397a2f2e7ee03f814d118d03b5ac82f89c8c4ee15891af196c7c26a5772}
}]Closed file event. \end{description}
\end{Desc}
\hypertarget{group__Ecore__File__Group_gaf2261d7075a4ccb5a3e1821290ca97ca}{}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!\+\_\+\+Ecore\+\_\+\+File\+\_\+\+Progress\+\_\+\+Return@{\+\_\+\+Ecore\+\_\+\+File\+\_\+\+Progress\+\_\+\+Return}}
\index{\+\_\+\+Ecore\+\_\+\+File\+\_\+\+Progress\+\_\+\+Return@{\+\_\+\+Ecore\+\_\+\+File\+\_\+\+Progress\+\_\+\+Return}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}
\subsubsection[{\+\_\+\+Ecore\+\_\+\+File\+\_\+\+Progress\+\_\+\+Return}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf \+\_\+\+Ecore\+\_\+\+File\+\_\+\+Progress\+\_\+\+Return}}\label{group__Ecore__File__Group_gaf2261d7075a4ccb5a3e1821290ca97ca}


What to do with the download as a return from the Ecore\+\_\+\+File\+\_\+\+Download\+\_\+\+Progress\+\_\+\+Cb function, if provided. 

\begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+P\+R\+O\+G\+R\+E\+S\+S\+\_\+\+C\+O\+N\+T\+I\+N\+U\+E@{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+P\+R\+O\+G\+R\+E\+S\+S\+\_\+\+C\+O\+N\+T\+I\+N\+U\+E}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+P\+R\+O\+G\+R\+E\+S\+S\+\_\+\+C\+O\+N\+T\+I\+N\+U\+E@{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+P\+R\+O\+G\+R\+E\+S\+S\+\_\+\+C\+O\+N\+T\+I\+N\+U\+E}}\item[{\em 
\hypertarget{group__Ecore__File__Group_ggaf2261d7075a4ccb5a3e1821290ca97caa034acca14263fec55dbcb7162a7cbe1d}{}E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+P\+R\+O\+G\+R\+E\+S\+S\+\_\+\+C\+O\+N\+T\+I\+N\+U\+E\label{group__Ecore__File__Group_ggaf2261d7075a4ccb5a3e1821290ca97caa034acca14263fec55dbcb7162a7cbe1d}
}]Continue the download. \index{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+P\+R\+O\+G\+R\+E\+S\+S\+\_\+\+A\+B\+O\+R\+T@{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+P\+R\+O\+G\+R\+E\+S\+S\+\_\+\+A\+B\+O\+R\+T}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+P\+R\+O\+G\+R\+E\+S\+S\+\_\+\+A\+B\+O\+R\+T@{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+P\+R\+O\+G\+R\+E\+S\+S\+\_\+\+A\+B\+O\+R\+T}}\item[{\em 
\hypertarget{group__Ecore__File__Group_ggaf2261d7075a4ccb5a3e1821290ca97caa255e0cbdd2f78fd1fb6f5bc8dcf1204a}{}E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+P\+R\+O\+G\+R\+E\+S\+S\+\_\+\+A\+B\+O\+R\+T\label{group__Ecore__File__Group_ggaf2261d7075a4ccb5a3e1821290ca97caa255e0cbdd2f78fd1fb6f5bc8dcf1204a}
}]Abort the download. \end{description}
\end{Desc}


\subsection{Function Documentation}
\hypertarget{group__Ecore__File__Group_gaac9350c7cd245595244e1bb5e2900711}{}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!ecore\+\_\+file\+\_\+init@{ecore\+\_\+file\+\_\+init}}
\index{ecore\+\_\+file\+\_\+init@{ecore\+\_\+file\+\_\+init}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}
\subsubsection[{ecore\+\_\+file\+\_\+init}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} int ecore\+\_\+file\+\_\+init (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}\label{group__Ecore__File__Group_gaac9350c7cd245595244e1bb5e2900711}


Initialize the Ecore\+\_\+\+File library. 

\begin{DoxyReturn}{Returns}
1 or greater on success, 0 on error.
\end{DoxyReturn}
This function sets up Ecore\+\_\+\+File and the services it will use (monitoring, downloading, P\+A\+T\+H related feature). It returns 0 on failure, otherwise it returns the number of times it has already been called.

When Ecore\+\_\+\+File is not used anymore, call \hyperlink{group__Ecore__File__Group_gae55c5ea738ffaae2ca8887e3689f0e73}{ecore\+\_\+file\+\_\+shutdown()} to shut down the Ecore\+\_\+\+File library. 

References ecore\+\_\+init(), eina\+\_\+log\+\_\+domain\+\_\+register(), and E\+I\+N\+A\+\_\+\+L\+O\+G\+\_\+\+E\+R\+R.



Referenced by efreet\+\_\+init(), and efreet\+\_\+mime\+\_\+init().

\hypertarget{group__Ecore__File__Group_gae55c5ea738ffaae2ca8887e3689f0e73}{}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!ecore\+\_\+file\+\_\+shutdown@{ecore\+\_\+file\+\_\+shutdown}}
\index{ecore\+\_\+file\+\_\+shutdown@{ecore\+\_\+file\+\_\+shutdown}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}
\subsubsection[{ecore\+\_\+file\+\_\+shutdown}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} int ecore\+\_\+file\+\_\+shutdown (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}\label{group__Ecore__File__Group_gae55c5ea738ffaae2ca8887e3689f0e73}


Shut down the Ecore\+\_\+\+File library. 

\begin{DoxyReturn}{Returns}
0 when the library is completely shut down, 1 or greater otherwise.
\end{DoxyReturn}
This function shuts down the Ecore\+\_\+\+File library. It returns 0 when it has been called the same number of times than \hyperlink{group__Ecore__File__Group_gaac9350c7cd245595244e1bb5e2900711}{ecore\+\_\+file\+\_\+init()}. In that case it shuts down all the services it uses. 

References ecore\+\_\+shutdown(), and eina\+\_\+log\+\_\+domain\+\_\+unregister().



Referenced by efreet\+\_\+init(), efreet\+\_\+mime\+\_\+init(), efreet\+\_\+mime\+\_\+shutdown(), and efreet\+\_\+shutdown().

\hypertarget{group__Ecore__File__Group_gaaef663ea76aae7aeba5814f1b8f2a013}{}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!ecore\+\_\+file\+\_\+mod\+\_\+time@{ecore\+\_\+file\+\_\+mod\+\_\+time}}
\index{ecore\+\_\+file\+\_\+mod\+\_\+time@{ecore\+\_\+file\+\_\+mod\+\_\+time}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}
\subsubsection[{ecore\+\_\+file\+\_\+mod\+\_\+time}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} long long ecore\+\_\+file\+\_\+mod\+\_\+time (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{file}
\end{DoxyParamCaption}
)}\label{group__Ecore__File__Group_gaaef663ea76aae7aeba5814f1b8f2a013}


Get the time of the last modification to the given file. 


\begin{DoxyParams}{Parameters}
{\em file} & The name of the file. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Return the time of the last data modification, or 0 on failure.
\end{DoxyReturn}
This function returns the time of the last modification of {\ttfamily file}. On failure, it returns 0. 

Referenced by efreet\+\_\+desktop\+\_\+empty\+\_\+new().

\hypertarget{group__Ecore__File__Group_ga6ac9d3d430a6110467ca3e2ac96a8851}{}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!ecore\+\_\+file\+\_\+size@{ecore\+\_\+file\+\_\+size}}
\index{ecore\+\_\+file\+\_\+size@{ecore\+\_\+file\+\_\+size}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}
\subsubsection[{ecore\+\_\+file\+\_\+size}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} long long ecore\+\_\+file\+\_\+size (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{file}
\end{DoxyParamCaption}
)}\label{group__Ecore__File__Group_ga6ac9d3d430a6110467ca3e2ac96a8851}


Get the size of the given file. 


\begin{DoxyParams}{Parameters}
{\em file} & The name of the file. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Return the size of the file in bytes, or 0 on failure.
\end{DoxyReturn}
This function returns the size of {\ttfamily file} in bytes. On failure, it returns 0. \hypertarget{group__Ecore__File__Group_gaf5a3cc8bd9bf69a3ebce0678fe799016}{}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!ecore\+\_\+file\+\_\+exists@{ecore\+\_\+file\+\_\+exists}}
\index{ecore\+\_\+file\+\_\+exists@{ecore\+\_\+file\+\_\+exists}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}
\subsubsection[{ecore\+\_\+file\+\_\+exists}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} ecore\+\_\+file\+\_\+exists (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{file}
\end{DoxyParamCaption}
)}\label{group__Ecore__File__Group_gaf5a3cc8bd9bf69a3ebce0678fe799016}


Check if the given file exists. 


\begin{DoxyParams}{Parameters}
{\em file} & The name of the file. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} if the {\ttfamily file} exists, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise.
\end{DoxyReturn}
This function returns {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} if {\ttfamily file} exists on local filesystem, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise. 

References E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E, and E\+I\+N\+A\+\_\+\+T\+R\+U\+E.



Referenced by edje\+\_\+available\+\_\+modules\+\_\+get(), edje\+\_\+edit\+\_\+clean\+\_\+save\+\_\+as(), efreet\+\_\+desktop\+\_\+uncached\+\_\+new(), efreet\+\_\+menu\+\_\+async\+\_\+get(), efreet\+\_\+menu\+\_\+get(), efreet\+\_\+trash\+\_\+delete\+\_\+uri(), and efreet\+\_\+trash\+\_\+dir\+\_\+get().

\hypertarget{group__Ecore__File__Group_ga2b8800b3ecf0c96fb2e47737827ed70f}{}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!ecore\+\_\+file\+\_\+is\+\_\+dir@{ecore\+\_\+file\+\_\+is\+\_\+dir}}
\index{ecore\+\_\+file\+\_\+is\+\_\+dir@{ecore\+\_\+file\+\_\+is\+\_\+dir}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}
\subsubsection[{ecore\+\_\+file\+\_\+is\+\_\+dir}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} ecore\+\_\+file\+\_\+is\+\_\+dir (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{file}
\end{DoxyParamCaption}
)}\label{group__Ecore__File__Group_ga2b8800b3ecf0c96fb2e47737827ed70f}


Check if the given file is a directory. 


\begin{DoxyParams}{Parameters}
{\em file} & The name of the file. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} if the file exists and is a directory, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise.
\end{DoxyReturn}
This function returns {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} if {\ttfamily file} exists exists and is a directory on local filesystem, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise. 

References E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E, and E\+I\+N\+A\+\_\+\+T\+R\+U\+E.



Referenced by ecore\+\_\+file\+\_\+app\+\_\+list(), ecore\+\_\+file\+\_\+mkpath(), and ecore\+\_\+file\+\_\+mksubdirs().

\hypertarget{group__Ecore__File__Group_gafdfe259d9a595dc05c8fc725342b253c}{}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!ecore\+\_\+file\+\_\+mkdir@{ecore\+\_\+file\+\_\+mkdir}}
\index{ecore\+\_\+file\+\_\+mkdir@{ecore\+\_\+file\+\_\+mkdir}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}
\subsubsection[{ecore\+\_\+file\+\_\+mkdir}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} ecore\+\_\+file\+\_\+mkdir (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dir}
\end{DoxyParamCaption}
)}\label{group__Ecore__File__Group_gafdfe259d9a595dc05c8fc725342b253c}


Create a new directory. 


\begin{DoxyParams}{Parameters}
{\em dir} & The name of the directory to create \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on successful creation, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise.
\end{DoxyReturn}
This function creates the directory {\ttfamily dir} with the mode S\+\_\+\+I\+R\+U\+S\+R $\vert$ S\+\_\+\+I\+W\+U\+S\+R $\vert$ S\+\_\+\+I\+X\+U\+S\+R $\vert$ S\+\_\+\+I\+R\+G\+R\+P $\vert$ S\+\_\+\+I\+X\+G\+R\+P $\vert$ S\+\_\+\+I\+R\+O\+T\+H $\vert$ S\+\_\+\+I\+X\+O\+T\+H. On success, it returns {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E}, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise. 

References E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E, and E\+I\+N\+A\+\_\+\+T\+R\+U\+E.



Referenced by ecore\+\_\+file\+\_\+mkdirs(), and efreet\+\_\+trash\+\_\+empty\+\_\+trash().

\hypertarget{group__Ecore__File__Group_ga609a0f775c9715843a42de504e034ad4}{}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!ecore\+\_\+file\+\_\+mkdirs@{ecore\+\_\+file\+\_\+mkdirs}}
\index{ecore\+\_\+file\+\_\+mkdirs@{ecore\+\_\+file\+\_\+mkdirs}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}
\subsubsection[{ecore\+\_\+file\+\_\+mkdirs}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} int ecore\+\_\+file\+\_\+mkdirs (
\begin{DoxyParamCaption}
\item[{const char $\ast$$\ast$}]{dirs}
\end{DoxyParamCaption}
)}\label{group__Ecore__File__Group_ga609a0f775c9715843a42de504e034ad4}


Create complete directory in a batch. 


\begin{DoxyParams}{Parameters}
{\em dirs} & The list of directories, null terminated. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The number of successful directories created, -\/1 if dirs is {\ttfamily N\+U\+L\+L}.
\end{DoxyReturn}
This function creates all the directories that are in the null terminated array {\ttfamily dirs}. The function loops over the directories and call \hyperlink{group__Ecore__File__Group_gafdfe259d9a595dc05c8fc725342b253c}{ecore\+\_\+file\+\_\+mkdir()}. This function returns -\/1 if {\ttfamily dirs} is {\ttfamily N\+U\+L\+L}, otherwise if returns the number of suceesfully created directories. 

References ecore\+\_\+file\+\_\+mkdir().

\hypertarget{group__Ecore__File__Group_gacf70d8b8ad53aa3e23a7351ed5f16b14}{}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!ecore\+\_\+file\+\_\+mksubdirs@{ecore\+\_\+file\+\_\+mksubdirs}}
\index{ecore\+\_\+file\+\_\+mksubdirs@{ecore\+\_\+file\+\_\+mksubdirs}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}
\subsubsection[{ecore\+\_\+file\+\_\+mksubdirs}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} int ecore\+\_\+file\+\_\+mksubdirs (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{base, }
\item[{const char $\ast$$\ast$}]{subdirs}
\end{DoxyParamCaption}
)}\label{group__Ecore__File__Group_gacf70d8b8ad53aa3e23a7351ed5f16b14}


Create complete list of sub-\/directories in a batch (optimized). 


\begin{DoxyParams}{Parameters}
{\em base} & The base directory to act on. \\
\hline
{\em subdirs} & The list of directories, null terminated. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
number of successful directories created, -\/1 on failure.
\end{DoxyReturn}
This function creates all the directories that are in the null terminated array {\ttfamily subdirs} in the {\ttfamily base} directory. If {\ttfamily base} does not exist, it will be created. The function loops over the directories and call \hyperlink{group__Ecore__File__Group_gafdfe259d9a595dc05c8fc725342b253c}{ecore\+\_\+file\+\_\+mkdir()}. The whole path of the directories must exist. So if base/a/b/c wants to be created, {\ttfamily subdirs} must contain \char`\"{}a\char`\"{}, \char`\"{}a/b\char`\"{} and \char`\"{}a/b/c\char`\"{}, in that order. This function returns -\/1 if {\ttfamily subdirs} or {\ttfamily base} are {\ttfamily N\+U\+L\+L}, or if {\ttfamily base} is empty (\char`\"{}\textbackslash{}0\char`\"{}). It returns 0 is {\ttfamily base} is not a directory or invalid, or if it can\textquotesingle{}t be created. Otherwise if returns the number of suceesfully created directories. 

References closedir(), ecore\+\_\+file\+\_\+is\+\_\+dir(), ecore\+\_\+file\+\_\+mkpath(), eina\+\_\+strlcpy(), and opendir().

\hypertarget{group__Ecore__File__Group_ga62cef63e255470c97a4d95963a3a07b1}{}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!ecore\+\_\+file\+\_\+rmdir@{ecore\+\_\+file\+\_\+rmdir}}
\index{ecore\+\_\+file\+\_\+rmdir@{ecore\+\_\+file\+\_\+rmdir}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}
\subsubsection[{ecore\+\_\+file\+\_\+rmdir}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} ecore\+\_\+file\+\_\+rmdir (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dir}
\end{DoxyParamCaption}
)}\label{group__Ecore__File__Group_ga62cef63e255470c97a4d95963a3a07b1}


Delete the given directory. 


\begin{DoxyParams}{Parameters}
{\em dir} & The name of the directory to delete. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise.
\end{DoxyReturn}
This function deletes {\ttfamily dir}. It returns {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise. 

References E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E, and E\+I\+N\+A\+\_\+\+T\+R\+U\+E.



Referenced by ecore\+\_\+file\+\_\+recursive\+\_\+rm().

\hypertarget{group__Ecore__File__Group_ga38fa7db112c1fc3c6ca6dcc367f036bb}{}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!ecore\+\_\+file\+\_\+unlink@{ecore\+\_\+file\+\_\+unlink}}
\index{ecore\+\_\+file\+\_\+unlink@{ecore\+\_\+file\+\_\+unlink}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}
\subsubsection[{ecore\+\_\+file\+\_\+unlink}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} ecore\+\_\+file\+\_\+unlink (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{file}
\end{DoxyParamCaption}
)}\label{group__Ecore__File__Group_ga38fa7db112c1fc3c6ca6dcc367f036bb}


Delete the given file. 


\begin{DoxyParams}{Parameters}
{\em file} & The name of the file to delete. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise.
\end{DoxyReturn}
This function deletes {\ttfamily file}. It returns {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise. 

References E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E, and E\+I\+N\+A\+\_\+\+T\+R\+U\+E.



Referenced by ecore\+\_\+file\+\_\+mv(), and ecore\+\_\+file\+\_\+recursive\+\_\+rm().

\hypertarget{group__Ecore__File__Group_ga67811f9072dc5bbc10a63c056b0df9d4}{}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!ecore\+\_\+file\+\_\+remove@{ecore\+\_\+file\+\_\+remove}}
\index{ecore\+\_\+file\+\_\+remove@{ecore\+\_\+file\+\_\+remove}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}
\subsubsection[{ecore\+\_\+file\+\_\+remove}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} ecore\+\_\+file\+\_\+remove (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{file}
\end{DoxyParamCaption}
)}\label{group__Ecore__File__Group_ga67811f9072dc5bbc10a63c056b0df9d4}


Remove the given file or directory. 


\begin{DoxyParams}{Parameters}
{\em file} & The name of the file or directory to delete. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise.
\end{DoxyReturn}
This function removes {\ttfamily file}. It returns {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise. 

References E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E, and E\+I\+N\+A\+\_\+\+T\+R\+U\+E.

\hypertarget{group__Ecore__File__Group_ga6e2d09d544f8e2b53c9518d521e1efd0}{}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!ecore\+\_\+file\+\_\+recursive\+\_\+rm@{ecore\+\_\+file\+\_\+recursive\+\_\+rm}}
\index{ecore\+\_\+file\+\_\+recursive\+\_\+rm@{ecore\+\_\+file\+\_\+recursive\+\_\+rm}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}
\subsubsection[{ecore\+\_\+file\+\_\+recursive\+\_\+rm}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} ecore\+\_\+file\+\_\+recursive\+\_\+rm (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dir}
\end{DoxyParamCaption}
)}\label{group__Ecore__File__Group_ga6e2d09d544f8e2b53c9518d521e1efd0}


Delete the given directory and all its contents. 


\begin{DoxyParams}{Parameters}
{\em dir} & The name of the directory to delete. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise.
\end{DoxyReturn}
This function delete {\ttfamily dir} and all its contents. If {\ttfamily dir} is a link only the link is removed. It returns {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise. 

References ecore\+\_\+file\+\_\+rmdir(), ecore\+\_\+file\+\_\+unlink(), E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E, eina\+\_\+file\+\_\+direct\+\_\+ls(), E\+I\+N\+A\+\_\+\+I\+T\+E\+R\+A\+T\+O\+R\+\_\+\+F\+O\+R\+E\+A\+C\+H, eina\+\_\+iterator\+\_\+free(), E\+I\+N\+A\+\_\+\+T\+R\+U\+E, \+\_\+\+Eina\+\_\+\+File\+\_\+\+Direct\+\_\+\+Info\+::path, and readlink().



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

\hypertarget{group__Ecore__File__Group_ga12cd44f20708fcc4a123dea675a33a93}{}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!ecore\+\_\+file\+\_\+mkpath@{ecore\+\_\+file\+\_\+mkpath}}
\index{ecore\+\_\+file\+\_\+mkpath@{ecore\+\_\+file\+\_\+mkpath}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}
\subsubsection[{ecore\+\_\+file\+\_\+mkpath}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} ecore\+\_\+file\+\_\+mkpath (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{path}
\end{DoxyParamCaption}
)}\label{group__Ecore__File__Group_ga12cd44f20708fcc4a123dea675a33a93}


Create a complete path. 


\begin{DoxyParams}{Parameters}
{\em path} & The path to create \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise.
\end{DoxyReturn}
This function creates {\ttfamily path} and all the subdirectories it contains. The separator is \textquotesingle{}/\textquotesingle{} or \textquotesingle{}\textbackslash{}\textquotesingle{}. If {\ttfamily path} exists, this function returns {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} immediately. It returns {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise. 

References ecore\+\_\+file\+\_\+is\+\_\+dir(), E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E, and E\+I\+N\+A\+\_\+\+T\+R\+U\+E.



Referenced by ecore\+\_\+file\+\_\+mkpaths(), ecore\+\_\+file\+\_\+mksubdirs(), and efreet\+\_\+trash\+\_\+dir\+\_\+get().

\hypertarget{group__Ecore__File__Group_ga53017b49303ea8742096462fd7398f82}{}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!ecore\+\_\+file\+\_\+mkpaths@{ecore\+\_\+file\+\_\+mkpaths}}
\index{ecore\+\_\+file\+\_\+mkpaths@{ecore\+\_\+file\+\_\+mkpaths}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}
\subsubsection[{ecore\+\_\+file\+\_\+mkpaths}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} int ecore\+\_\+file\+\_\+mkpaths (
\begin{DoxyParamCaption}
\item[{const char $\ast$$\ast$}]{paths}
\end{DoxyParamCaption}
)}\label{group__Ecore__File__Group_ga53017b49303ea8742096462fd7398f82}


Create complete paths in a batch. 


\begin{DoxyParams}{Parameters}
{\em paths} & list of paths, null terminated. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
number of successful paths created, -\/1 if paths is N\+U\+L\+L.
\end{DoxyReturn}
This function creates all the directories that are in the null terminated array {\ttfamily paths}. The function loops over the directories and call \hyperlink{group__Ecore__File__Group_ga12cd44f20708fcc4a123dea675a33a93}{ecore\+\_\+file\+\_\+mkpath()}, hence on Windows, \textquotesingle{}\textbackslash{}\textquotesingle{} must be replaced by \textquotesingle{}/\textquotesingle{} before calling that function. This function returns -\/1 if {\ttfamily paths} is {\ttfamily N\+U\+L\+L}. Otherwise if returns the number of suceesfully created directories. 

References ecore\+\_\+file\+\_\+mkpath().

\hypertarget{group__Ecore__File__Group_ga93de3e691ec32bb8220545f9d807e3e5}{}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!ecore\+\_\+file\+\_\+cp@{ecore\+\_\+file\+\_\+cp}}
\index{ecore\+\_\+file\+\_\+cp@{ecore\+\_\+file\+\_\+cp}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}
\subsubsection[{ecore\+\_\+file\+\_\+cp}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} ecore\+\_\+file\+\_\+cp (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{src, }
\item[{const char $\ast$}]{dst}
\end{DoxyParamCaption}
)}\label{group__Ecore__File__Group_ga93de3e691ec32bb8220545f9d807e3e5}


Copy the given file to the given destination. 


\begin{DoxyParams}{Parameters}
{\em src} & The name of the source file. \\
\hline
{\em dst} & The name of the destination file. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise.
\end{DoxyReturn}
This function copies {\ttfamily src} to {\ttfamily dst}. If the absolute path name of {\ttfamily src} and {\ttfamily dst} can not be computed, or if they are equal, or if the copy fails, the function returns {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E}, otherwise it returns {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E}. 

References E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E, and E\+I\+N\+A\+\_\+\+T\+R\+U\+E.



Referenced by ecore\+\_\+file\+\_\+mv().

\hypertarget{group__Ecore__File__Group_gadcb442b00a20cb19e2cd84fa9910b9d6}{}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!ecore\+\_\+file\+\_\+mv@{ecore\+\_\+file\+\_\+mv}}
\index{ecore\+\_\+file\+\_\+mv@{ecore\+\_\+file\+\_\+mv}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}
\subsubsection[{ecore\+\_\+file\+\_\+mv}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} ecore\+\_\+file\+\_\+mv (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{src, }
\item[{const char $\ast$}]{dst}
\end{DoxyParamCaption}
)}\label{group__Ecore__File__Group_gadcb442b00a20cb19e2cd84fa9910b9d6}


Move the given file to the given destination. 


\begin{DoxyParams}{Parameters}
{\em src} & The name of the source file. \\
\hline
{\em dst} & The name of the destination file. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise.
\end{DoxyReturn}
This function moves {\ttfamily src} to {\ttfamily dst}. It returns {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise. 

References ecore\+\_\+file\+\_\+cp(), ecore\+\_\+file\+\_\+dir\+\_\+get(), ecore\+\_\+file\+\_\+file\+\_\+get(), ecore\+\_\+file\+\_\+unlink(), E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E, E\+I\+N\+A\+\_\+\+T\+R\+U\+E, mkstemp(), and rename.

\hypertarget{group__Ecore__File__Group_gabac9e816fc64684cb2e9d8c7c4443818}{}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!ecore\+\_\+file\+\_\+symlink@{ecore\+\_\+file\+\_\+symlink}}
\index{ecore\+\_\+file\+\_\+symlink@{ecore\+\_\+file\+\_\+symlink}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}
\subsubsection[{ecore\+\_\+file\+\_\+symlink}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} ecore\+\_\+file\+\_\+symlink (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{src, }
\item[{const char $\ast$}]{dest}
\end{DoxyParamCaption}
)}\label{group__Ecore__File__Group_gabac9e816fc64684cb2e9d8c7c4443818}


Create a symbolic link. 


\begin{DoxyParams}{Parameters}
{\em src} & The name of the file to link. \\
\hline
{\em dest} & The name of link. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise.
\end{DoxyReturn}
This function create the symbolic link {\ttfamily dest} of {\ttfamily src}. This function does not work on Windows. It returns {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise. 

References E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E, E\+I\+N\+A\+\_\+\+T\+R\+U\+E, and symlink().

\hypertarget{group__Ecore__File__Group_ga062018ae501d68814d586483391b9daa}{}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!ecore\+\_\+file\+\_\+realpath@{ecore\+\_\+file\+\_\+realpath}}
\index{ecore\+\_\+file\+\_\+realpath@{ecore\+\_\+file\+\_\+realpath}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}
\subsubsection[{ecore\+\_\+file\+\_\+realpath}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} char $\ast$ ecore\+\_\+file\+\_\+realpath (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{file}
\end{DoxyParamCaption}
)}\label{group__Ecore__File__Group_ga062018ae501d68814d586483391b9daa}


Get the canonicalized absolute path name. 


\begin{DoxyParams}{Parameters}
{\em file} & The file path. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The canonicalized absolute pathname or an empty string on failure.
\end{DoxyReturn}
This function returns the absolute path name of {\ttfamily file} as a newly allocated string. If {\ttfamily file} is {\ttfamily N\+U\+L\+L}, or on error, this function returns an empty string. Otherwise, it returns the absolute path name. When not needed anymore, the returned value must be freed. \hypertarget{group__Ecore__File__Group_ga5f5fe7219c6288fecaa840f81c035cb7}{}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!ecore\+\_\+file\+\_\+file\+\_\+get@{ecore\+\_\+file\+\_\+file\+\_\+get}}
\index{ecore\+\_\+file\+\_\+file\+\_\+get@{ecore\+\_\+file\+\_\+file\+\_\+get}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}
\subsubsection[{ecore\+\_\+file\+\_\+file\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} const char $\ast$ ecore\+\_\+file\+\_\+file\+\_\+get (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{path}
\end{DoxyParamCaption}
)}\label{group__Ecore__File__Group_ga5f5fe7219c6288fecaa840f81c035cb7}


Get the filename from a given path. 


\begin{DoxyParams}{Parameters}
{\em path} & The complete path. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The file name.
\end{DoxyReturn}
This function returns the file name of {\ttfamily path}. If {\ttfamily path} is {\ttfamily N\+U\+L\+L}, the functions returns {\ttfamily N\+U\+L\+L}. 

Referenced by ecore\+\_\+file\+\_\+mv(), efreet\+\_\+trash\+\_\+delete\+\_\+uri(), and efreet\+\_\+util\+\_\+desktop\+\_\+exec\+\_\+find().

\hypertarget{group__Ecore__File__Group_gac806bae3ba255661ad7cc814f4b12857}{}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!ecore\+\_\+file\+\_\+dir\+\_\+get@{ecore\+\_\+file\+\_\+dir\+\_\+get}}
\index{ecore\+\_\+file\+\_\+dir\+\_\+get@{ecore\+\_\+file\+\_\+dir\+\_\+get}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}
\subsubsection[{ecore\+\_\+file\+\_\+dir\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} char $\ast$ ecore\+\_\+file\+\_\+dir\+\_\+get (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{file}
\end{DoxyParamCaption}
)}\label{group__Ecore__File__Group_gac806bae3ba255661ad7cc814f4b12857}


Get the directory where the given file resides. 


\begin{DoxyParams}{Parameters}
{\em file} & The name of the file. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The directory name.
\end{DoxyReturn}
This function returns the directory where {\ttfamily file} resides as anewly allocated string. If {\ttfamily file} is {\ttfamily N\+U\+L\+L} or on error, this function returns {\ttfamily N\+U\+L\+L}. When not needed anymore, the returned value must be freed. 

Referenced by ecore\+\_\+file\+\_\+mv().

\hypertarget{group__Ecore__File__Group_ga3b844d86804b9566aac515becda9dbf2}{}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!ecore\+\_\+file\+\_\+can\+\_\+read@{ecore\+\_\+file\+\_\+can\+\_\+read}}
\index{ecore\+\_\+file\+\_\+can\+\_\+read@{ecore\+\_\+file\+\_\+can\+\_\+read}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}
\subsubsection[{ecore\+\_\+file\+\_\+can\+\_\+read}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} ecore\+\_\+file\+\_\+can\+\_\+read (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{file}
\end{DoxyParamCaption}
)}\label{group__Ecore__File__Group_ga3b844d86804b9566aac515becda9dbf2}


Check if the given file can be read. 


\begin{DoxyParams}{Parameters}
{\em file} & The name of the file. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} if the {\ttfamily file} is readable, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise.
\end{DoxyReturn}
This function returns {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} if {\ttfamily file} can be read, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise. 

References E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E, and E\+I\+N\+A\+\_\+\+T\+R\+U\+E.

\hypertarget{group__Ecore__File__Group_gaa32b8720b401b8677cec4b12da261a6d}{}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!ecore\+\_\+file\+\_\+can\+\_\+write@{ecore\+\_\+file\+\_\+can\+\_\+write}}
\index{ecore\+\_\+file\+\_\+can\+\_\+write@{ecore\+\_\+file\+\_\+can\+\_\+write}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}
\subsubsection[{ecore\+\_\+file\+\_\+can\+\_\+write}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} ecore\+\_\+file\+\_\+can\+\_\+write (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{file}
\end{DoxyParamCaption}
)}\label{group__Ecore__File__Group_gaa32b8720b401b8677cec4b12da261a6d}


Check if the given file can be written. 


\begin{DoxyParams}{Parameters}
{\em file} & The name of the file. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} if the {\ttfamily file} is writable, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise.
\end{DoxyReturn}
This function returns {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} if {\ttfamily file} can be written, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise. 

References E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E, and E\+I\+N\+A\+\_\+\+T\+R\+U\+E.



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

\hypertarget{group__Ecore__File__Group_ga92b7bb460e4d4e92a12c0c144fb69feb}{}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!ecore\+\_\+file\+\_\+can\+\_\+exec@{ecore\+\_\+file\+\_\+can\+\_\+exec}}
\index{ecore\+\_\+file\+\_\+can\+\_\+exec@{ecore\+\_\+file\+\_\+can\+\_\+exec}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}
\subsubsection[{ecore\+\_\+file\+\_\+can\+\_\+exec}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} ecore\+\_\+file\+\_\+can\+\_\+exec (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{file}
\end{DoxyParamCaption}
)}\label{group__Ecore__File__Group_ga92b7bb460e4d4e92a12c0c144fb69feb}


Check if the given file can be executed. 


\begin{DoxyParams}{Parameters}
{\em file} & The name of the file. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} if the {\ttfamily file} can be executed, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise.
\end{DoxyReturn}
This function returns {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} if {\ttfamily file} can be executed, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise. 

References E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E, and E\+I\+N\+A\+\_\+\+T\+R\+U\+E.



Referenced by ecore\+\_\+file\+\_\+app\+\_\+installed(), and ecore\+\_\+file\+\_\+app\+\_\+list().

\hypertarget{group__Ecore__File__Group_ga289b55071970aceb0f2fc70cb0f8647d}{}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!ecore\+\_\+file\+\_\+readlink@{ecore\+\_\+file\+\_\+readlink}}
\index{ecore\+\_\+file\+\_\+readlink@{ecore\+\_\+file\+\_\+readlink}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}
\subsubsection[{ecore\+\_\+file\+\_\+readlink}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} char $\ast$ ecore\+\_\+file\+\_\+readlink (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{lnk}
\end{DoxyParamCaption}
)}\label{group__Ecore__File__Group_ga289b55071970aceb0f2fc70cb0f8647d}


Get the path pointed by the given link. 


\begin{DoxyParams}{Parameters}
{\em lnk} & The name of the link. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The path pointed by link or N\+U\+L\+L.
\end{DoxyReturn}
This function returns the path pointed by {\ttfamily link} as a newly allocated string. This function does not work on Windows. On failure, the function returns {\ttfamily N\+U\+L\+L}. When not needed anymore, the returned value must be freed. 

References readlink().



Referenced by efreet\+\_\+desktop\+\_\+get().

\hypertarget{group__Ecore__File__Group_gab7baa24c2abea205b4d1f92397f1bda0}{}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!ecore\+\_\+file\+\_\+ls@{ecore\+\_\+file\+\_\+ls}}
\index{ecore\+\_\+file\+\_\+ls@{ecore\+\_\+file\+\_\+ls}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}
\subsubsection[{ecore\+\_\+file\+\_\+ls}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+List} $\ast$ ecore\+\_\+file\+\_\+ls (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dir}
\end{DoxyParamCaption}
)}\label{group__Ecore__File__Group_gab7baa24c2abea205b4d1f92397f1bda0}


Get the list of the files and directories in the given directory. 


\begin{DoxyParams}{Parameters}
{\em dir} & The name of the directory to list \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Return an Eina\+\_\+\+List containing all the files in the directory; on failure it returns N\+U\+L\+L.
\end{DoxyReturn}
This function returns a list of allocated strings of all the files and directories contained in {\ttfamily dir}. The list will be sorted with strcoll as compare function. That means that you may want to set the current locale for the category L\+C\+\_\+\+C\+O\+L\+L\+A\+T\+E with setlocale(). For more information see the manual pages of strcoll and setlocale. The list will not contain the directory entries for \textquotesingle{}.\textquotesingle{} and \textquotesingle{}..\textquotesingle{}. On failure, {\ttfamily N\+U\+L\+L} is returned. When not needed anymore, the list elements must be freed. 

References E\+I\+N\+A\+\_\+\+C\+O\+M\+P\+A\+R\+E\+\_\+\+C\+B, eina\+\_\+file\+\_\+direct\+\_\+ls(), E\+I\+N\+A\+\_\+\+I\+T\+E\+R\+A\+T\+O\+R\+\_\+\+F\+O\+R\+E\+A\+C\+H, eina\+\_\+iterator\+\_\+free(), eina\+\_\+list\+\_\+append(), eina\+\_\+list\+\_\+count(), eina\+\_\+list\+\_\+sort(), \+\_\+\+Eina\+\_\+\+File\+\_\+\+Direct\+\_\+\+Info\+::name\+\_\+start, and \+\_\+\+Eina\+\_\+\+File\+\_\+\+Direct\+\_\+\+Info\+::path.



Referenced by ecore\+\_\+file\+\_\+app\+\_\+list(), and efreet\+\_\+trash\+\_\+ls().

\hypertarget{group__Ecore__File__Group_gab01d35474ff7390e41e19609712f6923}{}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!ecore\+\_\+file\+\_\+app\+\_\+exe\+\_\+get@{ecore\+\_\+file\+\_\+app\+\_\+exe\+\_\+get}}
\index{ecore\+\_\+file\+\_\+app\+\_\+exe\+\_\+get@{ecore\+\_\+file\+\_\+app\+\_\+exe\+\_\+get}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}
\subsubsection[{ecore\+\_\+file\+\_\+app\+\_\+exe\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} char $\ast$ ecore\+\_\+file\+\_\+app\+\_\+exe\+\_\+get (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{app}
\end{DoxyParamCaption}
)}\label{group__Ecore__File__Group_gab01d35474ff7390e41e19609712f6923}


Return the executable from the given command. 


\begin{DoxyParams}{Parameters}
{\em app} & The application command, with parameters. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The executable from {\ttfamily app} as a newly allocated string. Arguments are removed and escape characters are handled. If {\ttfamily app} is {\ttfamily N\+U\+L\+L}, or on failure, the function returns {\ttfamily N\+U\+L\+L}. When not needed anymore, the returned value must be freed. 
\end{DoxyReturn}


References E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E, eina\+\_\+strbuf\+\_\+append(), eina\+\_\+strbuf\+\_\+append\+\_\+char(), eina\+\_\+strbuf\+\_\+free(), eina\+\_\+strbuf\+\_\+new(), eina\+\_\+strbuf\+\_\+string\+\_\+steal(), and E\+I\+N\+A\+\_\+\+T\+R\+U\+E.



Referenced by efreet\+\_\+util\+\_\+desktop\+\_\+exec\+\_\+find(), and efreet\+\_\+util\+\_\+desktop\+\_\+exec\+\_\+glob\+\_\+list().

\hypertarget{group__Ecore__File__Group_ga0d33ee025d316f91c179bd6cd5f9a9d7}{}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!ecore\+\_\+file\+\_\+escape\+\_\+name@{ecore\+\_\+file\+\_\+escape\+\_\+name}}
\index{ecore\+\_\+file\+\_\+escape\+\_\+name@{ecore\+\_\+file\+\_\+escape\+\_\+name}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}
\subsubsection[{ecore\+\_\+file\+\_\+escape\+\_\+name}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} char $\ast$ ecore\+\_\+file\+\_\+escape\+\_\+name (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{filename}
\end{DoxyParamCaption}
)}\label{group__Ecore__File__Group_ga0d33ee025d316f91c179bd6cd5f9a9d7}


Add the escape sequence (\textquotesingle{}\textbackslash{}\textquotesingle{}) to the given file name. 


\begin{DoxyParams}{Parameters}
{\em filename} & The file name. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The file name with special characters escaped.
\end{DoxyReturn}
This function adds the escape sequence (\textquotesingle{}\textbackslash{}\textquotesingle{}) to the given file name and returns the result as a newly allocated string. If the length of the returned string is longer than P\+A\+T\+H\+\_\+\+M\+A\+X, or on failure, {\ttfamily N\+U\+L\+L} is returned. When not needed anymore, the returned value must be freed. \hypertarget{group__Ecore__File__Group_ga04e08638c8ba981a6419e64c19b4688b}{}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!ecore\+\_\+file\+\_\+strip\+\_\+ext@{ecore\+\_\+file\+\_\+strip\+\_\+ext}}
\index{ecore\+\_\+file\+\_\+strip\+\_\+ext@{ecore\+\_\+file\+\_\+strip\+\_\+ext}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}
\subsubsection[{ecore\+\_\+file\+\_\+strip\+\_\+ext}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} char $\ast$ ecore\+\_\+file\+\_\+strip\+\_\+ext (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{path}
\end{DoxyParamCaption}
)}\label{group__Ecore__File__Group_ga04e08638c8ba981a6419e64c19b4688b}


Remove the extension from the given file name. 


\begin{DoxyParams}{Parameters}
{\em path} & The name of the file. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A newly allocated string with the extension stripped out or {\ttfamily N\+U\+L\+L} on errors.
\end{DoxyReturn}
This function removes the extension from {\ttfamily path} and returns the result as a newly allocated string. If {\ttfamily path} is {\ttfamily N\+U\+L\+L}, or on failure, the function returns {\ttfamily N\+U\+L\+L}. When not needed anymore, the returned value must be freed. \hypertarget{group__Ecore__File__Group_ga5f6777eb4beea434372df0aa7357979b}{}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!ecore\+\_\+file\+\_\+dir\+\_\+is\+\_\+empty@{ecore\+\_\+file\+\_\+dir\+\_\+is\+\_\+empty}}
\index{ecore\+\_\+file\+\_\+dir\+\_\+is\+\_\+empty@{ecore\+\_\+file\+\_\+dir\+\_\+is\+\_\+empty}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}
\subsubsection[{ecore\+\_\+file\+\_\+dir\+\_\+is\+\_\+empty}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} int ecore\+\_\+file\+\_\+dir\+\_\+is\+\_\+empty (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dir}
\end{DoxyParamCaption}
)}\label{group__Ecore__File__Group_ga5f6777eb4beea434372df0aa7357979b}


Check if the given directory is empty. 


\begin{DoxyParams}{Parameters}
{\em dir} & The name of the directory to check. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily 1} if directory is empty, {\ttfamily 0} if it has at least one file or {\ttfamily -\/1} in case of errors.
\end{DoxyReturn}
This functions checks if {\ttfamily dir} is empty. The \textquotesingle{}.\textquotesingle{} and \textquotesingle{}..\textquotesingle{} files will be ignored. If {\ttfamily dir} is empty, 1 is returned, if it contains at least one file, {\ttfamily 0} is returned. On failure, {\ttfamily -\/1} is returned. 

References eina\+\_\+file\+\_\+direct\+\_\+ls(), E\+I\+N\+A\+\_\+\+I\+T\+E\+R\+A\+T\+O\+R\+\_\+\+F\+O\+R\+E\+A\+C\+H, and eina\+\_\+iterator\+\_\+free().



Referenced by efreet\+\_\+trash\+\_\+is\+\_\+empty().

\hypertarget{group__Ecore__File__Group_ga7d71d00f7b8a1a81a2938989f7da01c7}{}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!ecore\+\_\+file\+\_\+monitor\+\_\+add@{ecore\+\_\+file\+\_\+monitor\+\_\+add}}
\index{ecore\+\_\+file\+\_\+monitor\+\_\+add@{ecore\+\_\+file\+\_\+monitor\+\_\+add}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}
\subsubsection[{ecore\+\_\+file\+\_\+monitor\+\_\+add}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Ecore\+\_\+\+File\+\_\+\+Monitor} $\ast$ ecore\+\_\+file\+\_\+monitor\+\_\+add (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{path, }
\item[{{\bf Ecore\+\_\+\+File\+\_\+\+Monitor\+\_\+\+Cb}}]{func, }
\item[{void $\ast$}]{data}
\end{DoxyParamCaption}
)}\label{group__Ecore__File__Group_ga7d71d00f7b8a1a81a2938989f7da01c7}


Monitor the given path using inotify, Windows notification, or polling. 


\begin{DoxyParams}{Parameters}
{\em path} & The path to monitor. \\
\hline
{\em func} & The function to call on changes. \\
\hline
{\em data} & The data passed to func. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
An Ecore\+\_\+\+File\+\_\+\+Monitor pointer or N\+U\+L\+L on failure.
\end{DoxyReturn}
This function monitors {\ttfamily path}. If {\ttfamily path} is {\ttfamily N\+U\+L\+L}, or is an empty string, or none of the notify methods (Inotify, Windows notification or polling) is available, or if {\ttfamily path} does not exist the function returns {\ttfamily N\+U\+L\+L}. Otherwise, it returns a newly allocated Ecore\+\_\+\+File\+\_\+\+Monitor object and the monitoring begins. When one of the Ecore\+\_\+\+File\+\_\+\+Event event is notified, {\ttfamily func} is called and {\ttfamily data} is passed to {\ttfamily func.\+Call} \hyperlink{group__Ecore__File__Group_ga36214769a9ef953f4d2ddcef0259a651}{ecore\+\_\+file\+\_\+monitor\+\_\+del()} to stop the monitoring. 

Referenced by eeze\+\_\+mount\+\_\+tabs\+\_\+watch().

\hypertarget{group__Ecore__File__Group_ga36214769a9ef953f4d2ddcef0259a651}{}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!ecore\+\_\+file\+\_\+monitor\+\_\+del@{ecore\+\_\+file\+\_\+monitor\+\_\+del}}
\index{ecore\+\_\+file\+\_\+monitor\+\_\+del@{ecore\+\_\+file\+\_\+monitor\+\_\+del}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}
\subsubsection[{ecore\+\_\+file\+\_\+monitor\+\_\+del}]{\setlength{\rightskip}{0pt plus 5cm}void ecore\+\_\+file\+\_\+monitor\+\_\+del (
\begin{DoxyParamCaption}
\item[{{\bf Ecore\+\_\+\+File\+\_\+\+Monitor} $\ast$}]{em}
\end{DoxyParamCaption}
)}\label{group__Ecore__File__Group_ga36214769a9ef953f4d2ddcef0259a651}


Stop the monitoring of the given path. 


\begin{DoxyParams}{Parameters}
{\em em} & The Ecore\+\_\+\+File\+\_\+\+Monitor to stop.\\
\hline
\end{DoxyParams}
This function stops the the monitoring of the path that has been monitored by \hyperlink{group__Ecore__File__Group_ga7d71d00f7b8a1a81a2938989f7da01c7}{ecore\+\_\+file\+\_\+monitor\+\_\+add()}. {\ttfamily em} must be the value returned by \hyperlink{group__Ecore__File__Group_ga7d71d00f7b8a1a81a2938989f7da01c7}{ecore\+\_\+file\+\_\+monitor\+\_\+add()}. If {\ttfamily em} is {\ttfamily N\+U\+L\+L}, or none of the notify methods (Inotify, Windows notification or polling) is availablethis function does nothing. 

Referenced by eeze\+\_\+mount\+\_\+tabs\+\_\+unwatch(), and efreet\+\_\+mime\+\_\+init().

\hypertarget{group__Ecore__File__Group_ga2776918fe65501483d67f61c7ab63340}{}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!ecore\+\_\+file\+\_\+monitor\+\_\+path\+\_\+get@{ecore\+\_\+file\+\_\+monitor\+\_\+path\+\_\+get}}
\index{ecore\+\_\+file\+\_\+monitor\+\_\+path\+\_\+get@{ecore\+\_\+file\+\_\+monitor\+\_\+path\+\_\+get}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}
\subsubsection[{ecore\+\_\+file\+\_\+monitor\+\_\+path\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}const char $\ast$ ecore\+\_\+file\+\_\+monitor\+\_\+path\+\_\+get (
\begin{DoxyParamCaption}
\item[{{\bf Ecore\+\_\+\+File\+\_\+\+Monitor} $\ast$}]{em}
\end{DoxyParamCaption}
)}\label{group__Ecore__File__Group_ga2776918fe65501483d67f61c7ab63340}


Get the monitored path. 


\begin{DoxyParams}{Parameters}
{\em em} & The Ecore\+\_\+\+File\+\_\+\+Monitor to query. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The path that is monitored by {\ttfamily em}.
\end{DoxyReturn}
This function returns the monitored path that has been monitored by \hyperlink{group__Ecore__File__Group_ga7d71d00f7b8a1a81a2938989f7da01c7}{ecore\+\_\+file\+\_\+monitor\+\_\+add()}. {\ttfamily em} must be the value returned by \hyperlink{group__Ecore__File__Group_ga7d71d00f7b8a1a81a2938989f7da01c7}{ecore\+\_\+file\+\_\+monitor\+\_\+add()}. If {\ttfamily em} is {\ttfamily N\+U\+L\+L}, the function returns {\ttfamily N\+U\+L\+L}. \hypertarget{group__Ecore__File__Group_ga0b979b4dc509a159f087136743e8fc74}{}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!ecore\+\_\+file\+\_\+path\+\_\+dir\+\_\+exists@{ecore\+\_\+file\+\_\+path\+\_\+dir\+\_\+exists}}
\index{ecore\+\_\+file\+\_\+path\+\_\+dir\+\_\+exists@{ecore\+\_\+file\+\_\+path\+\_\+dir\+\_\+exists}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}
\subsubsection[{ecore\+\_\+file\+\_\+path\+\_\+dir\+\_\+exists}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Eina\+\_\+\+Bool} ecore\+\_\+file\+\_\+path\+\_\+dir\+\_\+exists (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{in\+\_\+dir}
\end{DoxyParamCaption}
)}\label{group__Ecore__File__Group_ga0b979b4dc509a159f087136743e8fc74}


Check if the given directory is in P\+A\+T\+H. 


\begin{DoxyParams}{Parameters}
{\em in\+\_\+dir} & The name of the directory to search in P\+A\+T\+H. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} if the directory exist in P\+A\+T\+H, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise.
\end{DoxyReturn}
This function checks if {\ttfamily in\+\_\+dir} is in the environment variable P\+A\+T\+H. If {\ttfamily in\+\_\+dir} is {\ttfamily N\+U\+L\+L}, or if P\+A\+T\+H is empty, or {\ttfamily in\+\_\+dir} is not in P\+A\+T\+H, the function returns {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E}, otherwise it returns {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E}. 

References E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E, E\+I\+N\+A\+\_\+\+L\+I\+S\+T\+\_\+\+F\+O\+R\+E\+A\+C\+H, and E\+I\+N\+A\+\_\+\+T\+R\+U\+E.

\hypertarget{group__Ecore__File__Group_ga0826230d24ff7834c9c10f1cbc82c2ed}{}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!ecore\+\_\+file\+\_\+app\+\_\+installed@{ecore\+\_\+file\+\_\+app\+\_\+installed}}
\index{ecore\+\_\+file\+\_\+app\+\_\+installed@{ecore\+\_\+file\+\_\+app\+\_\+installed}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}
\subsubsection[{ecore\+\_\+file\+\_\+app\+\_\+installed}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Eina\+\_\+\+Bool} ecore\+\_\+file\+\_\+app\+\_\+installed (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{exe}
\end{DoxyParamCaption}
)}\label{group__Ecore__File__Group_ga0826230d24ff7834c9c10f1cbc82c2ed}


Check if the given application is installed. 


\begin{DoxyParams}{Parameters}
{\em exe} & The name of the application \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} if the {\ttfamily exe} is in P\+A\+T\+H and is executable, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise.
\end{DoxyReturn}
This function checks if {\ttfamily exe} exists in P\+A\+T\+H and is executable. If {\ttfamily exe} is {\ttfamily N\+U\+L\+L} or is not executable, the function returns {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E}, otherwise it returns {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E}. 

References ecore\+\_\+file\+\_\+can\+\_\+exec(), E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E, E\+I\+N\+A\+\_\+\+L\+I\+S\+T\+\_\+\+F\+O\+R\+E\+A\+C\+H, and E\+I\+N\+A\+\_\+\+T\+R\+U\+E.

\hypertarget{group__Ecore__File__Group_gaafdd314a82446206de611bfafb1d2776}{}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!ecore\+\_\+file\+\_\+app\+\_\+list@{ecore\+\_\+file\+\_\+app\+\_\+list}}
\index{ecore\+\_\+file\+\_\+app\+\_\+list@{ecore\+\_\+file\+\_\+app\+\_\+list}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}
\subsubsection[{ecore\+\_\+file\+\_\+app\+\_\+list}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Eina\+\_\+\+List} $\ast$ ecore\+\_\+file\+\_\+app\+\_\+list (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}\label{group__Ecore__File__Group_gaafdd314a82446206de611bfafb1d2776}


Get a list of all the applications installed on the system. 

\begin{DoxyReturn}{Returns}
An Eina\+\_\+\+List containing all the executable files in the system.
\end{DoxyReturn}
This function returns a list of allocated strings of all the executable files. If no files are found, the function returns {\ttfamily N\+U\+L\+L}. When not needed anymore, the element of the list must be freed. 

References ecore\+\_\+file\+\_\+can\+\_\+exec(), ecore\+\_\+file\+\_\+is\+\_\+dir(), ecore\+\_\+file\+\_\+ls(), eina\+\_\+list\+\_\+append(), E\+I\+N\+A\+\_\+\+L\+I\+S\+T\+\_\+\+F\+O\+R\+E\+A\+C\+H, and E\+I\+N\+A\+\_\+\+L\+I\+S\+T\+\_\+\+F\+R\+E\+E.

\hypertarget{group__Ecore__File__Group_ga3ec2d36d0e56daf214199fd2e2307caa}{}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!ecore\+\_\+file\+\_\+download@{ecore\+\_\+file\+\_\+download}}
\index{ecore\+\_\+file\+\_\+download@{ecore\+\_\+file\+\_\+download}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}
\subsubsection[{ecore\+\_\+file\+\_\+download}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Eina\+\_\+\+Bool} ecore\+\_\+file\+\_\+download (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{url, }
\item[{const char $\ast$}]{dst, }
\item[{{\bf Ecore\+\_\+\+File\+\_\+\+Download\+\_\+\+Completion\+\_\+\+Cb}}]{completion\+\_\+cb, }
\item[{{\bf Ecore\+\_\+\+File\+\_\+\+Download\+\_\+\+Progress\+\_\+\+Cb}}]{progress\+\_\+cb, }
\item[{void $\ast$}]{data, }
\item[{{\bf Ecore\+\_\+\+File\+\_\+\+Download\+\_\+\+Job} $\ast$$\ast$}]{job\+\_\+ret}
\end{DoxyParamCaption}
)}\label{group__Ecore__File__Group_ga3ec2d36d0e56daf214199fd2e2307caa}


Download the given url to the given destination. 


\begin{DoxyParams}{Parameters}
{\em url} & The complete url to download. \\
\hline
{\em dst} & The local file to save the downloaded to. \\
\hline
{\em completion\+\_\+cb} & A callback called on download complete. \\
\hline
{\em progress\+\_\+cb} & A callback called during the download operation. \\
\hline
{\em data} & User data passed to both callbacks. \\
\hline
{\em job\+\_\+ret} & Job used to abort the download. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} if the download start or {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} on failure.
\end{DoxyReturn}
This function starts the download of the U\+R\+L {\ttfamily url} and saves it to {\ttfamily dst}. {\ttfamily url} must provide the protocol, including \textquotesingle{}\href{http://',}{\tt http\+://\textquotesingle{},} \textquotesingle{}\href{ftp://'}{\tt ftp\+://\textquotesingle{}} or \textquotesingle{}\href{file://'}{\tt file\+://\textquotesingle{}}. Ecore\+\_\+\+File must be compiled with C\+U\+R\+L to download using http and ftp protocols. If {\ttfamily dst} is ill-\/formed, or if it already exists, the function returns {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E}. When the download is complete, the callback {\ttfamily completion\+\_\+cb} is called and {\ttfamily data} is passed to it. The {\ttfamily status} parameter of {\ttfamily completion\+\_\+cb} will be filled with the status of the download (200, 404,...). The {\ttfamily progress\+\_\+cb} is called during the download operation, each time a packet is received or when C\+U\+R\+L wants. It can be used to display the percentage of the downloaded file. Return 0 from this callback, if provided, to continue the operation or anything else to abort the download. The only operations that can be aborted are those with protocol \textquotesingle{}http\textquotesingle{} or \textquotesingle{}ftp\textquotesingle{}. In that case {\ttfamily job\+\_\+ret} can be passed to \hyperlink{group__Ecore__File__Group_gaab33a141bc148f306f4023df3f106ab9}{ecore\+\_\+file\+\_\+download\+\_\+abort()} to abort that download job. Similarly \hyperlink{group__Ecore__File__Group_ga70a16572e7a68d86fc73b2832ee61f40}{ecore\+\_\+file\+\_\+download\+\_\+abort\+\_\+all()} can be used to abort all download operations. This function returns {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} if the download starts, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise. \hypertarget{group__Ecore__File__Group_ga79099348cfad7e1da8158470f058db15}{}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!ecore\+\_\+file\+\_\+download\+\_\+full@{ecore\+\_\+file\+\_\+download\+\_\+full}}
\index{ecore\+\_\+file\+\_\+download\+\_\+full@{ecore\+\_\+file\+\_\+download\+\_\+full}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}
\subsubsection[{ecore\+\_\+file\+\_\+download\+\_\+full}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Eina\+\_\+\+Bool} ecore\+\_\+file\+\_\+download\+\_\+full (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{url, }
\item[{const char $\ast$}]{dst, }
\item[{{\bf Ecore\+\_\+\+File\+\_\+\+Download\+\_\+\+Completion\+\_\+\+Cb}}]{completion\+\_\+cb, }
\item[{{\bf Ecore\+\_\+\+File\+\_\+\+Download\+\_\+\+Progress\+\_\+\+Cb}}]{progress\+\_\+cb, }
\item[{void $\ast$}]{data, }
\item[{{\bf Ecore\+\_\+\+File\+\_\+\+Download\+\_\+\+Job} $\ast$$\ast$}]{job\+\_\+ret, }
\item[{{\bf Eina\+\_\+\+Hash} $\ast$}]{headers}
\end{DoxyParamCaption}
)}\label{group__Ecore__File__Group_ga79099348cfad7e1da8158470f058db15}


Download the given url to the given destination with additional headers. 


\begin{DoxyParams}{Parameters}
{\em url} & The complete url to download. \\
\hline
{\em dst} & The local file to save the downloaded to. \\
\hline
{\em completion\+\_\+cb} & A callback called on download complete. \\
\hline
{\em progress\+\_\+cb} & A callback called during the download operation. \\
\hline
{\em data} & User data passed to both callbacks. \\
\hline
{\em job\+\_\+ret} & Job used to abort the download. \\
\hline
{\em headers} & pointer of header lists. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} if the download start or {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} on failure. 
\end{DoxyReturn}
\hypertarget{group__Ecore__File__Group_ga70a16572e7a68d86fc73b2832ee61f40}{}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!ecore\+\_\+file\+\_\+download\+\_\+abort\+\_\+all@{ecore\+\_\+file\+\_\+download\+\_\+abort\+\_\+all}}
\index{ecore\+\_\+file\+\_\+download\+\_\+abort\+\_\+all@{ecore\+\_\+file\+\_\+download\+\_\+abort\+\_\+all}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}
\subsubsection[{ecore\+\_\+file\+\_\+download\+\_\+abort\+\_\+all}]{\setlength{\rightskip}{0pt plus 5cm}void ecore\+\_\+file\+\_\+download\+\_\+abort\+\_\+all (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}\label{group__Ecore__File__Group_ga70a16572e7a68d86fc73b2832ee61f40}


Abort all downloads. 

This function aborts all the downloads that have been started by \hyperlink{group__Ecore__File__Group_ga3ec2d36d0e56daf214199fd2e2307caa}{ecore\+\_\+file\+\_\+download()}. It loops over the started downloads and call \hyperlink{group__Ecore__File__Group_gaab33a141bc148f306f4023df3f106ab9}{ecore\+\_\+file\+\_\+download\+\_\+abort()} for each of them. To abort only one specific download operation, call \hyperlink{group__Ecore__File__Group_gaab33a141bc148f306f4023df3f106ab9}{ecore\+\_\+file\+\_\+download\+\_\+abort()}. 

References ecore\+\_\+file\+\_\+download\+\_\+abort(), and E\+I\+N\+A\+\_\+\+L\+I\+S\+T\+\_\+\+F\+R\+E\+E.

\hypertarget{group__Ecore__File__Group_gaab33a141bc148f306f4023df3f106ab9}{}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!ecore\+\_\+file\+\_\+download\+\_\+abort@{ecore\+\_\+file\+\_\+download\+\_\+abort}}
\index{ecore\+\_\+file\+\_\+download\+\_\+abort@{ecore\+\_\+file\+\_\+download\+\_\+abort}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}
\subsubsection[{ecore\+\_\+file\+\_\+download\+\_\+abort}]{\setlength{\rightskip}{0pt plus 5cm}void ecore\+\_\+file\+\_\+download\+\_\+abort (
\begin{DoxyParamCaption}
\item[{{\bf Ecore\+\_\+\+File\+\_\+\+Download\+\_\+\+Job} $\ast$}]{job}
\end{DoxyParamCaption}
)}\label{group__Ecore__File__Group_gaab33a141bc148f306f4023df3f106ab9}


Abort the given download job and call the completion\+\_\+cb callbck with a status of 1 (error). 


\begin{DoxyParams}{Parameters}
{\em job} & The download job to abort.\\
\hline
\end{DoxyParams}
This function aborts a download operation started by \hyperlink{group__Ecore__File__Group_ga3ec2d36d0e56daf214199fd2e2307caa}{ecore\+\_\+file\+\_\+download()}. {\ttfamily job} is the \hyperlink{group__Ecore__File__Group_gac13ffcf33aa05a26d8cd36b22918a8b9}{Ecore\+\_\+\+File\+\_\+\+Download\+\_\+\+Job} structure filled by \hyperlink{group__Ecore__File__Group_ga3ec2d36d0e56daf214199fd2e2307caa}{ecore\+\_\+file\+\_\+download()}. If it is {\ttfamily N\+U\+L\+L}, this function does nothing. To abort all the currently downloading operations, call \hyperlink{group__Ecore__File__Group_ga70a16572e7a68d86fc73b2832ee61f40}{ecore\+\_\+file\+\_\+download\+\_\+abort\+\_\+all()}. 

References ecore\+\_\+con\+\_\+url\+\_\+data\+\_\+get(), ecore\+\_\+con\+\_\+url\+\_\+free(), and eina\+\_\+list\+\_\+remove().



Referenced by ecore\+\_\+file\+\_\+download\+\_\+abort\+\_\+all().

\hypertarget{group__Ecore__File__Group_gab1aa4e6a7be639e47be2c0a10be7124e}{}\index{Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}!ecore\+\_\+file\+\_\+download\+\_\+protocol\+\_\+available@{ecore\+\_\+file\+\_\+download\+\_\+protocol\+\_\+available}}
\index{ecore\+\_\+file\+\_\+download\+\_\+protocol\+\_\+available@{ecore\+\_\+file\+\_\+download\+\_\+protocol\+\_\+available}!Ecore\+\_\+\+File -\/ Files and directories convenience functions@{Ecore\+\_\+\+File -\/ Files and directories convenience functions}}
\subsubsection[{ecore\+\_\+file\+\_\+download\+\_\+protocol\+\_\+available}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Eina\+\_\+\+Bool} ecore\+\_\+file\+\_\+download\+\_\+protocol\+\_\+available (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{protocol}
\end{DoxyParamCaption}
)}\label{group__Ecore__File__Group_gab1aa4e6a7be639e47be2c0a10be7124e}


Check if the given protocol is available. 


\begin{DoxyParams}{Parameters}
{\em protocol} & The protocol to check. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} if protocol is handled, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise.
\end{DoxyReturn}
This function returns {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} if {\ttfamily protocol} is supported, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise. {\ttfamily protocol} can be \textquotesingle{}\href{http://',}{\tt http\+://\textquotesingle{},} \textquotesingle{}\href{ftp://'}{\tt ftp\+://\textquotesingle{}} or \textquotesingle{}\href{file://'}{\tt file\+://\textquotesingle{}}. Ecore\+\_\+\+F\+I\+L\+E must be compiled with C\+U\+R\+L to handle http and ftp protocols. 

References E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E, and E\+I\+N\+A\+\_\+\+T\+R\+U\+E.

