\hypertarget{group__Eio__Management}{}\section{Eio file management A\+P\+I.}
\label{group__Eio__Management}\index{Eio file management A\+P\+I.@{Eio file management A\+P\+I.}}


A set of function to manage file asynchronously.  


\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eio__List_ga1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ \hyperlink{group__Eio__Management_gaec31c261545eae8310b29f5ddde77325}{eio\+\_\+file\+\_\+chmod} (const char $\ast$path, mode\+\_\+t mode, Eio\+\_\+\+Done\+\_\+\+Cb done\+\_\+cb, Eio\+\_\+\+Error\+\_\+\+Cb error\+\_\+cb, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Change rights of a path. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eio__List_ga1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ \hyperlink{group__Eio__Management_ga54956ddfed8759d0c35371a1e0a3c4ef}{eio\+\_\+file\+\_\+chown} (const char $\ast$path, const char $\ast$user, const char $\ast$group, Eio\+\_\+\+Done\+\_\+\+Cb done\+\_\+cb, Eio\+\_\+\+Error\+\_\+\+Cb error\+\_\+cb, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Change owner of a path. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eio__List_ga1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ \hyperlink{group__Eio__Management_ga8fe6baf7c4624c0eab82d529098e98ec}{eio\+\_\+file\+\_\+unlink} (const char $\ast$path, Eio\+\_\+\+Done\+\_\+\+Cb done\+\_\+cb, Eio\+\_\+\+Error\+\_\+\+Cb error\+\_\+cb, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Unlink a file/directory. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eio__List_ga1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ \hyperlink{group__Eio__Management_ga84ae1b5db3d7aa20a71507e42e3e9cfa}{eio\+\_\+file\+\_\+mkdir} (const char $\ast$path, mode\+\_\+t mode, Eio\+\_\+\+Done\+\_\+\+Cb done\+\_\+cb, Eio\+\_\+\+Error\+\_\+\+Cb error\+\_\+cb, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Create a new directory. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eio__List_ga1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ \hyperlink{group__Eio__Management_gab0162417b038c0accd8d4acae8fa2773}{eio\+\_\+file\+\_\+move} (const char $\ast$source, const char $\ast$dest, Eio\+\_\+\+Progress\+\_\+\+Cb progress\+\_\+cb, Eio\+\_\+\+Done\+\_\+\+Cb done\+\_\+cb, Eio\+\_\+\+Error\+\_\+\+Cb error\+\_\+cb, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Move a file asynchronously. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eio__List_ga1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ \hyperlink{group__Eio__Management_ga2536b264cfab7322883642c418a6a957}{eio\+\_\+file\+\_\+copy} (const char $\ast$source, const char $\ast$dest, Eio\+\_\+\+Progress\+\_\+\+Cb progress\+\_\+cb, Eio\+\_\+\+Done\+\_\+\+Cb done\+\_\+cb, Eio\+\_\+\+Error\+\_\+\+Cb error\+\_\+cb, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Copy a file asynchronously. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eio__List_ga1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ \hyperlink{group__Eio__Management_ga2f7b14e01749b03fcad91b4bbbc7065e}{eio\+\_\+dir\+\_\+move} (const char $\ast$source, const char $\ast$dest, Eio\+\_\+\+Filter\+\_\+\+Direct\+\_\+\+Cb filter\+\_\+cb, Eio\+\_\+\+Progress\+\_\+\+Cb progress\+\_\+cb, Eio\+\_\+\+Done\+\_\+\+Cb done\+\_\+cb, Eio\+\_\+\+Error\+\_\+\+Cb error\+\_\+cb, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Move a directory and its content asynchronously. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eio__List_ga1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ \hyperlink{group__Eio__Management_gabf3d0f3208e36b93750526be652e19c3}{eio\+\_\+dir\+\_\+copy} (const char $\ast$source, const char $\ast$dest, Eio\+\_\+\+Filter\+\_\+\+Direct\+\_\+\+Cb filter\+\_\+cb, Eio\+\_\+\+Progress\+\_\+\+Cb progress\+\_\+cb, Eio\+\_\+\+Done\+\_\+\+Cb done\+\_\+cb, Eio\+\_\+\+Error\+\_\+\+Cb error\+\_\+cb, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Copy a directory and its content asynchronously. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eio__List_ga1145f009745ecb4d9f6a01a9bc5a9ac0}{Eio\+\_\+\+File} $\ast$ \hyperlink{group__Eio__Management_ga0afe25c983003d7bf28aaacda787f0a6}{eio\+\_\+dir\+\_\+unlink} (const char $\ast$path, Eio\+\_\+\+Filter\+\_\+\+Direct\+\_\+\+Cb filter\+\_\+cb, Eio\+\_\+\+Progress\+\_\+\+Cb progress\+\_\+cb, Eio\+\_\+\+Done\+\_\+\+Cb done\+\_\+cb, Eio\+\_\+\+Error\+\_\+\+Cb error\+\_\+cb, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Remove a directory and its content asynchronously. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
A set of function to manage file asynchronously. 

The function provided by this A\+P\+I are the one useful for any file manager. Like moving or copying a file, unlinking it, changing it\textquotesingle{}s access right, ... 

\subsection{Function Documentation}
\hypertarget{group__Eio__Management_gaec31c261545eae8310b29f5ddde77325}{}\index{Eio file management A\+P\+I.@{Eio file management A\+P\+I.}!eio\+\_\+file\+\_\+chmod@{eio\+\_\+file\+\_\+chmod}}
\index{eio\+\_\+file\+\_\+chmod@{eio\+\_\+file\+\_\+chmod}!Eio file management A\+P\+I.@{Eio file management A\+P\+I.}}
\subsubsection[{eio\+\_\+file\+\_\+chmod(const char $\ast$path, mode\+\_\+t mode, Eio\+\_\+\+Done\+\_\+\+Cb done\+\_\+cb, Eio\+\_\+\+Error\+\_\+\+Cb error\+\_\+cb, const void $\ast$data)}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eio\+\_\+\+File}$\ast$ eio\+\_\+file\+\_\+chmod (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{path, }
\item[{mode\+\_\+t}]{mode, }
\item[{Eio\+\_\+\+Done\+\_\+\+Cb}]{done\+\_\+cb, }
\item[{Eio\+\_\+\+Error\+\_\+\+Cb}]{error\+\_\+cb, }
\item[{const void $\ast$}]{data}
\end{DoxyParamCaption}
)}\label{group__Eio__Management_gaec31c261545eae8310b29f5ddde77325}


Change rights of a path. 


\begin{DoxyParams}{Parameters}
{\em path} & The directory path to change access rights. \\
\hline
{\em mode} & The permission to set, follow (mode \& $\sim$umask \& 0777). \\
\hline
{\em done\+\_\+cb} & Callback called when the operation is completed. \\
\hline
{\em error\+\_\+cb} & Callback called from if something goes wrong. \\
\hline
{\em data} & Unmodified user data passed to callbacks. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A reference to the I/\+O operation.
\end{DoxyReturn}
Set a new permission of a path changing it to the mode passed as argument. It\textquotesingle{}s equivalent to the chmod command. 

References eina\+\_\+stringshare\+\_\+add().

\hypertarget{group__Eio__Management_ga54956ddfed8759d0c35371a1e0a3c4ef}{}\index{Eio file management A\+P\+I.@{Eio file management A\+P\+I.}!eio\+\_\+file\+\_\+chown@{eio\+\_\+file\+\_\+chown}}
\index{eio\+\_\+file\+\_\+chown@{eio\+\_\+file\+\_\+chown}!Eio file management A\+P\+I.@{Eio file management A\+P\+I.}}
\subsubsection[{eio\+\_\+file\+\_\+chown(const char $\ast$path, const char $\ast$user, const char $\ast$group, Eio\+\_\+\+Done\+\_\+\+Cb done\+\_\+cb, Eio\+\_\+\+Error\+\_\+\+Cb error\+\_\+cb, const void $\ast$data)}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eio\+\_\+\+File}$\ast$ eio\+\_\+file\+\_\+chown (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{path, }
\item[{const char $\ast$}]{user, }
\item[{const char $\ast$}]{group, }
\item[{Eio\+\_\+\+Done\+\_\+\+Cb}]{done\+\_\+cb, }
\item[{Eio\+\_\+\+Error\+\_\+\+Cb}]{error\+\_\+cb, }
\item[{const void $\ast$}]{data}
\end{DoxyParamCaption}
)}\label{group__Eio__Management_ga54956ddfed8759d0c35371a1e0a3c4ef}


Change owner of a path. 


\begin{DoxyParams}{Parameters}
{\em path} & The directory path to change owner. \\
\hline
{\em user} & The new user to set (can be N\+U\+L\+L). \\
\hline
{\em group} & The new group to set (can be N\+U\+L\+L). \\
\hline
{\em done\+\_\+cb} & Callback called when the operation is completed. \\
\hline
{\em error\+\_\+cb} & Callback called from if something goes wrong. \\
\hline
{\em data} & Unmodified user data passed to callbacks \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A reference to the I/\+O operation.
\end{DoxyReturn}
This function will change the owner of a path, setting it to the user and group passed as argument. It\textquotesingle{}s equivalent to the chown shell command. 

References eina\+\_\+stringshare\+\_\+add().

\hypertarget{group__Eio__Management_ga8fe6baf7c4624c0eab82d529098e98ec}{}\index{Eio file management A\+P\+I.@{Eio file management A\+P\+I.}!eio\+\_\+file\+\_\+unlink@{eio\+\_\+file\+\_\+unlink}}
\index{eio\+\_\+file\+\_\+unlink@{eio\+\_\+file\+\_\+unlink}!Eio file management A\+P\+I.@{Eio file management A\+P\+I.}}
\subsubsection[{eio\+\_\+file\+\_\+unlink(const char $\ast$path, Eio\+\_\+\+Done\+\_\+\+Cb done\+\_\+cb, Eio\+\_\+\+Error\+\_\+\+Cb error\+\_\+cb, const void $\ast$data)}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eio\+\_\+\+File}$\ast$ eio\+\_\+file\+\_\+unlink (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{path, }
\item[{Eio\+\_\+\+Done\+\_\+\+Cb}]{done\+\_\+cb, }
\item[{Eio\+\_\+\+Error\+\_\+\+Cb}]{error\+\_\+cb, }
\item[{const void $\ast$}]{data}
\end{DoxyParamCaption}
)}\label{group__Eio__Management_ga8fe6baf7c4624c0eab82d529098e98ec}


Unlink a file/directory. 


\begin{DoxyParams}{Parameters}
{\em path} & The path to unlink. \\
\hline
{\em done\+\_\+cb} & Callback called when the operation is completed. \\
\hline
{\em error\+\_\+cb} & Callback called from if something goes wrong. \\
\hline
{\em data} & Unmodified user data passed to callbacks. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A reference to the I/\+O operation.
\end{DoxyReturn}
This function will erase a file. 

References eina\+\_\+stringshare\+\_\+add().

\hypertarget{group__Eio__Management_ga84ae1b5db3d7aa20a71507e42e3e9cfa}{}\index{Eio file management A\+P\+I.@{Eio file management A\+P\+I.}!eio\+\_\+file\+\_\+mkdir@{eio\+\_\+file\+\_\+mkdir}}
\index{eio\+\_\+file\+\_\+mkdir@{eio\+\_\+file\+\_\+mkdir}!Eio file management A\+P\+I.@{Eio file management A\+P\+I.}}
\subsubsection[{eio\+\_\+file\+\_\+mkdir(const char $\ast$path, mode\+\_\+t mode, Eio\+\_\+\+Done\+\_\+\+Cb done\+\_\+cb, Eio\+\_\+\+Error\+\_\+\+Cb error\+\_\+cb, const void $\ast$data)}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eio\+\_\+\+File}$\ast$ eio\+\_\+file\+\_\+mkdir (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{path, }
\item[{mode\+\_\+t}]{mode, }
\item[{Eio\+\_\+\+Done\+\_\+\+Cb}]{done\+\_\+cb, }
\item[{Eio\+\_\+\+Error\+\_\+\+Cb}]{error\+\_\+cb, }
\item[{const void $\ast$}]{data}
\end{DoxyParamCaption}
)}\label{group__Eio__Management_ga84ae1b5db3d7aa20a71507e42e3e9cfa}


Create a new directory. 


\begin{DoxyParams}{Parameters}
{\em path} & The directory path to create. \\
\hline
{\em mode} & The permission to set, follow (mode \& $\sim$umask \& 0777). \\
\hline
{\em done\+\_\+cb} & Callback called when the operation is completed. \\
\hline
{\em error\+\_\+cb} & Callback called from if something goes wrong. \\
\hline
{\em data} & Unmodified user data passed to callbacks \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A reference to the I/\+O operation.
\end{DoxyReturn}
Creates a new directory using the mode provided. 

References eina\+\_\+stringshare\+\_\+add().

\hypertarget{group__Eio__Management_gab0162417b038c0accd8d4acae8fa2773}{}\index{Eio file management A\+P\+I.@{Eio file management A\+P\+I.}!eio\+\_\+file\+\_\+move@{eio\+\_\+file\+\_\+move}}
\index{eio\+\_\+file\+\_\+move@{eio\+\_\+file\+\_\+move}!Eio file management A\+P\+I.@{Eio file management A\+P\+I.}}
\subsubsection[{eio\+\_\+file\+\_\+move(const char $\ast$source, const char $\ast$dest, Eio\+\_\+\+Progress\+\_\+\+Cb progress\+\_\+cb, Eio\+\_\+\+Done\+\_\+\+Cb done\+\_\+cb, Eio\+\_\+\+Error\+\_\+\+Cb error\+\_\+cb, const void $\ast$data)}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eio\+\_\+\+File}$\ast$ eio\+\_\+file\+\_\+move (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{source, }
\item[{const char $\ast$}]{dest, }
\item[{Eio\+\_\+\+Progress\+\_\+\+Cb}]{progress\+\_\+cb, }
\item[{Eio\+\_\+\+Done\+\_\+\+Cb}]{done\+\_\+cb, }
\item[{Eio\+\_\+\+Error\+\_\+\+Cb}]{error\+\_\+cb, }
\item[{const void $\ast$}]{data}
\end{DoxyParamCaption}
)}\label{group__Eio__Management_gab0162417b038c0accd8d4acae8fa2773}


Move a file asynchronously. 


\begin{DoxyParams}{Parameters}
{\em source} & Should be the name of the file to move the data from. \\
\hline
{\em dest} & Should be the name of the file to move the data to. \\
\hline
{\em progress\+\_\+cb} & Callback called to know the progress of the move. \\
\hline
{\em done\+\_\+cb} & Callback called when the move is done. \\
\hline
{\em error\+\_\+cb} & Callback called when something goes wrong. \\
\hline
{\em data} & Unmodified user data passed to callbacks \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A reference to the I/\+O operation.

an Eio\+\_\+\+File pointer, handler to the move operation, can be used to cancel the operation
\end{DoxyReturn}
This function will copy a file from source to dest. It will try to use splice if possible, if not it will fallback to mmap/write. It will try to preserve access rights, but not user/group identification. 

References eina\+\_\+stringshare\+\_\+add(), and E\+I\+O\+\_\+\+F\+I\+L\+E\+\_\+\+M\+O\+V\+E.

\hypertarget{group__Eio__Management_ga2536b264cfab7322883642c418a6a957}{}\index{Eio file management A\+P\+I.@{Eio file management A\+P\+I.}!eio\+\_\+file\+\_\+copy@{eio\+\_\+file\+\_\+copy}}
\index{eio\+\_\+file\+\_\+copy@{eio\+\_\+file\+\_\+copy}!Eio file management A\+P\+I.@{Eio file management A\+P\+I.}}
\subsubsection[{eio\+\_\+file\+\_\+copy(const char $\ast$source, const char $\ast$dest, Eio\+\_\+\+Progress\+\_\+\+Cb progress\+\_\+cb, Eio\+\_\+\+Done\+\_\+\+Cb done\+\_\+cb, Eio\+\_\+\+Error\+\_\+\+Cb error\+\_\+cb, const void $\ast$data)}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eio\+\_\+\+File}$\ast$ eio\+\_\+file\+\_\+copy (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{source, }
\item[{const char $\ast$}]{dest, }
\item[{Eio\+\_\+\+Progress\+\_\+\+Cb}]{progress\+\_\+cb, }
\item[{Eio\+\_\+\+Done\+\_\+\+Cb}]{done\+\_\+cb, }
\item[{Eio\+\_\+\+Error\+\_\+\+Cb}]{error\+\_\+cb, }
\item[{const void $\ast$}]{data}
\end{DoxyParamCaption}
)}\label{group__Eio__Management_ga2536b264cfab7322883642c418a6a957}


Copy a file asynchronously. 


\begin{DoxyParams}{Parameters}
{\em source} & Should be the name of the file to copy the data from. \\
\hline
{\em dest} & Should be the name of the file to copy the data to. \\
\hline
{\em progress\+\_\+cb} & Callback called to know the progress of the copy. \\
\hline
{\em done\+\_\+cb} & Callback called when the copy is done. \\
\hline
{\em error\+\_\+cb} & Callback called when something goes wrong. \\
\hline
{\em data} & Unmodified user data passed to callbacks\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
an Eio\+\_\+\+File pointer, handler to the copy operation, can be used to cancel the operation
\end{DoxyReturn}
This function will copy a file from source to dest. It will try to use splice if possible, if not it will fallback to mmap/write. It will try to preserve access rights, but not user/group identification. 

References eina\+\_\+stringshare\+\_\+add(), and E\+I\+O\+\_\+\+F\+I\+L\+E\+\_\+\+C\+O\+P\+Y.

\hypertarget{group__Eio__Management_ga2f7b14e01749b03fcad91b4bbbc7065e}{}\index{Eio file management A\+P\+I.@{Eio file management A\+P\+I.}!eio\+\_\+dir\+\_\+move@{eio\+\_\+dir\+\_\+move}}
\index{eio\+\_\+dir\+\_\+move@{eio\+\_\+dir\+\_\+move}!Eio file management A\+P\+I.@{Eio file management A\+P\+I.}}
\subsubsection[{eio\+\_\+dir\+\_\+move(const char $\ast$source, const char $\ast$dest, Eio\+\_\+\+Filter\+\_\+\+Direct\+\_\+\+Cb filter\+\_\+cb, Eio\+\_\+\+Progress\+\_\+\+Cb progress\+\_\+cb, Eio\+\_\+\+Done\+\_\+\+Cb done\+\_\+cb, Eio\+\_\+\+Error\+\_\+\+Cb error\+\_\+cb, const void $\ast$data)}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eio\+\_\+\+File}$\ast$ eio\+\_\+dir\+\_\+move (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{source, }
\item[{const char $\ast$}]{dest, }
\item[{Eio\+\_\+\+Filter\+\_\+\+Direct\+\_\+\+Cb}]{filter\+\_\+cb, }
\item[{Eio\+\_\+\+Progress\+\_\+\+Cb}]{progress\+\_\+cb, }
\item[{Eio\+\_\+\+Done\+\_\+\+Cb}]{done\+\_\+cb, }
\item[{Eio\+\_\+\+Error\+\_\+\+Cb}]{error\+\_\+cb, }
\item[{const void $\ast$}]{data}
\end{DoxyParamCaption}
)}\label{group__Eio__Management_ga2f7b14e01749b03fcad91b4bbbc7065e}


Move a directory and its content asynchronously. 


\begin{DoxyParams}{Parameters}
{\em source} & Should be the name of the directory to copy the data from. \\
\hline
{\em dest} & Should be the name of the directory to copy the data to. \\
\hline
{\em filter\+\_\+cb} & Possible to deny the move of some files/directories. \\
\hline
{\em progress\+\_\+cb} & Callback called to know the progress of the copy. \\
\hline
{\em done\+\_\+cb} & Callback called when the copy is done. \\
\hline
{\em error\+\_\+cb} & Callback called when something goes wrong. \\
\hline
{\em data} & Unmodified user data passed to callbacks \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A reference to the I/\+O operation.

an Eio\+\_\+\+File pointer, handler to the move operation, can be used to cancel the operation
\end{DoxyReturn}
This function will move a directory and all its content from source to dest. It will try first to rename the directory, if not it will try to use splice if possible, if not it will fallback to mmap/write. It will try to preserve access rights, but not user/group identity. Every file will be passed to the filter\+\_\+cb, so it\textquotesingle{}s your job to decide if you want to pass the file to the main\+\_\+cb or not. Return E\+I\+N\+A\+\_\+\+T\+R\+U\+E to pass it to the main\+\_\+cb or E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E to ignore it.

\begin{DoxyNote}{Note}
if a rename occurs, the filter callback will not be called. 
\end{DoxyNote}


References eina\+\_\+stringshare\+\_\+add(), and E\+I\+O\+\_\+\+D\+I\+R\+\_\+\+M\+O\+V\+E.

\hypertarget{group__Eio__Management_gabf3d0f3208e36b93750526be652e19c3}{}\index{Eio file management A\+P\+I.@{Eio file management A\+P\+I.}!eio\+\_\+dir\+\_\+copy@{eio\+\_\+dir\+\_\+copy}}
\index{eio\+\_\+dir\+\_\+copy@{eio\+\_\+dir\+\_\+copy}!Eio file management A\+P\+I.@{Eio file management A\+P\+I.}}
\subsubsection[{eio\+\_\+dir\+\_\+copy(const char $\ast$source, const char $\ast$dest, Eio\+\_\+\+Filter\+\_\+\+Direct\+\_\+\+Cb filter\+\_\+cb, Eio\+\_\+\+Progress\+\_\+\+Cb progress\+\_\+cb, Eio\+\_\+\+Done\+\_\+\+Cb done\+\_\+cb, Eio\+\_\+\+Error\+\_\+\+Cb error\+\_\+cb, const void $\ast$data)}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eio\+\_\+\+File}$\ast$ eio\+\_\+dir\+\_\+copy (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{source, }
\item[{const char $\ast$}]{dest, }
\item[{Eio\+\_\+\+Filter\+\_\+\+Direct\+\_\+\+Cb}]{filter\+\_\+cb, }
\item[{Eio\+\_\+\+Progress\+\_\+\+Cb}]{progress\+\_\+cb, }
\item[{Eio\+\_\+\+Done\+\_\+\+Cb}]{done\+\_\+cb, }
\item[{Eio\+\_\+\+Error\+\_\+\+Cb}]{error\+\_\+cb, }
\item[{const void $\ast$}]{data}
\end{DoxyParamCaption}
)}\label{group__Eio__Management_gabf3d0f3208e36b93750526be652e19c3}


