\hypertarget{group__Ethumb__Client__Basics}{}\doxysection{Ethumb Client Basics}
\label{group__Ethumb__Client__Basics}\index{Ethumb Client Basics@{Ethumb Client Basics}}


Functions that all users must know of to use Ethumb\+\_\+\+Client.  


\doxysubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef struct \+\_\+\+Ethumb\+\_\+\+Client \mbox{\hyperlink{group__Ethumb__Client__Basics_ga45f606a35f4811ecfe1a6db9c8f5e814}{Ethumb\+\_\+\+Client}}
\begin{DoxyCompactList}\small\item\em client handle. \end{DoxyCompactList}\item 
typedef struct \+\_\+\+Ethumb\+\_\+\+Exists \mbox{\hyperlink{group__Ethumb__Client__Basics_ga6f207317e558e9a273ca60b1c7d1cab2}{Ethumb\+\_\+\+Exists}}
\begin{DoxyCompactList}\small\item\em client exists request handle. \end{DoxyCompactList}\item 
typedef void($\ast$ \mbox{\hyperlink{group__Ethumb__Client__Basics_ga773f249a30da312f594bde51fb0d1c2f}{Ethumb\+\_\+\+Client\+\_\+\+Connect\+\_\+\+Cb}}) (void $\ast$data, \mbox{\hyperlink{group__Ethumb__Client__Basics_ga45f606a35f4811ecfe1a6db9c8f5e814}{Ethumb\+\_\+\+Client}} $\ast$client, \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} success)
\begin{DoxyCompactList}\small\item\em reports results of \mbox{\hyperlink{group__Ethumb__Client__Basics_gae642a2b632953f0dd2d72bcb8ae19377}{ethumb\+\_\+client\+\_\+connect()}} \end{DoxyCompactList}\item 
typedef void($\ast$ \mbox{\hyperlink{group__Ethumb__Client__Basics_ga972481bed987f47cba1d788bdc0ace20}{Ethumb\+\_\+\+Client\+\_\+\+Die\+\_\+\+Cb}}) (void $\ast$data, \mbox{\hyperlink{group__Ethumb__Client__Basics_ga45f606a35f4811ecfe1a6db9c8f5e814}{Ethumb\+\_\+\+Client}} $\ast$client)
\begin{DoxyCompactList}\small\item\em reports server connection ended. \end{DoxyCompactList}\item 
typedef void($\ast$ \mbox{\hyperlink{group__Ethumb__Client__Basics_ga4fefc01b98790d39c16f1e0511732c18}{Ethumb\+\_\+\+Client\+\_\+\+Generate\+\_\+\+Cb}}) (void $\ast$data, \mbox{\hyperlink{group__Ethumb__Client__Basics_ga45f606a35f4811ecfe1a6db9c8f5e814}{Ethumb\+\_\+\+Client}} $\ast$client, int id, const char $\ast$file, const char $\ast$key, const char $\ast$thumb\+\_\+path, const char $\ast$thumb\+\_\+key, \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} success)
\begin{DoxyCompactList}\small\item\em reports results of \mbox{\hyperlink{group__Ethumb__Client__Basics_gaa09f3c82539082042f47196c47ef8251}{ethumb\+\_\+client\+\_\+generate()}}. \end{DoxyCompactList}\item 
typedef void($\ast$ \mbox{\hyperlink{group__Ethumb__Client__Basics_ga5e2bfebf2e5df3c29db2331839928859}{Ethumb\+\_\+\+Client\+\_\+\+Thumb\+\_\+\+Exists\+\_\+\+Cb}}) (void $\ast$data, \mbox{\hyperlink{group__Ethumb__Client__Basics_ga45f606a35f4811ecfe1a6db9c8f5e814}{Ethumb\+\_\+\+Client}} $\ast$client, \mbox{\hyperlink{group__Ethumb__Client__Basics_ga6f207317e558e9a273ca60b1c7d1cab2}{Ethumb\+\_\+\+Exists}} $\ast$thread, \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} exists)
\begin{DoxyCompactList}\small\item\em report results of \mbox{\hyperlink{group__Ethumb__Client__Basics_ga77e6ec3b0e2d1c99a524399da6a24012}{ethumb\+\_\+client\+\_\+thumb\+\_\+exists()}}. \end{DoxyCompactList}\item 
typedef void($\ast$ \mbox{\hyperlink{group__Ethumb__Client__Basics_gaac2b8013eec4818a1429e518b2894569}{Ethumb\+\_\+\+Client\+\_\+\+Generate\+\_\+\+Cancel\+\_\+\+Cb}}) (void $\ast$data, \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} success)
\begin{DoxyCompactList}\small\item\em reports results of \mbox{\hyperlink{group__Ethumb__Client__Basics_ga55fad34988a1cde2962141e25c5b26c5}{ethumb\+\_\+client\+\_\+generate\+\_\+cancel()}} \end{DoxyCompactList}\item 
\mbox{\Hypertarget{group__Ethumb__Client__Basics_ga70e208983ddeabd0198c6c34e38c4809}\label{group__Ethumb__Client__Basics_ga70e208983ddeabd0198c6c34e38c4809}} 
typedef void($\ast$ {\bfseries Ethumb\+\_\+\+Client\+\_\+\+Async\+\_\+\+Done\+\_\+\+Cb}) (\mbox{\hyperlink{group__Ethumb__Client__Basics_ga45f606a35f4811ecfe1a6db9c8f5e814}{Ethumb\+\_\+\+Client}} $\ast$ethumbd, const char $\ast$thumb\+\_\+path, const char $\ast$thumb\+\_\+key, void $\ast$data)
\item 
\mbox{\Hypertarget{group__Ethumb__Client__Basics_gaa32b3aa37be92f9794c958d4bed0c8a5}\label{group__Ethumb__Client__Basics_gaa32b3aa37be92f9794c958d4bed0c8a5}} 
typedef void($\ast$ {\bfseries Ethumb\+\_\+\+Client\+\_\+\+Async\+\_\+\+Error\+\_\+\+Cb}) (\mbox{\hyperlink{group__Ethumb__Client__Basics_ga45f606a35f4811ecfe1a6db9c8f5e814}{Ethumb\+\_\+\+Client}} $\ast$ethumbd, void $\ast$data)
\item 
\mbox{\Hypertarget{group__Ethumb__Client__Basics_ga52b70260ffc774e8935441d68ccab9d2}\label{group__Ethumb__Client__Basics_ga52b70260ffc774e8935441d68ccab9d2}} 
typedef struct \+\_\+\+Ethumb\+\_\+\+Client\+\_\+\+Async {\bfseries Ethumb\+\_\+\+Client\+\_\+\+Async}
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{EAPI}} int \mbox{\hyperlink{group__Ethumb__Client__Basics_ga64c23fe86d0bce53c9eeaacbe4834c7f}{ethumb\+\_\+client\+\_\+init}} (void)
\begin{DoxyCompactList}\small\item\em Initialize the Ethumb\+\_\+\+Client library. \end{DoxyCompactList}\item 
\mbox{\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{EAPI}} int \mbox{\hyperlink{group__Ethumb__Client__Basics_ga1e32e798f7465f9f699ff4e66e323381}{ethumb\+\_\+client\+\_\+shutdown}} (void)
\begin{DoxyCompactList}\small\item\em Shut down the Ethumb\+\_\+\+Client library. \end{DoxyCompactList}\item 
\mbox{\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{EAPI}} \mbox{\hyperlink{group__Ethumb__Client__Basics_ga45f606a35f4811ecfe1a6db9c8f5e814}{Ethumb\+\_\+\+Client}} $\ast$ \mbox{\hyperlink{group__Ethumb__Client__Basics_gae642a2b632953f0dd2d72bcb8ae19377}{ethumb\+\_\+client\+\_\+connect}} (\mbox{\hyperlink{group__Ethumb__Client__Basics_ga773f249a30da312f594bde51fb0d1c2f}{Ethumb\+\_\+\+Client\+\_\+\+Connect\+\_\+\+Cb}} connect\+\_\+cb, const void $\ast$data, \mbox{\hyperlink{group__Eina__Types__Group_gadbac560ba2bca5c61d97bfbb542018f3}{Eina\+\_\+\+Free\+\_\+\+Cb}} free\+\_\+data)
\begin{DoxyCompactList}\small\item\em Connects to Ethumb server and return the client instance. \end{DoxyCompactList}\item 
\mbox{\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{EAPI}} void \mbox{\hyperlink{group__Ethumb__Client__Basics_ga23330db7a756b6ba8026b1bb33ce720d}{ethumb\+\_\+client\+\_\+disconnect}} (\mbox{\hyperlink{group__Ethumb__Client__Basics_ga45f606a35f4811ecfe1a6db9c8f5e814}{Ethumb\+\_\+\+Client}} $\ast$client)
\begin{DoxyCompactList}\small\item\em Disconnect the client, releasing all client resources. \end{DoxyCompactList}\item 
\mbox{\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{EAPI}} void \mbox{\hyperlink{group__Ethumb__Client__Basics_ga453c18b2df77d5cdbaf367587580ae83}{ethumb\+\_\+client\+\_\+on\+\_\+server\+\_\+die\+\_\+callback\+\_\+set}} (\mbox{\hyperlink{group__Ethumb__Client__Basics_ga45f606a35f4811ecfe1a6db9c8f5e814}{Ethumb\+\_\+\+Client}} $\ast$client, \mbox{\hyperlink{group__Ethumb__Client__Basics_ga972481bed987f47cba1d788bdc0ace20}{Ethumb\+\_\+\+Client\+\_\+\+Die\+\_\+\+Cb}} server\+\_\+die\+\_\+cb, const void $\ast$data, \mbox{\hyperlink{group__Eina__Types__Group_gadbac560ba2bca5c61d97bfbb542018f3}{Eina\+\_\+\+Free\+\_\+\+Cb}} free\+\_\+data)
\begin{DoxyCompactList}\small\item\em Sets the callback to report server died. \end{DoxyCompactList}\item 
\mbox{\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{EAPI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Ethumb__Client__Basics_gaf1bfc6777a81a1141391f87b0acaadc2}{ethumb\+\_\+client\+\_\+file\+\_\+set}} (\mbox{\hyperlink{group__Ethumb__Client__Basics_ga45f606a35f4811ecfe1a6db9c8f5e814}{Ethumb\+\_\+\+Client}} $\ast$client, const char $\ast$path, const char $\ast$key)
\begin{DoxyCompactList}\small\item\em Set source file to be thumbnailed. \end{DoxyCompactList}\item 
\mbox{\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{EAPI}} void \mbox{\hyperlink{group__Ethumb__Client__Basics_gace6930ae055ed155f2b161ba5e83b2d8}{ethumb\+\_\+client\+\_\+file\+\_\+get}} (\mbox{\hyperlink{group__Ethumb__Client__Basics_ga45f606a35f4811ecfe1a6db9c8f5e814}{Ethumb\+\_\+\+Client}} $\ast$client, const char $\ast$$\ast$path, const char $\ast$$\ast$key)
\begin{DoxyCompactList}\small\item\em Get values set with \mbox{\hyperlink{group__Ethumb__Client__Basics_gace6930ae055ed155f2b161ba5e83b2d8}{ethumb\+\_\+client\+\_\+file\+\_\+get()}} \end{DoxyCompactList}\item 
\mbox{\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{EAPI}} void \mbox{\hyperlink{group__Ethumb__Client__Basics_gab8b830c4744f72d7a4d3a677a6ba7a91}{ethumb\+\_\+client\+\_\+file\+\_\+free}} (\mbox{\hyperlink{group__Ethumb__Client__Basics_ga45f606a35f4811ecfe1a6db9c8f5e814}{Ethumb\+\_\+\+Client}} $\ast$client)
\begin{DoxyCompactList}\small\item\em Reset previously set file to {\ttfamily NULL}. \end{DoxyCompactList}\item 
\mbox{\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{EAPI}} \mbox{\hyperlink{group__Ethumb__Client__Basics_ga6f207317e558e9a273ca60b1c7d1cab2}{Ethumb\+\_\+\+Exists}} $\ast$ \mbox{\hyperlink{group__Ethumb__Client__Basics_ga77e6ec3b0e2d1c99a524399da6a24012}{ethumb\+\_\+client\+\_\+thumb\+\_\+exists}} (\mbox{\hyperlink{group__Ethumb__Client__Basics_ga45f606a35f4811ecfe1a6db9c8f5e814}{Ethumb\+\_\+\+Client}} $\ast$client, \mbox{\hyperlink{group__Ethumb__Client__Basics_ga5e2bfebf2e5df3c29db2331839928859}{Ethumb\+\_\+\+Client\+\_\+\+Thumb\+\_\+\+Exists\+\_\+\+Cb}} exists\+\_\+cb, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Checks whenever file already exists (locally!) \end{DoxyCompactList}\item 
\mbox{\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{EAPI}} void \mbox{\hyperlink{group__Ethumb__Client__Basics_gad96b376ead632e96723ca9f9b0735918}{ethumb\+\_\+client\+\_\+thumb\+\_\+exists\+\_\+cancel}} (\mbox{\hyperlink{group__Ethumb__Client__Basics_ga6f207317e558e9a273ca60b1c7d1cab2}{Ethumb\+\_\+\+Exists}} $\ast$exists)
\begin{DoxyCompactList}\small\item\em Cancel an ongoing exists request. \end{DoxyCompactList}\item 
\mbox{\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{EAPI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Ethumb__Client__Basics_gae68364004bf3ba3247fab20efc58f146}{ethumb\+\_\+client\+\_\+thumb\+\_\+exists\+\_\+check}} (\mbox{\hyperlink{group__Ethumb__Client__Basics_ga6f207317e558e9a273ca60b1c7d1cab2}{Ethumb\+\_\+\+Exists}} $\ast$exists)
\begin{DoxyCompactList}\small\item\em Check if an exists request was cancelled. \end{DoxyCompactList}\item 
\mbox{\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{EAPI}} int \mbox{\hyperlink{group__Ethumb__Client__Basics_gaa09f3c82539082042f47196c47ef8251}{ethumb\+\_\+client\+\_\+generate}} (\mbox{\hyperlink{group__Ethumb__Client__Basics_ga45f606a35f4811ecfe1a6db9c8f5e814}{Ethumb\+\_\+\+Client}} $\ast$client, \mbox{\hyperlink{group__Ethumb__Client__Basics_ga4fefc01b98790d39c16f1e0511732c18}{Ethumb\+\_\+\+Client\+\_\+\+Generate\+\_\+\+Cb}} generated\+\_\+cb, const void $\ast$data, \mbox{\hyperlink{group__Eina__Types__Group_gadbac560ba2bca5c61d97bfbb542018f3}{Eina\+\_\+\+Free\+\_\+\+Cb}} free\+\_\+data)
\begin{DoxyCompactList}\small\item\em Ask server to generate thumbnail. \end{DoxyCompactList}\item 
\mbox{\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{EAPI}} void \mbox{\hyperlink{group__Ethumb__Client__Basics_ga55fad34988a1cde2962141e25c5b26c5}{ethumb\+\_\+client\+\_\+generate\+\_\+cancel}} (\mbox{\hyperlink{group__Ethumb__Client__Basics_ga45f606a35f4811ecfe1a6db9c8f5e814}{Ethumb\+\_\+\+Client}} $\ast$client, int id, \mbox{\hyperlink{group__Ethumb__Client__Basics_gaac2b8013eec4818a1429e518b2894569}{Ethumb\+\_\+\+Client\+\_\+\+Generate\+\_\+\+Cancel\+\_\+\+Cb}} cancel\+\_\+cb, const void $\ast$data, \mbox{\hyperlink{group__Eina__Types__Group_gadbac560ba2bca5c61d97bfbb542018f3}{Eina\+\_\+\+Free\+\_\+\+Cb}} free\+\_\+data)
\begin{DoxyCompactList}\small\item\em Ask server to cancel generation of thumbnail. \end{DoxyCompactList}\item 
\mbox{\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{EAPI}} void \mbox{\hyperlink{group__Ethumb__Client__Basics_ga37569c3c40b5e0f30d48db23acf4a344}{ethumb\+\_\+client\+\_\+generate\+\_\+cancel\+\_\+all}} (\mbox{\hyperlink{group__Ethumb__Client__Basics_ga45f606a35f4811ecfe1a6db9c8f5e814}{Ethumb\+\_\+\+Client}} $\ast$client)
\begin{DoxyCompactList}\small\item\em Ask server to cancel generation of all thumbnails. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{group__Ethumb__Client__Basics_ga2377bf1b1412abdaad4424bf1f6fdce2}\label{group__Ethumb__Client__Basics_ga2377bf1b1412abdaad4424bf1f6fdce2}} 
\mbox{\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{EAPI}} Ethumb\+\_\+\+Client\+\_\+\+Async $\ast$ {\bfseries ethumb\+\_\+client\+\_\+thumb\+\_\+async\+\_\+get} (\mbox{\hyperlink{group__Ethumb__Client__Basics_ga45f606a35f4811ecfe1a6db9c8f5e814}{Ethumb\+\_\+\+Client}} $\ast$client, Ethumb\+\_\+\+Client\+\_\+\+Async\+\_\+\+Done\+\_\+\+Cb done, Ethumb\+\_\+\+Client\+\_\+\+Async\+\_\+\+Error\+\_\+\+Cb error, const void $\ast$data)
\item 
\mbox{\Hypertarget{group__Ethumb__Client__Basics_gaf736900e2af182569e91cac8e6ff8576}\label{group__Ethumb__Client__Basics_gaf736900e2af182569e91cac8e6ff8576}} 
\mbox{\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{EAPI}} void {\bfseries ethumb\+\_\+client\+\_\+thumb\+\_\+async\+\_\+cancel} (\mbox{\hyperlink{group__Ethumb__Client__Basics_ga45f606a35f4811ecfe1a6db9c8f5e814}{Ethumb\+\_\+\+Client}} $\ast$client, Ethumb\+\_\+\+Client\+\_\+\+Async $\ast$request)
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Functions that all users must know of to use Ethumb\+\_\+\+Client. 



