\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}{}\label{group__Ecore__File__Group_ga4fdec59d561b66134827381ec5105cf2} 
typedef struct \+\_\+\+Ecore\+\_\+\+File\+\_\+\+Monitor \hyperlink{group__Ecore__File__Group_ga4fdec59d561b66134827381ec5105cf2}{Ecore\+\_\+\+File\+\_\+\+Monitor}
\begin{DoxyCompactList}\small\item\em Abstract type used when monitoring a directory. \end{DoxyCompactList}\item 
\hypertarget{group__Ecore__File__Group_gac13ffcf33aa05a26d8cd36b22918a8b9}{}\label{group__Ecore__File__Group_gac13ffcf33aa05a26d8cd36b22918a8b9} 
typedef struct \+\_\+\+Ecore\+\_\+\+File\+\_\+\+Download\+\_\+\+Job \hyperlink{group__Ecore__File__Group_gac13ffcf33aa05a26d8cd36b22918a8b9}{Ecore\+\_\+\+File\+\_\+\+Download\+\_\+\+Job}
\begin{DoxyCompactList}\small\item\em Abstract type used when aborting a download. \end{DoxyCompactList}\item 
\hypertarget{group__Ecore__File__Group_ga02c8c65e8e9a7e4b3740d84b4397d90c}{}\label{group__Ecore__File__Group_ga02c8c65e8e9a7e4b3740d84b4397d90c} 
typedef enum \hyperlink{group__Ecore__File__Group_gac8673e397a2f2e7ee03f814d118d03b5}{\+\_\+\+Ecore\+\_\+\+File\+\_\+\+Event} {\bfseries Ecore\+\_\+\+File\+\_\+\+Event}
\item 
\hypertarget{group__Ecore__File__Group_ga65d84a5d2abfc494f103ef3fe0de6e34}{}\label{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)
\begin{DoxyCompactList}\small\item\em Callback type used when a monitored directory has changes. \end{DoxyCompactList}\item 
\hypertarget{group__Ecore__File__Group_ga71ca51b9726d274b1b750b021fdb8730}{}\label{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)
\begin{DoxyCompactList}\small\item\em Callback type used when a download is finished. \end{DoxyCompactList}\item 
\hypertarget{group__Ecore__File__Group_gaf69fc84b65f638ab9014ce5870e0d664}{}\label{group__Ecore__File__Group_gaf69fc84b65f638ab9014ce5870e0d664} 
typedef enum \hyperlink{group__Ecore__File__Group_gaf2261d7075a4ccb5a3e1821290ca97ca}{\+\_\+\+Ecore\+\_\+\+File\+\_\+\+Progress\+\_\+\+Return} {\bfseries Ecore\+\_\+\+File\+\_\+\+Progress\+\_\+\+Return}
\item 
\hypertarget{group__Ecore__File__Group_ga829dc96dbd2cb2bda6d2e8308b3fa24b}{}\label{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)
\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} \{ \newline
\hyperlink{group__Ecore__File__Group_ggac8673e397a2f2e7ee03f814d118d03b5a5b6731602105064764529adac4d1264f}{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+N\+O\+NE}, 
\newline
\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\+LE}, 
\newline
\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\+RY}, 
\newline
\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\+LE}, 
\newline
\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\+RY}, 
\newline
\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\+LF}, 
\newline
\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\+ED}, 
\newline
\hyperlink{group__Ecore__File__Group_ggac8673e397a2f2e7ee03f814d118d03b5ac82f89c8c4ee15891af196c7c26a5772}{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+C\+L\+O\+S\+ED}
 \}\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} \{ \newline
\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\+UE} = 0, 
\newline
\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\+RT} = 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}{}\label{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)
\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{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} \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{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} 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{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} 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{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} \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\+TH. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} \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{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} \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{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} \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{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} \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{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} 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{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} 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{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} \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}{}\label{group__Ecore__File__Group_ga5fe4c28da06d41c0d46a0d0afdad5010} 
static int {\bfseries \+\_\+ecore\+\_\+file\+\_\+download\+\_\+url\+\_\+compare\+\_\+job} (const void $\ast$data1, const void $\ast$data2)
\item 
\hypertarget{group__Ecore__File__Group_ga0f89d6390f42cd150374b5150d2655ae}{}\label{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)
\item 
\hypertarget{group__Ecore__File__Group_gae12188f2e371f2e2c0a19db2dc88a6e4}{}\label{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)
\item 
\hypertarget{group__Ecore__File__Group_ga4a9a92d95ddb529b9c6202a74c43786c}{}\label{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)
\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
\hypertarget{group__Ecore__File__Group_ga737792f6231c73c506e04a1a9daf721e}{}\label{group__Ecore__File__Group_ga737792f6231c73c506e04a1a9daf721e} 
static mode\+\_\+t {\bfseries default\+\_\+mode} = S\+\_\+\+I\+R\+U\+SR $\vert$ S\+\_\+\+I\+W\+U\+SR $\vert$ S\+\_\+\+I\+X\+U\+SR $\vert$ S\+\_\+\+I\+R\+G\+RP $\vert$ S\+\_\+\+I\+X\+G\+RP $\vert$ S\+\_\+\+I\+R\+O\+TH $\vert$ S\+\_\+\+I\+X\+O\+TH
\end{DoxyCompactItemize}