Copy a directory and its content asynchronously. 


\begin{DoxyParams}{Parameters}
{\em source} & Should be the name of the directory to copy the data from. \\
\hline
{\em dest} & Should be the name of the directory to copy the data to. \\
\hline
{\em filter\+\_\+cb} & Possible to deny the move of some files/directories. \\
\hline
{\em progress\+\_\+cb} & Callback called to know the progress of the copy. \\
\hline
{\em done\+\_\+cb} & Callback called when the copy is done. \\
\hline
{\em error\+\_\+cb} & Callback called when something goes wrong. \\
\hline
{\em data} & Unmodified user data passed to callbacks \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A reference to the I/\+O operation.

an Eio\+\_\+\+File pointer, handler to the copy operation, can be used to cancel the operation
\end{DoxyReturn}
This function will copy a directory and all its content from source to dest. It will try to use splice if possible, if not it will fallback to mmap/write. It will try to preserve access rights, but not user/group identity. Every file will be passed to the filter\+\_\+cb, so it\textquotesingle{}s your job to decide if you want to pass the file to the main\+\_\+cb or not. Return E\+I\+N\+A\+\_\+\+T\+R\+U\+E to pass it to the main\+\_\+cb or E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E to ignore it. 

References eina\+\_\+stringshare\+\_\+add(), and E\+I\+O\+\_\+\+D\+I\+R\+\_\+\+C\+O\+P\+Y.