\doxysubsection{Typedef Documentation}
\mbox{\Hypertarget{group__Ethumb__Client__Basics_ga45f606a35f4811ecfe1a6db9c8f5e814}\label{group__Ethumb__Client__Basics_ga45f606a35f4811ecfe1a6db9c8f5e814}} 
\index{Ethumb Client Basics@{Ethumb Client Basics}!Ethumb\_Client@{Ethumb\_Client}}
\index{Ethumb\_Client@{Ethumb\_Client}!Ethumb Client Basics@{Ethumb Client Basics}}
\doxysubsubsection{\texorpdfstring{Ethumb\_Client}{Ethumb\_Client}}
{\footnotesize\ttfamily typedef struct \+\_\+\+Ethumb\+\_\+\+Client \mbox{\hyperlink{group__Ethumb__Client__Basics_ga45f606a35f4811ecfe1a6db9c8f5e814}{Ethumb\+\_\+\+Client}}}



client handle. 

The client handle is created by \mbox{\hyperlink{group__Ethumb__Client__Basics_gae642a2b632953f0dd2d72bcb8ae19377}{ethumb\+\_\+client\+\_\+connect()}} and destroyed by \mbox{\hyperlink{group__Ethumb__Client__Basics_ga23330db7a756b6ba8026b1bb33ce720d}{ethumb\+\_\+client\+\_\+disconnect()}}. The connection and requests are asynchronous and callbacks should be used to report both success and failure of calls. \mbox{\Hypertarget{group__Ethumb__Client__Basics_ga6f207317e558e9a273ca60b1c7d1cab2}\label{group__Ethumb__Client__Basics_ga6f207317e558e9a273ca60b1c7d1cab2}} 
\index{Ethumb Client Basics@{Ethumb Client Basics}!Ethumb\_Exists@{Ethumb\_Exists}}
\index{Ethumb\_Exists@{Ethumb\_Exists}!Ethumb Client Basics@{Ethumb Client Basics}}
\doxysubsubsection{\texorpdfstring{Ethumb\_Exists}{Ethumb\_Exists}}
{\footnotesize\ttfamily typedef struct \+\_\+\+Ethumb\+\_\+\+Exists \mbox{\hyperlink{group__Ethumb__Client__Basics_ga6f207317e558e9a273ca60b1c7d1cab2}{Ethumb\+\_\+\+Exists}}}