\subsection{Detailed Description}


\subsection{Enumeration Type Documentation}
\hypertarget{group__Ecore__File__Group_gac8673e397a2f2e7ee03f814d118d03b5}{}\label{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{\texorpdfstring{\+\_\+\+Ecore\+\_\+\+File\+\_\+\+Event}{\_Ecore\_File\_Event}}
{\footnotesize\ttfamily enum \hyperlink{group__Ecore__File__Group_gac8673e397a2f2e7ee03f814d118d03b5}{\+\_\+\+Ecore\+\_\+\+File\+\_\+\+Event}}



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

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+N\+O\+NE@{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+N\+O\+NE}!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\+NE@{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+N\+O\+NE}}}\hypertarget{group__Ecore__File__Group_ggac8673e397a2f2e7ee03f814d118d03b5a5b6731602105064764529adac4d1264f}{}\label{group__Ecore__File__Group_ggac8673e397a2f2e7ee03f814d118d03b5a5b6731602105064764529adac4d1264f} 
E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+N\+O\+NE&No event. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+C\+R\+E\+A\+T\+E\+D\+\_\+\+F\+I\+LE@{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+C\+R\+E\+A\+T\+E\+D\+\_\+\+F\+I\+LE}!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\+LE@{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+C\+R\+E\+A\+T\+E\+D\+\_\+\+F\+I\+LE}}}\hypertarget{group__Ecore__File__Group_ggac8673e397a2f2e7ee03f814d118d03b5a2c6fef381c6d027d6dfd9e9cf211fa67}{}\label{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\+LE&Created file event. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\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\+RY@{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\+RY}!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\+RY@{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\+RY}}}\hypertarget{group__Ecore__File__Group_ggac8673e397a2f2e7ee03f814d118d03b5a32961ee791cf962f8f1de26664e2b6fc}{}\label{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\+RY&Created directory event. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+D\+E\+L\+E\+T\+E\+D\+\_\+\+F\+I\+LE@{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+D\+E\+L\+E\+T\+E\+D\+\_\+\+F\+I\+LE}!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\+LE@{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+D\+E\+L\+E\+T\+E\+D\+\_\+\+F\+I\+LE}}}\hypertarget{group__Ecore__File__Group_ggac8673e397a2f2e7ee03f814d118d03b5a09a4bf150129aadfca5d84361ee8607b}{}\label{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\+LE&Deleted file event. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\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\+RY@{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\+RY}!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\+RY@{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\+RY}}}\hypertarget{group__Ecore__File__Group_ggac8673e397a2f2e7ee03f814d118d03b5a41917336c75e34e825ba34e0cacc3515}{}\label{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\+RY&Deleted directory event. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+D\+E\+L\+E\+T\+E\+D\+\_\+\+S\+E\+LF@{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+D\+E\+L\+E\+T\+E\+D\+\_\+\+S\+E\+LF}!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\+LF@{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+D\+E\+L\+E\+T\+E\+D\+\_\+\+S\+E\+LF}}}\hypertarget{group__Ecore__File__Group_ggac8673e397a2f2e7ee03f814d118d03b5a728ccffd07a101b7c7377dfd48a71224}{}\label{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\+LF&Deleted monitored directory event. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+M\+O\+D\+I\+F\+I\+ED@{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+M\+O\+D\+I\+F\+I\+ED}!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\+ED@{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+M\+O\+D\+I\+F\+I\+ED}}}\hypertarget{group__Ecore__File__Group_ggac8673e397a2f2e7ee03f814d118d03b5ab284e0b8654545672937914a9c838973}{}\label{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\+ED&Modified file or directory event. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+C\+L\+O\+S\+ED@{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+C\+L\+O\+S\+ED}!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\+ED@{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+C\+L\+O\+S\+ED}}}\hypertarget{group__Ecore__File__Group_ggac8673e397a2f2e7ee03f814d118d03b5ac82f89c8c4ee15891af196c7c26a5772}{}\label{group__Ecore__File__Group_ggac8673e397a2f2e7ee03f814d118d03b5ac82f89c8c4ee15891af196c7c26a5772} 
E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+E\+V\+E\+N\+T\+\_\+\+C\+L\+O\+S\+ED&Closed file event. \\
\hline