\hypertarget{group__Eio__Management_ga0afe25c983003d7bf28aaacda787f0a6}{}\index{Eio file management A\+P\+I.@{Eio file management A\+P\+I.}!eio\+\_\+dir\+\_\+unlink@{eio\+\_\+dir\+\_\+unlink}}
\index{eio\+\_\+dir\+\_\+unlink@{eio\+\_\+dir\+\_\+unlink}!Eio file management A\+P\+I.@{Eio file management A\+P\+I.}}
\subsubsection[{eio\+\_\+dir\+\_\+unlink(const char $\ast$path, Eio\+\_\+\+Filter\+\_\+\+Direct\+\_\+\+Cb filter\+\_\+cb, Eio\+\_\+\+Progress\+\_\+\+Cb progress\+\_\+cb, Eio\+\_\+\+Done\+\_\+\+Cb done\+\_\+cb, Eio\+\_\+\+Error\+\_\+\+Cb error\+\_\+cb, const void $\ast$data)}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eio\+\_\+\+File}$\ast$ eio\+\_\+dir\+\_\+unlink (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{path, }
\item[{Eio\+\_\+\+Filter\+\_\+\+Direct\+\_\+\+Cb}]{filter\+\_\+cb, }
\item[{Eio\+\_\+\+Progress\+\_\+\+Cb}]{progress\+\_\+cb, }
\item[{Eio\+\_\+\+Done\+\_\+\+Cb}]{done\+\_\+cb, }
\item[{Eio\+\_\+\+Error\+\_\+\+Cb}]{error\+\_\+cb, }
\item[{const void $\ast$}]{data}
\end{DoxyParamCaption}
)}\label{group__Eio__Management_ga0afe25c983003d7bf28aaacda787f0a6}


Remove a directory and its content asynchronously. 


\begin{DoxyParams}{Parameters}
{\em path} & Should be the name of the directory to destroy. \\
\hline
{\em filter\+\_\+cb} & Possible to deny the move of some files/directories. \\
\hline
{\em progress\+\_\+cb} & Callback called to know the progress of the copy. \\
\hline
{\em done\+\_\+cb} & Callback called when the copy is done. \\
\hline
{\em error\+\_\+cb} & Callback called when something goes wrong. \\
\hline
{\em data} & Unmodified user data passed to callbacks \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A reference to the I/\+O operation.

an Eio\+\_\+\+File pointer, handler to the unlink operation, can be used to cancel the operation
\end{DoxyReturn}
This function will remove a directory and all its content. Every file will be passed to the filter\+\_\+cb, so it\textquotesingle{}s your job to decide if you want to pass the file to the main\+\_\+cb or not. Return E\+I\+N\+A\+\_\+\+T\+R\+U\+E to pass it to the main\+\_\+cb or E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E to ignore it. 

References eina\+\_\+stringshare\+\_\+add(), and E\+I\+O\+\_\+\+U\+N\+L\+I\+N\+K.