client exists request handle. 

The exists request handle is created by \mbox{\hyperlink{group__Ethumb__Client__Basics_ga77e6ec3b0e2d1c99a524399da6a24012}{ethumb\+\_\+client\+\_\+thumb\+\_\+exists()}}, automatically destroyed when it end and cancelled when requested by \mbox{\hyperlink{group__Ethumb__Client__Basics_gad96b376ead632e96723ca9f9b0735918}{ethumb\+\_\+client\+\_\+thumb\+\_\+exists\+\_\+cancel()}}. \mbox{\Hypertarget{group__Ethumb__Client__Basics_ga773f249a30da312f594bde51fb0d1c2f}\label{group__Ethumb__Client__Basics_ga773f249a30da312f594bde51fb0d1c2f}} 
\index{Ethumb Client Basics@{Ethumb Client Basics}!Ethumb\_Client\_Connect\_Cb@{Ethumb\_Client\_Connect\_Cb}}
\index{Ethumb\_Client\_Connect\_Cb@{Ethumb\_Client\_Connect\_Cb}!Ethumb Client Basics@{Ethumb Client Basics}}
\doxysubsubsection{\texorpdfstring{Ethumb\_Client\_Connect\_Cb}{Ethumb\_Client\_Connect\_Cb}}
{\footnotesize\ttfamily typedef void($\ast$ Ethumb\+\_\+\+Client\+\_\+\+Connect\+\_\+\+Cb) (void $\ast$data, \mbox{\hyperlink{group__Ethumb__Client__Basics_ga45f606a35f4811ecfe1a6db9c8f5e814}{Ethumb\+\_\+\+Client}} $\ast$client, \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} success)}



reports results of \mbox{\hyperlink{group__Ethumb__Client__Basics_gae642a2b632953f0dd2d72bcb8ae19377}{ethumb\+\_\+client\+\_\+connect()}} 


\begin{DoxyParams}{Parameters}
{\em data} & extra context given to \mbox{\hyperlink{group__Ethumb__Client__Basics_gae642a2b632953f0dd2d72bcb8ae19377}{ethumb\+\_\+client\+\_\+connect()}}. \\
\hline
{\em client} & handle of the current connection to server. \\
\hline
{\em success} & {\ttfamily EINA\+\_\+\+TRUE} if connected or {\ttfamily EINA\+\_\+\+FALSE} if it was not possible. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group__Ethumb__Client__Basics_ga972481bed987f47cba1d788bdc0ace20}\label{group__Ethumb__Client__Basics_ga972481bed987f47cba1d788bdc0ace20}} 
\index{Ethumb Client Basics@{Ethumb Client Basics}!Ethumb\_Client\_Die\_Cb@{Ethumb\_Client\_Die\_Cb}}
\index{Ethumb\_Client\_Die\_Cb@{Ethumb\_Client\_Die\_Cb}!Ethumb Client Basics@{Ethumb Client Basics}}
\doxysubsubsection{\texorpdfstring{Ethumb\_Client\_Die\_Cb}{Ethumb\_Client\_Die\_Cb}}
{\footnotesize\ttfamily typedef void($\ast$ Ethumb\+\_\+\+Client\+\_\+\+Die\+\_\+\+Cb) (void $\ast$data, \mbox{\hyperlink{group__Ethumb__Client__Basics_ga45f606a35f4811ecfe1a6db9c8f5e814}{Ethumb\+\_\+\+Client}} $\ast$client)}



reports server connection ended. 

Functions of this type may be called if they are set with \mbox{\hyperlink{group__Ethumb__Client__Basics_ga453c18b2df77d5cdbaf367587580ae83}{ethumb\+\_\+client\+\_\+on\+\_\+server\+\_\+die\+\_\+callback\+\_\+set()}}.