\end{DoxyEnumFields}
\hypertarget{group__Ecore__File__Group_gaf2261d7075a4ccb5a3e1821290ca97ca}{}\label{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{\texorpdfstring{\+\_\+\+Ecore\+\_\+\+File\+\_\+\+Progress\+\_\+\+Return}{\_Ecore\_File\_Progress\_Return}}
{\footnotesize\ttfamily enum \hyperlink{group__Ecore__File__Group_gaf2261d7075a4ccb5a3e1821290ca97ca}{\+\_\+\+Ecore\+\_\+\+File\+\_\+\+Progress\+\_\+\+Return}}



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

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+P\+R\+O\+G\+R\+E\+S\+S\+\_\+\+C\+O\+N\+T\+I\+N\+UE@{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+P\+R\+O\+G\+R\+E\+S\+S\+\_\+\+C\+O\+N\+T\+I\+N\+UE}!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\+UE@{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+P\+R\+O\+G\+R\+E\+S\+S\+\_\+\+C\+O\+N\+T\+I\+N\+UE}}}\hypertarget{group__Ecore__File__Group_ggaf2261d7075a4ccb5a3e1821290ca97caa034acca14263fec55dbcb7162a7cbe1d}{}\label{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\+UE&Continue the download. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+P\+R\+O\+G\+R\+E\+S\+S\+\_\+\+A\+B\+O\+RT@{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+P\+R\+O\+G\+R\+E\+S\+S\+\_\+\+A\+B\+O\+RT}!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\+RT@{E\+C\+O\+R\+E\+\_\+\+F\+I\+L\+E\+\_\+\+P\+R\+O\+G\+R\+E\+S\+S\+\_\+\+A\+B\+O\+RT}}}\hypertarget{group__Ecore__File__Group_ggaf2261d7075a4ccb5a3e1821290ca97caa255e0cbdd2f78fd1fb6f5bc8dcf1204a}{}\label{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\+RT&Abort the download. \\
\hline

\end{DoxyEnumFields}


\subsection{Function Documentation}
\hypertarget{group__Ecore__File__Group_gaac9350c7cd245595244e1bb5e2900711}{}\label{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{\texorpdfstring{ecore\+\_\+file\+\_\+init()}{ecore\_file\_init()}}
{\footnotesize\ttfamily \hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} int ecore\+\_\+file\+\_\+init (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



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\+TH 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\+RR.



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

\hypertarget{group__Ecore__File__Group_gae55c5ea738ffaae2ca8887e3689f0e73}{}\label{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{\texorpdfstring{ecore\+\_\+file\+\_\+shutdown()}{ecore\_file\_shutdown()}}
{\footnotesize\ttfamily \hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} int ecore\+\_\+file\+\_\+shutdown (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



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}{}\label{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{\texorpdfstring{ecore\+\_\+file\+\_\+mod\+\_\+time()}{ecore\_file\_mod\_time()}}
{\footnotesize\ttfamily \hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} long long ecore\+\_\+file\+\_\+mod\+\_\+time (\begin{DoxyParamCaption}\item[{const char $\ast$}]{file }\end{DoxyParamCaption})}



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\+\_\+string\+\_\+list\+\_\+join().

\hypertarget{group__Ecore__File__Group_ga6ac9d3d430a6110467ca3e2ac96a8851}{}\label{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{\texorpdfstring{ecore\+\_\+file\+\_\+size()}{ecore\_file\_size()}}
{\footnotesize\ttfamily \hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} long long ecore\+\_\+file\+\_\+size (\begin{DoxyParamCaption}\item[{const char $\ast$}]{file }\end{DoxyParamCaption})}



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}{}\label{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{\texorpdfstring{ecore\+\_\+file\+\_\+exists()}{ecore\_file\_exists()}}
{\footnotesize\ttfamily \hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} ecore\+\_\+file\+\_\+exists (\begin{DoxyParamCaption}\item[{const char $\ast$}]{file }\end{DoxyParamCaption})}



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\+UE} if the {\ttfamily file} exists, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} otherwise.
\end{DoxyReturn}
This function returns {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+UE} if {\ttfamily file} exists on local filesystem, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} otherwise. 

References E\+I\+N\+A\+\_\+\+F\+A\+L\+SE, and E\+I\+N\+A\+\_\+\+T\+R\+UE.



Referenced by edje\+\_\+edit\+\_\+clean\+\_\+save\+\_\+as().

\hypertarget{group__Ecore__File__Group_ga2b8800b3ecf0c96fb2e47737827ed70f}{}\label{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{\texorpdfstring{ecore\+\_\+file\+\_\+is\+\_\+dir()}{ecore\_file\_is\_dir()}}
{\footnotesize\ttfamily \hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} ecore\+\_\+file\+\_\+is\+\_\+dir (\begin{DoxyParamCaption}\item[{const char $\ast$}]{file }\end{DoxyParamCaption})}



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\+UE} if the file exists and is a directory, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} otherwise.
\end{DoxyReturn}
This function returns {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+UE} if {\ttfamily file} exists exists and is a directory on local filesystem, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} otherwise. 

References E\+I\+N\+A\+\_\+\+F\+A\+L\+SE.



Referenced by elm\+\_\+fileselector\+\_\+selected\+\_\+set().

\hypertarget{group__Ecore__File__Group_gafdfe259d9a595dc05c8fc725342b253c}{}\label{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{\texorpdfstring{ecore\+\_\+file\+\_\+mkdir()}{ecore\_file\_mkdir()}}
{\footnotesize\ttfamily \hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} ecore\+\_\+file\+\_\+mkdir (\begin{DoxyParamCaption}\item[{const char $\ast$}]{dir }\end{DoxyParamCaption})}



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\+UE} on successful creation, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} otherwise.
\end{DoxyReturn}
This function creates the directory {\ttfamily dir}, with the mode S\+\_\+\+I\+R\+U\+SR $\vert$ S\+\_\+\+I\+W\+U\+SR $\vert$ S\+\_\+\+I\+X\+U\+SR $\vert$ S\+\_\+\+I\+R\+G\+RP $\vert$ S\+\_\+\+I\+X\+G\+RP $\vert$ S\+\_\+\+I\+R\+O\+TH $\vert$ S\+\_\+\+I\+X\+O\+TH on U\+N\+IX (mode is unsued on Windows). On success, it returns {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+UE}, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} otherwise. 

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

\hypertarget{group__Ecore__File__Group_ga609a0f775c9715843a42de504e034ad4}{}\label{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{\texorpdfstring{ecore\+\_\+file\+\_\+mkdirs()}{ecore\_file\_mkdirs()}}
{\footnotesize\ttfamily \hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} int ecore\+\_\+file\+\_\+mkdirs (\begin{DoxyParamCaption}\item[{const char $\ast$$\ast$}]{dirs }\end{DoxyParamCaption})}



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\+LL}.
\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\+LL}, otherwise if returns the number of suceesfully created directories. 

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

\hypertarget{group__Ecore__File__Group_gacf70d8b8ad53aa3e23a7351ed5f16b14}{}\label{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{\texorpdfstring{ecore\+\_\+file\+\_\+mksubdirs()}{ecore\_file\_mksubdirs()}}
{\footnotesize\ttfamily \hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} int ecore\+\_\+file\+\_\+mksubdirs (\begin{DoxyParamCaption}\item[{const char $\ast$}]{base,  }\item[{const char $\ast$$\ast$}]{subdirs }\end{DoxyParamCaption})}



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\+LL}, 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. \hypertarget{group__Ecore__File__Group_ga62cef63e255470c97a4d95963a3a07b1}{}\label{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{\texorpdfstring{ecore\+\_\+file\+\_\+rmdir()}{ecore\_file\_rmdir()}}
{\footnotesize\ttfamily \hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} ecore\+\_\+file\+\_\+rmdir (\begin{DoxyParamCaption}\item[{const char $\ast$}]{dir }\end{DoxyParamCaption})}



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\+UE} on success, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} otherwise.
\end{DoxyReturn}
This function deletes {\ttfamily dir}. It returns {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+UE} on success, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} otherwise. 

References E\+I\+N\+A\+\_\+\+F\+A\+L\+SE, and E\+I\+N\+A\+\_\+\+T\+R\+UE.

\hypertarget{group__Ecore__File__Group_ga38fa7db112c1fc3c6ca6dcc367f036bb}{}\label{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{\texorpdfstring{ecore\+\_\+file\+\_\+unlink()}{ecore\_file\_unlink()}}
{\footnotesize\ttfamily \hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} ecore\+\_\+file\+\_\+unlink (\begin{DoxyParamCaption}\item[{const char $\ast$}]{file }\end{DoxyParamCaption})}



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\+UE} on success, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} otherwise.
\end{DoxyReturn}
This function deletes {\ttfamily file}. It returns {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+UE} on success, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} otherwise. 

References E\+I\+N\+A\+\_\+\+F\+A\+L\+SE, and E\+I\+N\+A\+\_\+\+T\+R\+UE.

\hypertarget{group__Ecore__File__Group_ga67811f9072dc5bbc10a63c056b0df9d4}{}\label{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{\texorpdfstring{ecore\+\_\+file\+\_\+remove()}{ecore\_file\_remove()}}
{\footnotesize\ttfamily \hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} ecore\+\_\+file\+\_\+remove (\begin{DoxyParamCaption}\item[{const char $\ast$}]{file }\end{DoxyParamCaption})}



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\+UE} on success, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} otherwise.
\end{DoxyReturn}
This function removes {\ttfamily file}. It returns {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+UE} on success, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} otherwise. 

References E\+I\+N\+A\+\_\+\+F\+A\+L\+SE, and E\+I\+N\+A\+\_\+\+T\+R\+UE.

\hypertarget{group__Ecore__File__Group_ga6e2d09d544f8e2b53c9518d521e1efd0}{}\label{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{\texorpdfstring{ecore\+\_\+file\+\_\+recursive\+\_\+rm()}{ecore\_file\_recursive\_rm()}}
{\footnotesize\ttfamily \hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} ecore\+\_\+file\+\_\+recursive\+\_\+rm (\begin{DoxyParamCaption}\item[{const char $\ast$}]{dir }\end{DoxyParamCaption})}



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\+UE} on success, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} 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\+UE} on success, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} otherwise. \hypertarget{group__Ecore__File__Group_ga12cd44f20708fcc4a123dea675a33a93}{}\label{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{\texorpdfstring{ecore\+\_\+file\+\_\+mkpath()}{ecore\_file\_mkpath()}}
{\footnotesize\ttfamily \hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} ecore\+\_\+file\+\_\+mkpath (\begin{DoxyParamCaption}\item[{const char $\ast$}]{path }\end{DoxyParamCaption})}



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\+UE} on success, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} 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\+UE} immediately. It returns {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+UE} on success, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} otherwise. 

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