\begin{DoxyParams}{Parameters}
{\em data} & extra context given to \mbox{\hyperlink{group__Ethumb__Client__Basics_ga453c18b2df77d5cdbaf367587580ae83}{ethumb\+\_\+client\+\_\+on\+\_\+server\+\_\+die\+\_\+callback\+\_\+set()}}. \\
\hline
{\em client} & handle of the current connection to server. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group__Ethumb__Client__Basics_ga4fefc01b98790d39c16f1e0511732c18}\label{group__Ethumb__Client__Basics_ga4fefc01b98790d39c16f1e0511732c18}} 
\index{Ethumb Client Basics@{Ethumb Client Basics}!Ethumb\_Client\_Generate\_Cb@{Ethumb\_Client\_Generate\_Cb}}
\index{Ethumb\_Client\_Generate\_Cb@{Ethumb\_Client\_Generate\_Cb}!Ethumb Client Basics@{Ethumb Client Basics}}
\doxysubsubsection{\texorpdfstring{Ethumb\_Client\_Generate\_Cb}{Ethumb\_Client\_Generate\_Cb}}
{\footnotesize\ttfamily typedef void($\ast$ Ethumb\+\_\+\+Client\+\_\+\+Generate\+\_\+\+Cb) (void $\ast$data, \mbox{\hyperlink{group__Ethumb__Client__Basics_ga45f606a35f4811ecfe1a6db9c8f5e814}{Ethumb\+\_\+\+Client}} $\ast$client, int id, const char $\ast$file, const char $\ast$key, const char $\ast$thumb\+\_\+path, const char $\ast$thumb\+\_\+key, \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} success)}



reports results of \mbox{\hyperlink{group__Ethumb__Client__Basics_gaa09f3c82539082042f47196c47ef8251}{ethumb\+\_\+client\+\_\+generate()}}. 


\begin{DoxyParams}{Parameters}
{\em data} & extra context given to \mbox{\hyperlink{group__Ethumb__Client__Basics_gaa09f3c82539082042f47196c47ef8251}{ethumb\+\_\+client\+\_\+generate()}}. \\
\hline
{\em client} & handle of the current connection to server. \\
\hline
{\em id} & identifier returned by \mbox{\hyperlink{group__Ethumb__Client__Basics_gaa09f3c82539082042f47196c47ef8251}{ethumb\+\_\+client\+\_\+generate()}}. \\
\hline
{\em file} & path set with \mbox{\hyperlink{group__Ethumb__Client__Basics_gaf1bfc6777a81a1141391f87b0acaadc2}{ethumb\+\_\+client\+\_\+file\+\_\+set()}}. \\
\hline
{\em key} & value set with \mbox{\hyperlink{group__Ethumb__Client__Basics_gaf1bfc6777a81a1141391f87b0acaadc2}{ethumb\+\_\+client\+\_\+file\+\_\+set()}} or {\ttfamily NULL}. \\
\hline
{\em thumb\+\_\+path} & where thumbnail was stored, either set with \mbox{\hyperlink{group__Ethumb__Client__Setup_ga4fb204bd694dbb066fe5dbb15632dd91}{ethumb\+\_\+client\+\_\+thumb\+\_\+path\+\_\+set()}} or automatically calculated using parameters. \\
\hline
{\em thumb\+\_\+key} & key inside thumb\+\_\+path where thumbnail was stored or {\ttfamily NULL}. \\
\hline
{\em success} & {\ttfamily EINA\+\_\+\+TRUE} if generated or {\ttfamily EINA\+\_\+\+FALSE} on errors. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group__Ethumb__Client__Basics_ga5e2bfebf2e5df3c29db2331839928859}\label{group__Ethumb__Client__Basics_ga5e2bfebf2e5df3c29db2331839928859}} 
\index{Ethumb Client Basics@{Ethumb Client Basics}!Ethumb\_Client\_Thumb\_Exists\_Cb@{Ethumb\_Client\_Thumb\_Exists\_Cb}}
\index{Ethumb\_Client\_Thumb\_Exists\_Cb@{Ethumb\_Client\_Thumb\_Exists\_Cb}!Ethumb Client Basics@{Ethumb Client Basics}}
\doxysubsubsection{\texorpdfstring{Ethumb\_Client\_Thumb\_Exists\_Cb}{Ethumb\_Client\_Thumb\_Exists\_Cb}}
{\footnotesize\ttfamily typedef void($\ast$ Ethumb\+\_\+\+Client\+\_\+\+Thumb\+\_\+\+Exists\+\_\+\+Cb) (void $\ast$data, \mbox{\hyperlink{group__Ethumb__Client__Basics_ga45f606a35f4811ecfe1a6db9c8f5e814}{Ethumb\+\_\+\+Client}} $\ast$client, \mbox{\hyperlink{group__Ethumb__Client__Basics_ga6f207317e558e9a273ca60b1c7d1cab2}{Ethumb\+\_\+\+Exists}} $\ast$thread, \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} exists)}



report results of \mbox{\hyperlink{group__Ethumb__Client__Basics_ga77e6ec3b0e2d1c99a524399da6a24012}{ethumb\+\_\+client\+\_\+thumb\+\_\+exists()}}. 


\begin{DoxyParams}{Parameters}
{\em client} & handle of the current connection to server. \\
\hline
{\em exists} & EINA\+\_\+\+TRUE if the thumbnail exists. \\
\hline
{\em data} & extra context given to \mbox{\hyperlink{group__Ethumb__Client__Basics_ga77e6ec3b0e2d1c99a524399da6a24012}{ethumb\+\_\+client\+\_\+thumb\+\_\+exists()}}.\\
\hline
\end{DoxyParams}
During the execution of the callback the state of the {\ttfamily client} is temporarily really restored to what it was when the call to \mbox{\hyperlink{group__Ethumb__Client__Basics_ga77e6ec3b0e2d1c99a524399da6a24012}{ethumb\+\_\+client\+\_\+thumb\+\_\+exists()}} was done. \mbox{\Hypertarget{group__Ethumb__Client__Basics_gaac2b8013eec4818a1429e518b2894569}\label{group__Ethumb__Client__Basics_gaac2b8013eec4818a1429e518b2894569}} 
\index{Ethumb Client Basics@{Ethumb Client Basics}!Ethumb\_Client\_Generate\_Cancel\_Cb@{Ethumb\_Client\_Generate\_Cancel\_Cb}}
\index{Ethumb\_Client\_Generate\_Cancel\_Cb@{Ethumb\_Client\_Generate\_Cancel\_Cb}!Ethumb Client Basics@{Ethumb Client Basics}}
\doxysubsubsection{\texorpdfstring{Ethumb\_Client\_Generate\_Cancel\_Cb}{Ethumb\_Client\_Generate\_Cancel\_Cb}}
{\footnotesize\ttfamily typedef void($\ast$ Ethumb\+\_\+\+Client\+\_\+\+Generate\+\_\+\+Cancel\+\_\+\+Cb) (void $\ast$data, \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} success)}



reports results of \mbox{\hyperlink{group__Ethumb__Client__Basics_ga55fad34988a1cde2962141e25c5b26c5}{ethumb\+\_\+client\+\_\+generate\+\_\+cancel()}} 


\begin{DoxyParams}{Parameters}
{\em data} & extra context given to \mbox{\hyperlink{group__Ethumb__Client__Basics_ga55fad34988a1cde2962141e25c5b26c5}{ethumb\+\_\+client\+\_\+generate\+\_\+cancel()}} \\
\hline
{\em client} & handle of the current connection to server. \\
\hline
\end{DoxyParams}


\doxysubsection{Function Documentation}
\mbox{\Hypertarget{group__Ethumb__Client__Basics_ga64c23fe86d0bce53c9eeaacbe4834c7f}\label{group__Ethumb__Client__Basics_ga64c23fe86d0bce53c9eeaacbe4834c7f}} 
\index{Ethumb Client Basics@{Ethumb Client Basics}!ethumb\_client\_init@{ethumb\_client\_init}}
\index{ethumb\_client\_init@{ethumb\_client\_init}!Ethumb Client Basics@{Ethumb Client Basics}}
\doxysubsubsection{\texorpdfstring{ethumb\_client\_init()}{ethumb\_client\_init()}}
{\footnotesize\ttfamily \mbox{\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{EAPI}} int ethumb\+\_\+client\+\_\+init (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Initialize the Ethumb\+\_\+\+Client library. 

\begin{DoxyReturn}{Returns}
1 or greater on success, 0 on error.
\end{DoxyReturn}
This function sets up all the Ethumb\+\_\+\+Client module dependencies. It returns 0 on failure (that is, when one of the dependency fails to initialize), otherwise it returns the number of times it has already been called.

When Ethumb\+\_\+\+Client is not used anymore, call \mbox{\hyperlink{group__Ethumb__Client__Basics_ga1e32e798f7465f9f699ff4e66e323381}{ethumb\+\_\+client\+\_\+shutdown()}} to shut down the Ethumb\+\_\+\+Client library.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Ethumb__Client__Basics_ga1e32e798f7465f9f699ff4e66e323381}{ethumb\+\_\+client\+\_\+shutdown()}} 