\hypertarget{group__Ecore__File__Group_ga53017b49303ea8742096462fd7398f82}{}\label{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{\texorpdfstring{ecore\+\_\+file\+\_\+mkpaths()}{ecore\_file\_mkpaths()}}
{\footnotesize\ttfamily \hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} int ecore\+\_\+file\+\_\+mkpaths (\begin{DoxyParamCaption}\item[{const char $\ast$$\ast$}]{paths }\end{DoxyParamCaption})}



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\+LL.
\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\+LL}. Otherwise if returns the number of suceesfully created directories. 

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

\hypertarget{group__Ecore__File__Group_ga93de3e691ec32bb8220545f9d807e3e5}{}\label{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{\texorpdfstring{ecore\+\_\+file\+\_\+cp()}{ecore\_file\_cp()}}
{\footnotesize\ttfamily \hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} ecore\+\_\+file\+\_\+cp (\begin{DoxyParamCaption}\item[{const char $\ast$}]{src,  }\item[{const char $\ast$}]{dst }\end{DoxyParamCaption})}



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\+UE} on success, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} 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\+SE}, otherwise it returns {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+UE}. \hypertarget{group__Ecore__File__Group_gadcb442b00a20cb19e2cd84fa9910b9d6}{}\label{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{\texorpdfstring{ecore\+\_\+file\+\_\+mv()}{ecore\_file\_mv()}}
{\footnotesize\ttfamily \hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} ecore\+\_\+file\+\_\+mv (\begin{DoxyParamCaption}\item[{const char $\ast$}]{src,  }\item[{const char $\ast$}]{dst }\end{DoxyParamCaption})}



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\+UE} on success, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} otherwise.
\end{DoxyReturn}
This function moves {\ttfamily src} to {\ttfamily dst}. It returns {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+UE} on success, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} otherwise. \hypertarget{group__Ecore__File__Group_gabac9e816fc64684cb2e9d8c7c4443818}{}\label{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{\texorpdfstring{ecore\+\_\+file\+\_\+symlink()}{ecore\_file\_symlink()}}
{\footnotesize\ttfamily \hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} ecore\+\_\+file\+\_\+symlink (\begin{DoxyParamCaption}\item[{const char $\ast$}]{src,  }\item[{const char $\ast$}]{dest }\end{DoxyParamCaption})}



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\+UE} on success, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} 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\+UE} on success, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} otherwise. 

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

\hypertarget{group__Ecore__File__Group_ga062018ae501d68814d586483391b9daa}{}\label{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{\texorpdfstring{ecore\+\_\+file\+\_\+realpath()}{ecore\_file\_realpath()}}
{\footnotesize\ttfamily \hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} char $\ast$ ecore\+\_\+file\+\_\+realpath (\begin{DoxyParamCaption}\item[{const char $\ast$}]{file }\end{DoxyParamCaption})}



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\+LL}, 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. 

Referenced by elm\+\_\+fileselector\+\_\+selected\+\_\+set().

\hypertarget{group__Ecore__File__Group_ga5f5fe7219c6288fecaa840f81c035cb7}{}\label{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{\texorpdfstring{ecore\+\_\+file\+\_\+file\+\_\+get()}{ecore\_file\_file\_get()}}
{\footnotesize\ttfamily \hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} const char $\ast$ ecore\+\_\+file\+\_\+file\+\_\+get (\begin{DoxyParamCaption}\item[{const char $\ast$}]{path }\end{DoxyParamCaption})}



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\+LL}, the functions returns {\ttfamily N\+U\+LL}. 

Referenced by elm\+\_\+quicklaunch\+\_\+fork(), and elm\+\_\+quicklaunch\+\_\+init().

\hypertarget{group__Ecore__File__Group_gac806bae3ba255661ad7cc814f4b12857}{}\label{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{\texorpdfstring{ecore\+\_\+file\+\_\+dir\+\_\+get()}{ecore\_file\_dir\_get()}}
{\footnotesize\ttfamily \hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} char $\ast$ ecore\+\_\+file\+\_\+dir\+\_\+get (\begin{DoxyParamCaption}\item[{const char $\ast$}]{file }\end{DoxyParamCaption})}



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\+LL} or on error, this function returns {\ttfamily N\+U\+LL}. When not needed anymore, the returned value must be freed. \hypertarget{group__Ecore__File__Group_ga3b844d86804b9566aac515becda9dbf2}{}\label{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{\texorpdfstring{ecore\+\_\+file\+\_\+can\+\_\+read()}{ecore\_file\_can\_read()}}
{\footnotesize\ttfamily \hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} ecore\+\_\+file\+\_\+can\+\_\+read (\begin{DoxyParamCaption}\item[{const char $\ast$}]{file }\end{DoxyParamCaption})}



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\+UE} if the {\ttfamily file} is readable, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} otherwise.
\end{DoxyReturn}
This function returns {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+UE} if {\ttfamily file} can be read, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} otherwise. 

References E\+I\+N\+A\+\_\+\+F\+A\+L\+SE.

\hypertarget{group__Ecore__File__Group_gaa32b8720b401b8677cec4b12da261a6d}{}\label{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{\texorpdfstring{ecore\+\_\+file\+\_\+can\+\_\+write()}{ecore\_file\_can\_write()}}
{\footnotesize\ttfamily \hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} ecore\+\_\+file\+\_\+can\+\_\+write (\begin{DoxyParamCaption}\item[{const char $\ast$}]{file }\end{DoxyParamCaption})}



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\+UE} if the {\ttfamily file} is writable, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} otherwise.
\end{DoxyReturn}
This function returns {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+UE} if {\ttfamily file} can be written, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} otherwise. 

References E\+I\+N\+A\+\_\+\+F\+A\+L\+SE.

\hypertarget{group__Ecore__File__Group_ga92b7bb460e4d4e92a12c0c144fb69feb}{}\label{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{\texorpdfstring{ecore\+\_\+file\+\_\+can\+\_\+exec()}{ecore\_file\_can\_exec()}}
{\footnotesize\ttfamily \hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} ecore\+\_\+file\+\_\+can\+\_\+exec (\begin{DoxyParamCaption}\item[{const char $\ast$}]{file }\end{DoxyParamCaption})}



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\+UE} if the {\ttfamily file} can be executed, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} otherwise.
\end{DoxyReturn}
This function returns {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+UE} if {\ttfamily file} can be executed, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} otherwise. 

References E\+I\+N\+A\+\_\+\+F\+A\+L\+SE.

\hypertarget{group__Ecore__File__Group_ga289b55071970aceb0f2fc70cb0f8647d}{}\label{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{\texorpdfstring{ecore\+\_\+file\+\_\+readlink()}{ecore\_file\_readlink()}}
{\footnotesize\ttfamily \hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} char $\ast$ ecore\+\_\+file\+\_\+readlink (\begin{DoxyParamCaption}\item[{const char $\ast$}]{lnk }\end{DoxyParamCaption})}



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\+LL.
\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\+LL}. When not needed anymore, the returned value must be freed. \hypertarget{group__Ecore__File__Group_gab7baa24c2abea205b4d1f92397f1bda0}{}\label{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{\texorpdfstring{ecore\+\_\+file\+\_\+ls()}{ecore\_file\_ls()}}
{\footnotesize\ttfamily \hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} \hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List} $\ast$ ecore\+\_\+file\+\_\+ls (\begin{DoxyParamCaption}\item[{const char $\ast$}]{dir }\end{DoxyParamCaption})}



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\+LL.
\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\+TE 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\+LL} is returned. When not needed anymore, the list elements must be freed. 

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

\hypertarget{group__Ecore__File__Group_gab01d35474ff7390e41e19609712f6923}{}\label{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{\texorpdfstring{ecore\+\_\+file\+\_\+app\+\_\+exe\+\_\+get()}{ecore\_file\_app\_exe\_get()}}
{\footnotesize\ttfamily \hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} char $\ast$ ecore\+\_\+file\+\_\+app\+\_\+exe\+\_\+get (\begin{DoxyParamCaption}\item[{const char $\ast$}]{app }\end{DoxyParamCaption})}



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\+LL}, or on failure, the function returns {\ttfamily N\+U\+LL}. When not needed anymore, the returned value must be freed. 
\end{DoxyReturn}


References eina\+\_\+environment\+\_\+home\+\_\+get(), E\+I\+N\+A\+\_\+\+F\+A\+L\+SE, eina\+\_\+strbuf\+\_\+append(), eina\+\_\+strbuf\+\_\+append\+\_\+char(), eina\+\_\+strbuf\+\_\+free(), eina\+\_\+strbuf\+\_\+new(), eina\+\_\+strbuf\+\_\+string\+\_\+steal(), and E\+I\+N\+A\+\_\+\+T\+R\+UE.

\hypertarget{group__Ecore__File__Group_ga0d33ee025d316f91c179bd6cd5f9a9d7}{}\label{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{\texorpdfstring{ecore\+\_\+file\+\_\+escape\+\_\+name()}{ecore\_file\_escape\_name()}}
{\footnotesize\ttfamily \hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} char $\ast$ ecore\+\_\+file\+\_\+escape\+\_\+name (\begin{DoxyParamCaption}\item[{const char $\ast$}]{filename }\end{DoxyParamCaption})}



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\+AX, or on failure, {\ttfamily N\+U\+LL} is returned. When not needed anymore, the returned value must be freed. \hypertarget{group__Ecore__File__Group_ga04e08638c8ba981a6419e64c19b4688b}{}\label{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{\texorpdfstring{ecore\+\_\+file\+\_\+strip\+\_\+ext()}{ecore\_file\_strip\_ext()}}
{\footnotesize\ttfamily \hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} char $\ast$ ecore\+\_\+file\+\_\+strip\+\_\+ext (\begin{DoxyParamCaption}\item[{const char $\ast$}]{path }\end{DoxyParamCaption})}



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\+LL} 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\+LL}, or on failure, the function returns {\ttfamily N\+U\+LL}. When not needed anymore, the returned value must be freed. \hypertarget{group__Ecore__File__Group_ga5f6777eb4beea434372df0aa7357979b}{}\label{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{\texorpdfstring{ecore\+\_\+file\+\_\+dir\+\_\+is\+\_\+empty()}{ecore\_file\_dir\_is\_empty()}}
{\footnotesize\ttfamily \hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI} int ecore\+\_\+file\+\_\+dir\+\_\+is\+\_\+empty (\begin{DoxyParamCaption}\item[{const char $\ast$}]{dir }\end{DoxyParamCaption})}



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\+CH, and eina\+\_\+iterator\+\_\+free().