\mbox{\hyperlink{group__Ethumb__Client__Basics_gae642a2b632953f0dd2d72bcb8ae19377}{ethumb\+\_\+client\+\_\+connect()}} 

\mbox{\hyperlink{tutorial_ethumb_client}{Client-\/\+Server Thumbnailing Tutorial}} 
\end{DoxySeeAlso}


References eina\+\_\+init().

\mbox{\Hypertarget{group__Ethumb__Client__Basics_ga1e32e798f7465f9f699ff4e66e323381}\label{group__Ethumb__Client__Basics_ga1e32e798f7465f9f699ff4e66e323381}} 
\index{Ethumb Client Basics@{Ethumb Client Basics}!ethumb\_client\_shutdown@{ethumb\_client\_shutdown}}
\index{ethumb\_client\_shutdown@{ethumb\_client\_shutdown}!Ethumb Client Basics@{Ethumb Client Basics}}
\doxysubsubsection{\texorpdfstring{ethumb\_client\_shutdown()}{ethumb\_client\_shutdown()}}
{\footnotesize\ttfamily \mbox{\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{EAPI}} int ethumb\+\_\+client\+\_\+shutdown (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Shut down the Ethumb\+\_\+\+Client library. 

\begin{DoxyReturn}{Returns}
0 when everything is shut down, 1 or greater if there are other users of the Ethumb\+\_\+\+Client library pending shutdown.
\end{DoxyReturn}
This function shuts down the Ethumb\+\_\+\+Client library. It returns 0 when it has been called the same number of times than \mbox{\hyperlink{group__Ethumb__Client__Basics_ga64c23fe86d0bce53c9eeaacbe4834c7f}{ethumb\+\_\+client\+\_\+init()}}. In that case it shut down all the Ethumb\+\_\+\+Client modules dependencies.

Once this function succeeds (that is, {\ttfamily 0} is returned), you must not call any of the Eina function anymore. You must call \mbox{\hyperlink{group__Ethumb__Client__Basics_ga64c23fe86d0bce53c9eeaacbe4834c7f}{ethumb\+\_\+client\+\_\+init()}} again to use the Ethumb\+\_\+\+Client functions again. 

References eina\+\_\+hash\+\_\+free(), eina\+\_\+log\+\_\+domain\+\_\+unregister(), eldbus\+\_\+shutdown(), and ethumb\+\_\+shutdown().

\mbox{\Hypertarget{group__Ethumb__Client__Basics_gae642a2b632953f0dd2d72bcb8ae19377}\label{group__Ethumb__Client__Basics_gae642a2b632953f0dd2d72bcb8ae19377}} 
\index{Ethumb Client Basics@{Ethumb Client Basics}!ethumb\_client\_connect@{ethumb\_client\_connect}}
\index{ethumb\_client\_connect@{ethumb\_client\_connect}!Ethumb Client Basics@{Ethumb Client Basics}}
\doxysubsubsection{\texorpdfstring{ethumb\_client\_connect()}{ethumb\_client\_connect()}}
{\footnotesize\ttfamily \mbox{\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{EAPI}} \mbox{\hyperlink{group__Ethumb__Client__Basics_ga45f606a35f4811ecfe1a6db9c8f5e814}{Ethumb\+\_\+\+Client}}$\ast$ ethumb\+\_\+client\+\_\+connect (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ethumb__Client__Basics_ga773f249a30da312f594bde51fb0d1c2f}{Ethumb\+\_\+\+Client\+\_\+\+Connect\+\_\+\+Cb}}}]{connect\+\_\+cb,  }\item[{const void $\ast$}]{data,  }\item[{\mbox{\hyperlink{group__Eina__Types__Group_gadbac560ba2bca5c61d97bfbb542018f3}{Eina\+\_\+\+Free\+\_\+\+Cb}}}]{free\+\_\+data }\end{DoxyParamCaption})}



Connects to Ethumb server and return the client instance. 

This is the \char`\"{}constructor\char`\"{} of Ethumb\+\_\+\+Client, where everything starts.

If server was down, it is tried to start it using DBus activation, then the connection is retried.

This call is asynchronous and will not block, instead it will be in \char`\"{}not connected\char`\"{} state until {\itshape connect\+\_\+cb} is called with either success or failure. On failure, then no methods should be called. On success you\textquotesingle{}re now able to setup and then ask generation of thumbnails.

Usually you should listen for server death/disconenction with \mbox{\hyperlink{group__Ethumb__Client__Basics_ga453c18b2df77d5cdbaf367587580ae83}{ethumb\+\_\+client\+\_\+on\+\_\+server\+\_\+die\+\_\+callback\+\_\+set()}}.


\begin{DoxyParams}{Parameters}
{\em connect\+\_\+cb} & function to call to report connection success or failure. Do not call any other ethumb\+\_\+client method until this function returns. The first received parameter is the given argument {\itshape data}. Must {\bfseries{not}} be {\ttfamily NULL}. This function will not be called if user explicitly calls \mbox{\hyperlink{group__Ethumb__Client__Basics_ga23330db7a756b6ba8026b1bb33ce720d}{ethumb\+\_\+client\+\_\+disconnect()}}. \\
\hline
{\em data} & context to give back to {\itshape connect\+\_\+cb}. May be {\ttfamily NULL}. \\
\hline
{\em free\+\_\+data} & function used to release {\itshape data} resources, if any. May be {\ttfamily NULL}. If this function exists, it will be called immediately after {\itshape connect\+\_\+cb} is called or if user explicitly calls \mbox{\hyperlink{group__Ethumb__Client__Basics_ga23330db7a756b6ba8026b1bb33ce720d}{ethumb\+\_\+client\+\_\+disconnect()}} before such (that is, don\textquotesingle{}t rely on {\itshape data} after {\itshape connect\+\_\+cb} was called!)\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
client instance or NULL if failed. If {\itshape connect\+\_\+cb} is missing it returns {\ttfamily NULL}. If it fail for other conditions, {\ttfamily NULL} is also returned and {\itshape connect\+\_\+cb} is called with {\ttfamily success=EINA\+\_\+\+FALSE}. The client instance is not ready to be used until {\itshape connect\+\_\+cb} is called. 
\end{DoxyReturn}


References EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN\+\_\+\+VAL, eldbus\+\_\+connection\+\_\+get(), ERR, and ethumb\+\_\+new().

\mbox{\Hypertarget{group__Ethumb__Client__Basics_ga23330db7a756b6ba8026b1bb33ce720d}\label{group__Ethumb__Client__Basics_ga23330db7a756b6ba8026b1bb33ce720d}} 
\index{Ethumb Client Basics@{Ethumb Client Basics}!ethumb\_client\_disconnect@{ethumb\_client\_disconnect}}
\index{ethumb\_client\_disconnect@{ethumb\_client\_disconnect}!Ethumb Client Basics@{Ethumb Client Basics}}
\doxysubsubsection{\texorpdfstring{ethumb\_client\_disconnect()}{ethumb\_client\_disconnect()}}
{\footnotesize\ttfamily \mbox{\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{EAPI}} void ethumb\+\_\+client\+\_\+disconnect (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ethumb__Client__Basics_ga45f606a35f4811ecfe1a6db9c8f5e814}{Ethumb\+\_\+\+Client}} $\ast$}]{client }\end{DoxyParamCaption})}



Disconnect the client, releasing all client resources. 

This is the destructor of Ethumb\+\_\+\+Client, after it\textquotesingle{}s disconnected the client handle is now gone and should not be used.