\hypertarget{group__Ecore__File__Group_ga7d71d00f7b8a1a81a2938989f7da01c7}{}\label{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{\texorpdfstring{ecore\+\_\+file\+\_\+monitor\+\_\+add()}{ecore\_file\_monitor\_add()}}
{\footnotesize\ttfamily \hyperlink{group__Ecore__File__Group_ga4fdec59d561b66134827381ec5105cf2}{Ecore\+\_\+\+File\+\_\+\+Monitor} $\ast$ ecore\+\_\+file\+\_\+monitor\+\_\+add (\begin{DoxyParamCaption}\item[{const char $\ast$}]{path,  }\item[{\hyperlink{group__Ecore__File__Group_ga65d84a5d2abfc494f103ef3fe0de6e34}{Ecore\+\_\+\+File\+\_\+\+Monitor\+\_\+\+Cb}}]{func,  }\item[{void $\ast$}]{data }\end{DoxyParamCaption})}



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\+LL on failure.
\end{DoxyReturn}
This function monitors {\ttfamily path}. If {\ttfamily path} is {\ttfamily N\+U\+LL}, 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\+LL}. 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}{}\label{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{\texorpdfstring{ecore\+\_\+file\+\_\+monitor\+\_\+del()}{ecore\_file\_monitor\_del()}}
{\footnotesize\ttfamily void ecore\+\_\+file\+\_\+monitor\+\_\+del (\begin{DoxyParamCaption}\item[{\hyperlink{group__Ecore__File__Group_ga4fdec59d561b66134827381ec5105cf2}{Ecore\+\_\+\+File\+\_\+\+Monitor} $\ast$}]{em }\end{DoxyParamCaption})}



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\+LL}, 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}{}\label{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{\texorpdfstring{ecore\+\_\+file\+\_\+monitor\+\_\+path\+\_\+get()}{ecore\_file\_monitor\_path\_get()}}
{\footnotesize\ttfamily const char $\ast$ ecore\+\_\+file\+\_\+monitor\+\_\+path\+\_\+get (\begin{DoxyParamCaption}\item[{\hyperlink{group__Ecore__File__Group_ga4fdec59d561b66134827381ec5105cf2}{Ecore\+\_\+\+File\+\_\+\+Monitor} $\ast$}]{em }\end{DoxyParamCaption})}



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\+LL}, the function returns {\ttfamily N\+U\+LL}. \hypertarget{group__Ecore__File__Group_ga0b979b4dc509a159f087136743e8fc74}{}\label{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{\texorpdfstring{ecore\+\_\+file\+\_\+path\+\_\+dir\+\_\+exists()}{ecore\_file\_path\_dir\_exists()}}
{\footnotesize\ttfamily \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} ecore\+\_\+file\+\_\+path\+\_\+dir\+\_\+exists (\begin{DoxyParamCaption}\item[{const char $\ast$}]{in\+\_\+dir }\end{DoxyParamCaption})}



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


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

References E\+I\+N\+A\+\_\+\+F\+A\+L\+SE, E\+I\+N\+A\+\_\+\+L\+I\+S\+T\+\_\+\+F\+O\+R\+E\+A\+CH, and E\+I\+N\+A\+\_\+\+T\+R\+UE.