\begin{DoxyParams}{Parameters}
{\em client} & client instance to be destroyed. Must {\bfseries{not}} be {\ttfamily NULL}. \\
\hline
\end{DoxyParams}


References EINA\+\_\+\+REFCOUNT\+\_\+\+UNREF, and EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN.

\mbox{\Hypertarget{group__Ethumb__Client__Basics_ga453c18b2df77d5cdbaf367587580ae83}\label{group__Ethumb__Client__Basics_ga453c18b2df77d5cdbaf367587580ae83}} 
\index{Ethumb Client Basics@{Ethumb Client Basics}!ethumb\_client\_on\_server\_die\_callback\_set@{ethumb\_client\_on\_server\_die\_callback\_set}}
\index{ethumb\_client\_on\_server\_die\_callback\_set@{ethumb\_client\_on\_server\_die\_callback\_set}!Ethumb Client Basics@{Ethumb Client Basics}}
\doxysubsubsection{\texorpdfstring{ethumb\_client\_on\_server\_die\_callback\_set()}{ethumb\_client\_on\_server\_die\_callback\_set()}}
{\footnotesize\ttfamily \mbox{\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{EAPI}} void ethumb\+\_\+client\+\_\+on\+\_\+server\+\_\+die\+\_\+callback\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ethumb__Client__Basics_ga45f606a35f4811ecfe1a6db9c8f5e814}{Ethumb\+\_\+\+Client}} $\ast$}]{client,  }\item[{\mbox{\hyperlink{group__Ethumb__Client__Basics_ga972481bed987f47cba1d788bdc0ace20}{Ethumb\+\_\+\+Client\+\_\+\+Die\+\_\+\+Cb}}}]{server\+\_\+die\+\_\+cb,  }\item[{const void $\ast$}]{data,  }\item[{\mbox{\hyperlink{group__Eina__Types__Group_gadbac560ba2bca5c61d97bfbb542018f3}{Eina\+\_\+\+Free\+\_\+\+Cb}}}]{free\+\_\+data }\end{DoxyParamCaption})}



Sets the callback to report server died. 

When server dies there is nothing you can do, just release resources with \mbox{\hyperlink{group__Ethumb__Client__Basics_ga23330db7a756b6ba8026b1bb33ce720d}{ethumb\+\_\+client\+\_\+disconnect()}} and probably try to connect again.

Usually you should set this callback and handle this case, it does happen!


\begin{DoxyParams}{Parameters}
{\em client} & the client instance to monitor. Must {\bfseries{not}} be {\ttfamily NULL}. \\
\hline
{\em server\+\_\+die\+\_\+cb} & function to call back when server dies. The first parameter will be the argument {\itshape data}. May be {\ttfamily NULL}. \\
\hline
{\em data} & context to give back to {\itshape server\+\_\+die\+\_\+cb}. May be {\ttfamily NULL}. \\
\hline
{\em free\+\_\+data} & used to release {\itshape data} resources after {\itshape server\+\_\+die\+\_\+cb} is called or user calls \mbox{\hyperlink{group__Ethumb__Client__Basics_ga23330db7a756b6ba8026b1bb33ce720d}{ethumb\+\_\+client\+\_\+disconnect()}}. \\
\hline
\end{DoxyParams}


References EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN.

\mbox{\Hypertarget{group__Ethumb__Client__Basics_gaf1bfc6777a81a1141391f87b0acaadc2}\label{group__Ethumb__Client__Basics_gaf1bfc6777a81a1141391f87b0acaadc2}} 
\index{Ethumb Client Basics@{Ethumb Client Basics}!ethumb\_client\_file\_set@{ethumb\_client\_file\_set}}
\index{ethumb\_client\_file\_set@{ethumb\_client\_file\_set}!Ethumb Client Basics@{Ethumb Client Basics}}
\doxysubsubsection{\texorpdfstring{ethumb\_client\_file\_set()}{ethumb\_client\_file\_set()}}
{\footnotesize\ttfamily \mbox{\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{EAPI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} ethumb\+\_\+client\+\_\+file\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ethumb__Client__Basics_ga45f606a35f4811ecfe1a6db9c8f5e814}{Ethumb\+\_\+\+Client}} $\ast$}]{client,  }\item[{const char $\ast$}]{path,  }\item[{const char $\ast$}]{key }\end{DoxyParamCaption})}



Set source file to be thumbnailed. 

Calling this function has the side effect of resetting values set with \mbox{\hyperlink{group__Ethumb__Client__Setup_ga4fb204bd694dbb066fe5dbb15632dd91}{ethumb\+\_\+client\+\_\+thumb\+\_\+path\+\_\+set()}} or auto-\/generated with \mbox{\hyperlink{group__Ethumb__Client__Basics_ga77e6ec3b0e2d1c99a524399da6a24012}{ethumb\+\_\+client\+\_\+thumb\+\_\+exists()}}.


\begin{DoxyParams}{Parameters}
{\em client} & the client instance to use. Must {\bfseries{not}} be {\ttfamily NULL}. May be pending connected (can be called before {\ttfamily connected\+\_\+cb}) \\
\hline
{\em path} & the filesystem path to use. May be {\ttfamily NULL}. \\
\hline
{\em key} & the extra argument/key inside {\itshape path} to read image from. This is only used for formats that allow multiple resources in one file, like EET or Edje (group name).\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily EINA\+\_\+\+TRUE} on success, {\ttfamily EINA\+\_\+\+FALSE} on failure. 
\end{DoxyReturn}


References EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN\+\_\+\+VAL, and ethumb\+\_\+file\+\_\+set().

\mbox{\Hypertarget{group__Ethumb__Client__Basics_gace6930ae055ed155f2b161ba5e83b2d8}\label{group__Ethumb__Client__Basics_gace6930ae055ed155f2b161ba5e83b2d8}} 
\index{Ethumb Client Basics@{Ethumb Client Basics}!ethumb\_client\_file\_get@{ethumb\_client\_file\_get}}
\index{ethumb\_client\_file\_get@{ethumb\_client\_file\_get}!Ethumb Client Basics@{Ethumb Client Basics}}
\doxysubsubsection{\texorpdfstring{ethumb\_client\_file\_get()}{ethumb\_client\_file\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{EAPI}} void ethumb\+\_\+client\+\_\+file\+\_\+get (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ethumb__Client__Basics_ga45f606a35f4811ecfe1a6db9c8f5e814}{Ethumb\+\_\+\+Client}} $\ast$}]{client,  }\item[{const char $\ast$$\ast$}]{path,  }\item[{const char $\ast$$\ast$}]{key }\end{DoxyParamCaption})}



Get values set with \mbox{\hyperlink{group__Ethumb__Client__Basics_gace6930ae055ed155f2b161ba5e83b2d8}{ethumb\+\_\+client\+\_\+file\+\_\+get()}} 


\begin{DoxyParams}{Parameters}
{\em client} & the client instance to use. Must {\bfseries{not}} be {\ttfamily NULL}. May be pending connected (can be called before {\ttfamily connected\+\_\+cb}) \\
\hline
{\em path} & where to return configured path. May be {\ttfamily NULL}. If not {\ttfamily NULL}, then it will be a pointer to a stringshared instance, but {\bfseries{no}} references are added (do it with \mbox{\hyperlink{group__Eina__Stringshare__Group_gac6f45e4273f13f42e9a3c48435cd03dc}{eina\+\_\+stringshare\+\_\+ref()}})! \\
\hline
{\em key} & where to return configured key. May be {\ttfamily NULL.\+If} not {\ttfamily NULL}, then it will be a pointer to a stringshared instance, but {\bfseries{no}} references are added (do it with \mbox{\hyperlink{group__Eina__Stringshare__Group_gac6f45e4273f13f42e9a3c48435cd03dc}{eina\+\_\+stringshare\+\_\+ref()}})! \\
\hline
\end{DoxyParams}


References EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN, and ethumb\+\_\+file\+\_\+get().

\mbox{\Hypertarget{group__Ethumb__Client__Basics_gab8b830c4744f72d7a4d3a677a6ba7a91}\label{group__Ethumb__Client__Basics_gab8b830c4744f72d7a4d3a677a6ba7a91}} 
\index{Ethumb Client Basics@{Ethumb Client Basics}!ethumb\_client\_file\_free@{ethumb\_client\_file\_free}}
\index{ethumb\_client\_file\_free@{ethumb\_client\_file\_free}!Ethumb Client Basics@{Ethumb Client Basics}}
\doxysubsubsection{\texorpdfstring{ethumb\_client\_file\_free()}{ethumb\_client\_file\_free()}}
{\footnotesize\ttfamily \mbox{\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{EAPI}} void ethumb\+\_\+client\+\_\+file\+\_\+free (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ethumb__Client__Basics_ga45f606a35f4811ecfe1a6db9c8f5e814}{Ethumb\+\_\+\+Client}} $\ast$}]{client }\end{DoxyParamCaption})}



Reset previously set file to {\ttfamily NULL}. 


\begin{DoxyParams}{Parameters}
{\em client} & the client instance to use. Must {\bfseries{not}} be {\ttfamily NULL}. May be pending connected (can be called before {\ttfamily connected\+\_\+cb}) \\
\hline
\end{DoxyParams}


References EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN, and ethumb\+\_\+file\+\_\+free().

\mbox{\Hypertarget{group__Ethumb__Client__Basics_ga77e6ec3b0e2d1c99a524399da6a24012}\label{group__Ethumb__Client__Basics_ga77e6ec3b0e2d1c99a524399da6a24012}} 
\index{Ethumb Client Basics@{Ethumb Client Basics}!ethumb\_client\_thumb\_exists@{ethumb\_client\_thumb\_exists}}
\index{ethumb\_client\_thumb\_exists@{ethumb\_client\_thumb\_exists}!Ethumb Client Basics@{Ethumb Client Basics}}
\doxysubsubsection{\texorpdfstring{ethumb\_client\_thumb\_exists()}{ethumb\_client\_thumb\_exists()}}
{\footnotesize\ttfamily \mbox{\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{EAPI}} \mbox{\hyperlink{group__Ethumb__Client__Basics_ga6f207317e558e9a273ca60b1c7d1cab2}{Ethumb\+\_\+\+Exists}}$\ast$ ethumb\+\_\+client\+\_\+thumb\+\_\+exists (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ethumb__Client__Basics_ga45f606a35f4811ecfe1a6db9c8f5e814}{Ethumb\+\_\+\+Client}} $\ast$}]{client,  }\item[{\mbox{\hyperlink{group__Ethumb__Client__Basics_ga5e2bfebf2e5df3c29db2331839928859}{Ethumb\+\_\+\+Client\+\_\+\+Thumb\+\_\+\+Exists\+\_\+\+Cb}}}]{exists\+\_\+cb,  }\item[{const void $\ast$}]{data }\end{DoxyParamCaption})}



Checks whenever file already exists (locally!) 

This will check locally (not calling server) if thumbnail already exists or not, also calculating the thumbnail path. See \mbox{\hyperlink{group__Ethumb__Client__Setup_gaaf1931c56f4fc4b02b34f54699f42a34}{ethumb\+\_\+client\+\_\+thumb\+\_\+path\+\_\+get()}}. Path must be configured with \mbox{\hyperlink{group__Ethumb__Client__Basics_gaf1bfc6777a81a1141391f87b0acaadc2}{ethumb\+\_\+client\+\_\+file\+\_\+set()}} before using it and the last set file will be used!


\begin{DoxyParams}{Parameters}
{\em client} & client instance. Must {\bfseries{not}} be {\ttfamily NULL} and client must be configured with \mbox{\hyperlink{group__Ethumb__Client__Basics_gaf1bfc6777a81a1141391f87b0acaadc2}{ethumb\+\_\+client\+\_\+file\+\_\+set()}}.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily NULL} on failure, a valid Ethumb\+\_\+\+Exists pointer otherwise 
\end{DoxyReturn}


References ecore\+\_\+thread\+\_\+run(), EINA\+\_\+\+FALSE, eina\+\_\+hash\+\_\+direct\+\_\+add(), eina\+\_\+hash\+\_\+find(), eina\+\_\+list\+\_\+append(), EINA\+\_\+\+REFCOUNT\+\_\+\+REF, EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN\+\_\+\+VAL, eina\+\_\+stringshare\+\_\+del(), eina\+\_\+stringshare\+\_\+ref(), ethumb\+\_\+dup(), ethumb\+\_\+file\+\_\+get(), and ethumb\+\_\+free().

\mbox{\Hypertarget{group__Ethumb__Client__Basics_gad96b376ead632e96723ca9f9b0735918}\label{group__Ethumb__Client__Basics_gad96b376ead632e96723ca9f9b0735918}} 
\index{Ethumb Client Basics@{Ethumb Client Basics}!ethumb\_client\_thumb\_exists\_cancel@{ethumb\_client\_thumb\_exists\_cancel}}
\index{ethumb\_client\_thumb\_exists\_cancel@{ethumb\_client\_thumb\_exists\_cancel}!Ethumb Client Basics@{Ethumb Client Basics}}
\doxysubsubsection{\texorpdfstring{ethumb\_client\_thumb\_exists\_cancel()}{ethumb\_client\_thumb\_exists\_cancel()}}
{\footnotesize\ttfamily \mbox{\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{EAPI}} void ethumb\+\_\+client\+\_\+thumb\+\_\+exists\+\_\+cancel (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ethumb__Client__Basics_ga6f207317e558e9a273ca60b1c7d1cab2}{Ethumb\+\_\+\+Exists}} $\ast$}]{exists }\end{DoxyParamCaption})}



Cancel an ongoing exists request. 


\begin{DoxyParams}{Parameters}
{\em exists} & the request to cancel. \\
\hline
\end{DoxyParams}


References ecore\+\_\+thread\+\_\+cancel(), eina\+\_\+list\+\_\+count(), eina\+\_\+list\+\_\+remove(), EINA\+\_\+\+REFCOUNT\+\_\+\+UNREF, and ethumb\+\_\+free().

\mbox{\Hypertarget{group__Ethumb__Client__Basics_gae68364004bf3ba3247fab20efc58f146}\label{group__Ethumb__Client__Basics_gae68364004bf3ba3247fab20efc58f146}} 
\index{Ethumb Client Basics@{Ethumb Client Basics}!ethumb\_client\_thumb\_exists\_check@{ethumb\_client\_thumb\_exists\_check}}
\index{ethumb\_client\_thumb\_exists\_check@{ethumb\_client\_thumb\_exists\_check}!Ethumb Client Basics@{Ethumb Client Basics}}
\doxysubsubsection{\texorpdfstring{ethumb\_client\_thumb\_exists\_check()}{ethumb\_client\_thumb\_exists\_check()}}
{\footnotesize\ttfamily \mbox{\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{EAPI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} ethumb\+\_\+client\+\_\+thumb\+\_\+exists\+\_\+check (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ethumb__Client__Basics_ga6f207317e558e9a273ca60b1c7d1cab2}{Ethumb\+\_\+\+Exists}} $\ast$}]{exists }\end{DoxyParamCaption})}



Check if an exists request was cancelled. 


\begin{DoxyParams}{Parameters}
{\em exists} & the request to check. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
return EINA\+\_\+\+TRUE if the request was cancelled. 
\end{DoxyReturn}


References ecore\+\_\+thread\+\_\+check(), EINA\+\_\+\+FALSE, and EINA\+\_\+\+TRUE.

\mbox{\Hypertarget{group__Ethumb__Client__Basics_gaa09f3c82539082042f47196c47ef8251}\label{group__Ethumb__Client__Basics_gaa09f3c82539082042f47196c47ef8251}} 
\index{Ethumb Client Basics@{Ethumb Client Basics}!ethumb\_client\_generate@{ethumb\_client\_generate}}
\index{ethumb\_client\_generate@{ethumb\_client\_generate}!Ethumb Client Basics@{Ethumb Client Basics}}
\doxysubsubsection{\texorpdfstring{ethumb\_client\_generate()}{ethumb\_client\_generate()}}
{\footnotesize\ttfamily \mbox{\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{EAPI}} int ethumb\+\_\+client\+\_\+generate (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ethumb__Client__Basics_ga45f606a35f4811ecfe1a6db9c8f5e814}{Ethumb\+\_\+\+Client}} $\ast$}]{client,  }\item[{\mbox{\hyperlink{group__Ethumb__Client__Basics_ga4fefc01b98790d39c16f1e0511732c18}{Ethumb\+\_\+\+Client\+\_\+\+Generate\+\_\+\+Cb}}}]{generated\+\_\+cb,  }\item[{const void $\ast$}]{data,  }\item[{\mbox{\hyperlink{group__Eina__Types__Group_gadbac560ba2bca5c61d97bfbb542018f3}{Eina\+\_\+\+Free\+\_\+\+Cb}}}]{free\+\_\+data }\end{DoxyParamCaption})}