\hypertarget{group__Ecore__File__Group_ga0826230d24ff7834c9c10f1cbc82c2ed}{}\label{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{\texorpdfstring{ecore\+\_\+file\+\_\+app\+\_\+installed()}{ecore\_file\_app\_installed()}}
{\footnotesize\ttfamily \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} ecore\+\_\+file\+\_\+app\+\_\+installed (\begin{DoxyParamCaption}\item[{const char $\ast$}]{exe }\end{DoxyParamCaption})}



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\+UE} if the {\ttfamily exe} is in P\+A\+TH and is executable, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} otherwise.
\end{DoxyReturn}
This function checks if {\ttfamily exe} exists in P\+A\+TH and is executable. If {\ttfamily exe} is {\ttfamily N\+U\+LL} or is not executable, the function returns {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}, otherwise it returns {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+UE}. \hypertarget{group__Ecore__File__Group_gaafdd314a82446206de611bfafb1d2776}{}\label{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{\texorpdfstring{ecore\+\_\+file\+\_\+app\+\_\+list()}{ecore\_file\_app\_list()}}
{\footnotesize\ttfamily \hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List} $\ast$ ecore\+\_\+file\+\_\+app\+\_\+list (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



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\+LL}. When not needed anymore, the element of the list must be freed. \hypertarget{group__Ecore__File__Group_ga3ec2d36d0e56daf214199fd2e2307caa}{}\label{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{\texorpdfstring{ecore\+\_\+file\+\_\+download()}{ecore\_file\_download()}}
{\footnotesize\ttfamily \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} ecore\+\_\+file\+\_\+download (\begin{DoxyParamCaption}\item[{const char $\ast$}]{url,  }\item[{const char $\ast$}]{dst,  }\item[{\hyperlink{group__Ecore__File__Group_ga71ca51b9726d274b1b750b021fdb8730}{Ecore\+\_\+\+File\+\_\+\+Download\+\_\+\+Completion\+\_\+\+Cb}}]{completion\+\_\+cb,  }\item[{\hyperlink{group__Ecore__File__Group_ga829dc96dbd2cb2bda6d2e8308b3fa24b}{Ecore\+\_\+\+File\+\_\+\+Download\+\_\+\+Progress\+\_\+\+Cb}}]{progress\+\_\+cb,  }\item[{void $\ast$}]{data,  }\item[{\hyperlink{group__Ecore__File__Group_gac13ffcf33aa05a26d8cd36b22918a8b9}{Ecore\+\_\+\+File\+\_\+\+Download\+\_\+\+Job} $\ast$$\ast$}]{job\+\_\+ret }\end{DoxyParamCaption})}



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\+UE} if the download start or {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} on failure.
\end{DoxyReturn}
This function starts the download of the U\+RL {\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\+RL 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\+SE}. 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\+RL 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\+UE} if the download starts, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} otherwise. \hypertarget{group__Ecore__File__Group_ga79099348cfad7e1da8158470f058db15}{}\label{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{\texorpdfstring{ecore\+\_\+file\+\_\+download\+\_\+full()}{ecore\_file\_download\_full()}}
{\footnotesize\ttfamily \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} ecore\+\_\+file\+\_\+download\+\_\+full (\begin{DoxyParamCaption}\item[{const char $\ast$}]{url,  }\item[{const char $\ast$}]{dst,  }\item[{\hyperlink{group__Ecore__File__Group_ga71ca51b9726d274b1b750b021fdb8730}{Ecore\+\_\+\+File\+\_\+\+Download\+\_\+\+Completion\+\_\+\+Cb}}]{completion\+\_\+cb,  }\item[{\hyperlink{group__Ecore__File__Group_ga829dc96dbd2cb2bda6d2e8308b3fa24b}{Ecore\+\_\+\+File\+\_\+\+Download\+\_\+\+Progress\+\_\+\+Cb}}]{progress\+\_\+cb,  }\item[{void $\ast$}]{data,  }\item[{\hyperlink{group__Ecore__File__Group_gac13ffcf33aa05a26d8cd36b22918a8b9}{Ecore\+\_\+\+File\+\_\+\+Download\+\_\+\+Job} $\ast$$\ast$}]{job\+\_\+ret,  }\item[{\hyperlink{group__Eina__Hash__Group_ga9a89d7d3ee260d3a60572ebf651b07e0}{Eina\+\_\+\+Hash} $\ast$}]{headers }\end{DoxyParamCaption})}



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\+UE} if the download start or {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} on failure. 
\end{DoxyReturn}
\hypertarget{group__Ecore__File__Group_ga70a16572e7a68d86fc73b2832ee61f40}{}\label{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{\texorpdfstring{ecore\+\_\+file\+\_\+download\+\_\+abort\+\_\+all()}{ecore\_file\_download\_abort\_all()}}
{\footnotesize\ttfamily void ecore\+\_\+file\+\_\+download\+\_\+abort\+\_\+all (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



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\+EE.

\hypertarget{group__Ecore__File__Group_gaab33a141bc148f306f4023df3f106ab9}{}\label{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{\texorpdfstring{ecore\+\_\+file\+\_\+download\+\_\+abort()}{ecore\_file\_download\_abort()}}
{\footnotesize\ttfamily void ecore\+\_\+file\+\_\+download\+\_\+abort (\begin{DoxyParamCaption}\item[{\hyperlink{group__Ecore__File__Group_gac13ffcf33aa05a26d8cd36b22918a8b9}{Ecore\+\_\+\+File\+\_\+\+Download\+\_\+\+Job} $\ast$}]{job }\end{DoxyParamCaption})}



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\+LL}, 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}{}\label{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{\texorpdfstring{ecore\+\_\+file\+\_\+download\+\_\+protocol\+\_\+available()}{ecore\_file\_download\_protocol\_available()}}
{\footnotesize\ttfamily \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} ecore\+\_\+file\+\_\+download\+\_\+protocol\+\_\+available (\begin{DoxyParamCaption}\item[{const char $\ast$}]{protocol }\end{DoxyParamCaption})}



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\+UE} if protocol is handled, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} otherwise.
\end{DoxyReturn}
This function returns {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+UE} if {\ttfamily protocol} is supported, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} 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\+LE must be compiled with C\+U\+RL to handle http and ftp protocols. 

References E\+I\+N\+A\+\_\+\+F\+A\+L\+SE, and E\+I\+N\+A\+\_\+\+T\+R\+UE.