Ask server to generate thumbnail. 

This process is asynchronous and will report back from main loop using {\itshape generated\+\_\+cb}. One can cancel this request by calling \mbox{\hyperlink{group__Ethumb__Client__Basics_ga55fad34988a1cde2962141e25c5b26c5}{ethumb\+\_\+client\+\_\+generate\+\_\+cancel()}} or \mbox{\hyperlink{group__Ethumb__Client__Basics_ga37569c3c40b5e0f30d48db23acf4a344}{ethumb\+\_\+client\+\_\+generate\+\_\+cancel\+\_\+all()}}, but not that request might be processed by server already and no generated files will be removed if that is the case.

This will not check if file already exists, this should be done by explicitly calling \mbox{\hyperlink{group__Ethumb__Client__Basics_ga77e6ec3b0e2d1c99a524399da6a24012}{ethumb\+\_\+client\+\_\+thumb\+\_\+exists()}}. That is, this function will override any existing thumbnail.


\begin{DoxyParams}{Parameters}
{\em client} & client instance. Must {\bfseries{not}} be {\ttfamily NULL} and client must be connected (after connected\+\_\+cb is called). \\
\hline
{\em generated\+\_\+cb} & function to report generation results. \\
\hline
{\em data} & context argument to give back to {\itshape generated\+\_\+cb}. May be {\ttfamily NULL}. \\
\hline
{\em data} & context to give back to {\itshape generate\+\_\+cb}. May be {\ttfamily NULL}. \\
\hline
{\em free\+\_\+data} & used to release {\itshape data} resources after {\itshape generated\+\_\+cb} is called or user calls \mbox{\hyperlink{group__Ethumb__Client__Basics_ga23330db7a756b6ba8026b1bb33ce720d}{ethumb\+\_\+client\+\_\+disconnect()}}.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
identifier or -\/1 on error. If -\/1 is returned (error) then {\itshape free\+\_\+data} is {\bfseries{not}} called!
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Ethumb__Client__Basics_gae642a2b632953f0dd2d72bcb8ae19377}{ethumb\+\_\+client\+\_\+connect()}} 

\mbox{\hyperlink{group__Ethumb__Client__Basics_gaf1bfc6777a81a1141391f87b0acaadc2}{ethumb\+\_\+client\+\_\+file\+\_\+set()}} 

\mbox{\hyperlink{group__Ethumb__Client__Basics_ga77e6ec3b0e2d1c99a524399da6a24012}{ethumb\+\_\+client\+\_\+thumb\+\_\+exists()}} 

\mbox{\hyperlink{group__Ethumb__Client__Basics_ga55fad34988a1cde2962141e25c5b26c5}{ethumb\+\_\+client\+\_\+generate\+\_\+cancel()}} 

\mbox{\hyperlink{group__Ethumb__Client__Basics_ga37569c3c40b5e0f30d48db23acf4a344}{ethumb\+\_\+client\+\_\+generate\+\_\+cancel\+\_\+all()}} 
\end{DoxySeeAlso}


References EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+FALSE\+\_\+\+RETURN\+\_\+\+VAL, EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN\+\_\+\+VAL, ERR, and ethumb\+\_\+file\+\_\+get().

\mbox{\Hypertarget{group__Ethumb__Client__Basics_ga55fad34988a1cde2962141e25c5b26c5}\label{group__Ethumb__Client__Basics_ga55fad34988a1cde2962141e25c5b26c5}} 
\index{Ethumb Client Basics@{Ethumb Client Basics}!ethumb\_client\_generate\_cancel@{ethumb\_client\_generate\_cancel}}
\index{ethumb\_client\_generate\_cancel@{ethumb\_client\_generate\_cancel}!Ethumb Client Basics@{Ethumb Client Basics}}
\doxysubsubsection{\texorpdfstring{ethumb\_client\_generate\_cancel()}{ethumb\_client\_generate\_cancel()}}
{\footnotesize\ttfamily \mbox{\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{EAPI}} void ethumb\+\_\+client\+\_\+generate\+\_\+cancel (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ethumb__Client__Basics_ga45f606a35f4811ecfe1a6db9c8f5e814}{Ethumb\+\_\+\+Client}} $\ast$}]{client,  }\item[{int}]{id,  }\item[{\mbox{\hyperlink{group__Ethumb__Client__Basics_gaac2b8013eec4818a1429e518b2894569}{Ethumb\+\_\+\+Client\+\_\+\+Generate\+\_\+\+Cancel\+\_\+\+Cb}}}]{cancel\+\_\+cb,  }\item[{const void $\ast$}]{data,  }\item[{\mbox{\hyperlink{group__Eina__Types__Group_gadbac560ba2bca5c61d97bfbb542018f3}{Eina\+\_\+\+Free\+\_\+\+Cb}}}]{free\+\_\+data }\end{DoxyParamCaption})}



Ask server to cancel generation of thumbnail. 


\begin{DoxyParams}{Parameters}
{\em client} & client instance. Must {\bfseries{not}} be {\ttfamily NULL} and client must be connected (after connected\+\_\+cb is called). \\
\hline
{\em id} & valid id returned by \mbox{\hyperlink{group__Ethumb__Client__Basics_gaa09f3c82539082042f47196c47ef8251}{ethumb\+\_\+client\+\_\+generate()}} \\
\hline
{\em cancel\+\_\+cb} & function to report cancellation results. \\
\hline
{\em data} & context argument to give back to {\itshape cancel\+\_\+cb}. May be {\ttfamily NULL}. \\
\hline
{\em data} & context to give back to {\itshape cancel\+\_\+cb}. May be {\ttfamily NULL}. \\
\hline
{\em free\+\_\+data} & used to release {\itshape data} resources after {\itshape cancel\+\_\+cb} is called or user calls \mbox{\hyperlink{group__Ethumb__Client__Basics_ga23330db7a756b6ba8026b1bb33ce720d}{ethumb\+\_\+client\+\_\+disconnect()}}. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group__Ethumb__Client__Basics_ga37569c3c40b5e0f30d48db23acf4a344}\label{group__Ethumb__Client__Basics_ga37569c3c40b5e0f30d48db23acf4a344}} 
\index{Ethumb Client Basics@{Ethumb Client Basics}!ethumb\_client\_generate\_cancel\_all@{ethumb\_client\_generate\_cancel\_all}}
\index{ethumb\_client\_generate\_cancel\_all@{ethumb\_client\_generate\_cancel\_all}!Ethumb Client Basics@{Ethumb Client Basics}}
\doxysubsubsection{\texorpdfstring{ethumb\_client\_generate\_cancel\_all()}{ethumb\_client\_generate\_cancel\_all()}}
{\footnotesize\ttfamily \mbox{\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{EAPI}} void ethumb\+\_\+client\+\_\+generate\+\_\+cancel\+\_\+all (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ethumb__Client__Basics_ga45f606a35f4811ecfe1a6db9c8f5e814}{Ethumb\+\_\+\+Client}} $\ast$}]{client }\end{DoxyParamCaption})}



Ask server to cancel generation of all thumbnails. 


\begin{DoxyParams}{Parameters}
{\em client} & client instance. Must {\bfseries{not}} be {\ttfamily NULL} and client must be connected (after connected\+\_\+cb is called).\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Ethumb__Client__Basics_ga55fad34988a1cde2962141e25c5b26c5}{ethumb\+\_\+client\+\_\+generate\+\_\+cancel()}} 
\end{DoxySeeAlso}


References EINA\+\_\+\+LIST\+\_\+\+FREE, and EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN.

