\hypertarget{group__Ecore__Con__Client__Group}{\section{Ecore Connection Client Functions}
\label{group__Ecore__Con__Client__Group}\index{Ecore Connection Client Functions@{Ecore Connection Client Functions}}
}


Functions to communicate with and/or set options on a client.  


\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} int \hyperlink{group__Ecore__Con__Client__Group_ga166fd469acaa809faa4247b12d79278f}{ecore\+\_\+con\+\_\+client\+\_\+send} (Ecore\+\_\+\+Con\+\_\+\+Client $\ast$cl, const void $\ast$data, int size)
\begin{DoxyCompactList}\small\item\em Sends the given data to the given client. \end{DoxyCompactList}\item 
\hypertarget{group__Ecore__Con__Client__Group_gaee768d2a575902e27c57b3d8550f64d4}{static E\+O\+L\+I\+A\+N int {\bfseries \+\_\+ecore\+\_\+con\+\_\+client\+\_\+ecore\+\_\+con\+\_\+base\+\_\+send} (\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$obj, Ecore\+\_\+\+Con\+\_\+\+Client\+\_\+\+Data $\ast$cl, const void $\ast$data, int size)}\label{group__Ecore__Con__Client__Group_gaee768d2a575902e27c57b3d8550f64d4}

\item 
\hypertarget{group__Ecore__Con__Client__Group_ga7d444001d987ad64ef9ddbb7bb3d98e2}{static E\+O\+L\+I\+A\+N Ecore\+\_\+\+Con\+\_\+\+Server $\ast$ {\bfseries \+\_\+ecore\+\_\+con\+\_\+client\+\_\+server\+\_\+get} (\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$obj, Ecore\+\_\+\+Con\+\_\+\+Client\+\_\+\+Data $\ast$cl)}\label{group__Ecore__Con__Client__Group_ga7d444001d987ad64ef9ddbb7bb3d98e2}

\item 
\hypertarget{group__Ecore__Con__Client__Group_ga10f92cbd7b7375713216f0fb6be2374c}{static E\+O\+L\+I\+A\+N \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} {\bfseries \+\_\+ecore\+\_\+con\+\_\+client\+\_\+ecore\+\_\+con\+\_\+base\+\_\+connected\+\_\+get} (\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$obj, Ecore\+\_\+\+Con\+\_\+\+Client\+\_\+\+Data $\ast$cl)}\label{group__Ecore__Con__Client__Group_ga10f92cbd7b7375713216f0fb6be2374c}

\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Ecore__Con__Client__Group_gaade0309ee7c315f7e54bc902078791e8}{ecore\+\_\+con\+\_\+client\+\_\+connected\+\_\+get} (const Ecore\+\_\+\+Con\+\_\+\+Client $\ast$cl)
\begin{DoxyCompactList}\small\item\em Returns whether the client is still connected. \end{DoxyCompactList}\item 
\hypertarget{group__Ecore__Con__Client__Group_gabfae28040580c4494e7ff40f985bbc35}{static E\+O\+L\+I\+A\+N void {\bfseries \+\_\+ecore\+\_\+con\+\_\+client\+\_\+ecore\+\_\+con\+\_\+base\+\_\+timeout\+\_\+set} (\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$obj, Ecore\+\_\+\+Con\+\_\+\+Client\+\_\+\+Data $\ast$cl, double timeout)}\label{group__Ecore__Con__Client__Group_gabfae28040580c4494e7ff40f985bbc35}

\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__Ecore__Con__Client__Group_gac96c76af4f6c9d842e52ea38312c73dd}{ecore\+\_\+con\+\_\+client\+\_\+timeout\+\_\+set} (Ecore\+\_\+\+Con\+\_\+\+Client $\ast$cl, double timeout)
\begin{DoxyCompactList}\small\item\em Set the time after which the client will be disconnected when inactive. \end{DoxyCompactList}\item 
\hypertarget{group__Ecore__Con__Client__Group_ga2cae88e09d0d0f744901d9c2187f55bc}{static E\+O\+L\+I\+A\+N double {\bfseries \+\_\+ecore\+\_\+con\+\_\+client\+\_\+ecore\+\_\+con\+\_\+base\+\_\+timeout\+\_\+get} (\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$obj, Ecore\+\_\+\+Con\+\_\+\+Client\+\_\+\+Data $\ast$cl)}\label{group__Ecore__Con__Client__Group_ga2cae88e09d0d0f744901d9c2187f55bc}

\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} double \hyperlink{group__Ecore__Con__Client__Group_gaa09134e1e8c30f0cc07a57c9bd7788df}{ecore\+\_\+con\+\_\+client\+\_\+timeout\+\_\+get} (const Ecore\+\_\+\+Con\+\_\+\+Client $\ast$cl)
\begin{DoxyCompactList}\small\item\em Get the default time after which the client will be disconnected when inactive. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void $\ast$ \hyperlink{group__Ecore__Con__Client__Group_gaddd302cb689b5040363246a58f20a680}{ecore\+\_\+con\+\_\+client\+\_\+del} (Ecore\+\_\+\+Con\+\_\+\+Client $\ast$cl)
\begin{DoxyCompactList}\small\item\em Closes the connection and frees memory allocated to the given client. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__Ecore__Con__Client__Group_ga0c81c3b201d7fa6d48b6f5e99a651edc}{ecore\+\_\+con\+\_\+client\+\_\+data\+\_\+set} (Ecore\+\_\+\+Con\+\_\+\+Client $\ast$cl, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Sets the data associated with the given client to {\ttfamily data}. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void $\ast$ \hyperlink{group__Ecore__Con__Client__Group_ga34e96711b04adecc9ade2b1f3408c390}{ecore\+\_\+con\+\_\+client\+\_\+data\+\_\+get} (Ecore\+\_\+\+Con\+\_\+\+Client $\ast$cl)
\begin{DoxyCompactList}\small\item\em Retrieves the data associated with the given client. \end{DoxyCompactList}\item 
\hypertarget{group__Ecore__Con__Client__Group_gaf1e9dbcb114930db3e3f4f5747ff89f6}{static E\+O\+L\+I\+A\+N const char $\ast$ {\bfseries \+\_\+ecore\+\_\+con\+\_\+client\+\_\+ecore\+\_\+con\+\_\+base\+\_\+ip\+\_\+get} (\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$obj, Ecore\+\_\+\+Con\+\_\+\+Client\+\_\+\+Data $\ast$cl)}\label{group__Ecore__Con__Client__Group_gaf1e9dbcb114930db3e3f4f5747ff89f6}

\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} const char $\ast$ \hyperlink{group__Ecore__Con__Client__Group_ga86b3797ad455971d370c0486e5b59854}{ecore\+\_\+con\+\_\+client\+\_\+ip\+\_\+get} (const Ecore\+\_\+\+Con\+\_\+\+Client $\ast$cl)
\begin{DoxyCompactList}\small\item\em Gets the I\+P address of a client that has connected. \end{DoxyCompactList}\item 
\hypertarget{group__Ecore__Con__Client__Group_gaca33cd3c998ae651d3465970f3128ab8}{static E\+O\+L\+I\+A\+N int {\bfseries \+\_\+ecore\+\_\+con\+\_\+client\+\_\+ecore\+\_\+con\+\_\+base\+\_\+port\+\_\+get} (\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$obj, Ecore\+\_\+\+Con\+\_\+\+Client\+\_\+\+Data $\ast$cl)}\label{group__Ecore__Con__Client__Group_gaca33cd3c998ae651d3465970f3128ab8}

\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} int \hyperlink{group__Ecore__Con__Client__Group_ga555c9fd886a4833006888e685565ad03}{ecore\+\_\+con\+\_\+client\+\_\+port\+\_\+get} (const Ecore\+\_\+\+Con\+\_\+\+Client $\ast$cl)
\begin{DoxyCompactList}\small\item\em Return the port that the client has connected to. \end{DoxyCompactList}\item 
\hypertarget{group__Ecore__Con__Client__Group_ga110ff5e8fd8858c74f3a71249c935116}{static E\+O\+L\+I\+A\+N double {\bfseries \+\_\+ecore\+\_\+con\+\_\+client\+\_\+ecore\+\_\+con\+\_\+base\+\_\+uptime\+\_\+get} (\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$obj, Ecore\+\_\+\+Con\+\_\+\+Client\+\_\+\+Data $\ast$cl)}\label{group__Ecore__Con__Client__Group_ga110ff5e8fd8858c74f3a71249c935116}

\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} double \hyperlink{group__Ecore__Con__Client__Group_ga6ce6fef375f4d5a0d28a513f2fc40023}{ecore\+\_\+con\+\_\+client\+\_\+uptime\+\_\+get} (const Ecore\+\_\+\+Con\+\_\+\+Client $\ast$cl)
\begin{DoxyCompactList}\small\item\em Check how long a client has been connected. \end{DoxyCompactList}\item 
\hypertarget{group__Ecore__Con__Client__Group_gad59ce66022d195abbef0cda161d89191}{static E\+O\+L\+I\+A\+N void {\bfseries \+\_\+ecore\+\_\+con\+\_\+client\+\_\+ecore\+\_\+con\+\_\+base\+\_\+flush} (\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$obj, Ecore\+\_\+\+Con\+\_\+\+Client\+\_\+\+Data $\ast$cl)}\label{group__Ecore__Con__Client__Group_gad59ce66022d195abbef0cda161d89191}

\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__Ecore__Con__Client__Group_gaccf37688bb1ecbedc8791b5b43c1595c}{ecore\+\_\+con\+\_\+client\+\_\+flush} (Ecore\+\_\+\+Con\+\_\+\+Client $\ast$cl)
\begin{DoxyCompactList}\small\item\em Flushes all pending data to the given client. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} int \hyperlink{group__Ecore__Con__Client__Group_ga7422dd30151d44056149b3c8bbd05e0e}{ecore\+\_\+con\+\_\+server\+\_\+fd\+\_\+get} (const Ecore\+\_\+\+Con $\ast$obj)
\begin{DoxyCompactList}\small\item\em Get the fd that the server is connected to. \end{DoxyCompactList}\item 
\hypertarget{group__Ecore__Con__Client__Group_gac5caa4f107317108fa30b63f5dad967b}{static E\+O\+L\+I\+A\+N int {\bfseries \+\_\+ecore\+\_\+con\+\_\+server\+\_\+ecore\+\_\+con\+\_\+base\+\_\+fd\+\_\+get} (\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$obj, Ecore\+\_\+\+Con\+\_\+\+Server\+\_\+\+Data $\ast$svr)}\label{group__Ecore__Con__Client__Group_gac5caa4f107317108fa30b63f5dad967b}

\item 
\hypertarget{group__Ecore__Con__Client__Group_ga2e380c20e4148036cfb834cfeda90a41}{static E\+O\+L\+I\+A\+N int {\bfseries \+\_\+ecore\+\_\+con\+\_\+client\+\_\+ecore\+\_\+con\+\_\+base\+\_\+fd\+\_\+get} (\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} $\ast$obj, Ecore\+\_\+\+Con\+\_\+\+Client\+\_\+\+Data $\ast$cl)}\label{group__Ecore__Con__Client__Group_ga2e380c20e4148036cfb834cfeda90a41}

\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} int \hyperlink{group__Ecore__Con__Client__Group_gad43587d13d5cfea542004f9a6a993f47}{ecore\+\_\+con\+\_\+client\+\_\+fd\+\_\+get} (const Ecore\+\_\+\+Con $\ast$obj)
\begin{DoxyCompactList}\small\item\em Get the fd that the client is connected to. \end{DoxyCompactList}\item 
int \hyperlink{group__Ecore__Con__Client__Group_ga246f73d6f24a651bd6fd5790a4e90064}{ecore\+\_\+con\+\_\+ssl\+\_\+available\+\_\+get} (void)
\begin{DoxyCompactList}\small\item\em Returns if S\+S\+L support is available. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} int \hyperlink{group__Ecore__Con__Client__Group_gaad8e029c00a1a4a6097f5ff17dec3c2e}{ecore\+\_\+ipc\+\_\+ssl\+\_\+available\+\_\+get} (void)
\begin{DoxyCompactList}\small\item\em Returns if S\+S\+L support is available. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Functions to communicate with and/or set options on a client. 

Functions that operate on Ecore connection client objects.

This set of functions, as explained in \hyperlink{group__Ecore__Con__Server__Group}{Ecore Connection Server Functions}, is used to send data to a client, or to set options and get information about this client. Most of them should be used on the server, applied on the client object.

If you need to implement a client, the way to connect to a server is described in \hyperlink{group__Ecore__Con__Server__Group}{Ecore Connection Server Functions}.

An example of usage of these functions can be found at\+: \begin{DoxyItemize}
\item \hyperlink{ecore_con_client_simple_example_c}{Ecore\+\_\+\+Con -\/ Creating a client} \end{DoxyItemize}


\subsection{Function Documentation}
\hypertarget{group__Ecore__Con__Client__Group_ga166fd469acaa809faa4247b12d79278f}{\index{Ecore Connection Client Functions@{Ecore Connection Client Functions}!ecore\+\_\+con\+\_\+client\+\_\+send@{ecore\+\_\+con\+\_\+client\+\_\+send}}
\index{ecore\+\_\+con\+\_\+client\+\_\+send@{ecore\+\_\+con\+\_\+client\+\_\+send}!Ecore Connection Client Functions@{Ecore Connection Client Functions}}
\subsubsection[{ecore\+\_\+con\+\_\+client\+\_\+send}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} int ecore\+\_\+con\+\_\+client\+\_\+send (
\begin{DoxyParamCaption}
\item[{Ecore\+\_\+\+Con\+\_\+\+Client $\ast$}]{cl, }
\item[{const void $\ast$}]{data, }
\item[{int}]{size}
\end{DoxyParamCaption}
)}}\label{group__Ecore__Con__Client__Group_ga166fd469acaa809faa4247b12d79278f}


Sends the given data to the given client. 


\begin{DoxyParams}{Parameters}
{\em cl} & The given client. \\
\hline
{\em data} & The given data. \\
\hline
{\em size} & Length of the data, in bytes, to send. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The number of bytes sent. {\ttfamily 0} will be returned if there is an error.
\end{DoxyReturn}
This function will send the given data to the client as soon as the program is back to the main loop. Thus, this function returns immediately (non-\/blocking). If the data needs to be sent {\bfseries now}, call \hyperlink{group__Ecore__Con__Client__Group_gaccf37688bb1ecbedc8791b5b43c1595c}{ecore\+\_\+con\+\_\+client\+\_\+flush()} after this one.

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Ecore__Con__Server__Group_gadf16abc2d4fc16a8b65709eab2cd8337}{ecore\+\_\+con\+\_\+server\+\_\+send()} 

\hyperlink{group__Ecore__Con__Client__Group_gaccf37688bb1ecbedc8791b5b43c1595c}{ecore\+\_\+con\+\_\+client\+\_\+flush()} 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{ecore_con_server_example_8c-example}{ecore\+\_\+con\+\_\+server\+\_\+example.\+c}, and \hyperlink{ecore_con_server_simple_example_8c-example}{ecore\+\_\+con\+\_\+server\+\_\+simple\+\_\+example.\+c}.\end{Desc}


Referenced by ecore\+\_\+con\+\_\+eet\+\_\+raw\+\_\+send(), and ecore\+\_\+ipc\+\_\+client\+\_\+send().

\hypertarget{group__Ecore__Con__Client__Group_gaade0309ee7c315f7e54bc902078791e8}{\index{Ecore Connection Client Functions@{Ecore Connection Client Functions}!ecore\+\_\+con\+\_\+client\+\_\+connected\+\_\+get@{ecore\+\_\+con\+\_\+client\+\_\+connected\+\_\+get}}
\index{ecore\+\_\+con\+\_\+client\+\_\+connected\+\_\+get@{ecore\+\_\+con\+\_\+client\+\_\+connected\+\_\+get}!Ecore Connection Client Functions@{Ecore Connection Client Functions}}
\subsubsection[{ecore\+\_\+con\+\_\+client\+\_\+connected\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} ecore\+\_\+con\+\_\+client\+\_\+connected\+\_\+get (
\begin{DoxyParamCaption}
\item[{const Ecore\+\_\+\+Con\+\_\+\+Client $\ast$}]{cl}
\end{DoxyParamCaption}
)}}\label{group__Ecore__Con__Client__Group_gaade0309ee7c315f7e54bc902078791e8}


Returns whether the client is still connected. 


\begin{DoxyParams}{Parameters}
{\em cl} & The given client. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} if connected, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise. 
\end{DoxyReturn}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{ecore_con_server_simple_example_8c-example}{ecore\+\_\+con\+\_\+server\+\_\+simple\+\_\+example.\+c}.\end{Desc}


Referenced by ecore\+\_\+ipc\+\_\+client\+\_\+send().

\hypertarget{group__Ecore__Con__Client__Group_gac96c76af4f6c9d842e52ea38312c73dd}{\index{Ecore Connection Client Functions@{Ecore Connection Client Functions}!ecore\+\_\+con\+\_\+client\+\_\+timeout\+\_\+set@{ecore\+\_\+con\+\_\+client\+\_\+timeout\+\_\+set}}
\index{ecore\+\_\+con\+\_\+client\+\_\+timeout\+\_\+set@{ecore\+\_\+con\+\_\+client\+\_\+timeout\+\_\+set}!Ecore Connection Client Functions@{Ecore Connection Client Functions}}
\subsubsection[{ecore\+\_\+con\+\_\+client\+\_\+timeout\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ecore\+\_\+con\+\_\+client\+\_\+timeout\+\_\+set (
\begin{DoxyParamCaption}
\item[{Ecore\+\_\+\+Con\+\_\+\+Client $\ast$}]{cl, }
\item[{double}]{timeout}
\end{DoxyParamCaption}
)}}\label{group__Ecore__Con__Client__Group_gac96c76af4f6c9d842e52ea38312c73dd}


Set the time after which the client will be disconnected when inactive. 


\begin{DoxyParams}{Parameters}
{\em cl} & The client object \\
\hline
{\em timeout} & The timeout, in seconds, to disconnect after\\
\hline
\end{DoxyParams}
This function is used by the server to set the idle timeout on a specific client. If the client becomes idle for a time higher than this value, it will be disconnected. A value of $<$ 1 disables the idle timeout.

This timeout is not affected by the one set by \hyperlink{group__Ecore__Con__Server__Group_ga468eec82ada0234b6ea2b5b8d6e25407}{ecore\+\_\+con\+\_\+server\+\_\+timeout\+\_\+set()}. A client will be disconnected whenever the client or the server timeout is reached. That means, the lower timeout value will be used for that client if \hyperlink{group__Ecore__Con__Server__Group_ga468eec82ada0234b6ea2b5b8d6e25407}{ecore\+\_\+con\+\_\+server\+\_\+timeout\+\_\+set()} is used on the server.

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Ecore__Con__Client__Group_gaa09134e1e8c30f0cc07a57c9bd7788df}{ecore\+\_\+con\+\_\+client\+\_\+timeout\+\_\+get()} 

\hyperlink{group__Ecore__Con__Server__Group_ga468eec82ada0234b6ea2b5b8d6e25407}{ecore\+\_\+con\+\_\+server\+\_\+timeout\+\_\+set()} 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{ecore_con_server_example_8c-example}{ecore\+\_\+con\+\_\+server\+\_\+example.\+c}, and \hyperlink{ecore_con_server_simple_example_8c-example}{ecore\+\_\+con\+\_\+server\+\_\+simple\+\_\+example.\+c}.\end{Desc}
\hypertarget{group__Ecore__Con__Client__Group_gaa09134e1e8c30f0cc07a57c9bd7788df}{\index{Ecore Connection Client Functions@{Ecore Connection Client Functions}!ecore\+\_\+con\+\_\+client\+\_\+timeout\+\_\+get@{ecore\+\_\+con\+\_\+client\+\_\+timeout\+\_\+get}}
\index{ecore\+\_\+con\+\_\+client\+\_\+timeout\+\_\+get@{ecore\+\_\+con\+\_\+client\+\_\+timeout\+\_\+get}!Ecore Connection Client Functions@{Ecore Connection Client Functions}}
\subsubsection[{ecore\+\_\+con\+\_\+client\+\_\+timeout\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} double ecore\+\_\+con\+\_\+client\+\_\+timeout\+\_\+get (
\begin{DoxyParamCaption}
\item[{const Ecore\+\_\+\+Con\+\_\+\+Client $\ast$}]{cl}
\end{DoxyParamCaption}
)}}\label{group__Ecore__Con__Client__Group_gaa09134e1e8c30f0cc07a57c9bd7788df}


Get the default time after which the client will be disconnected when inactive. 


\begin{DoxyParams}{Parameters}
{\em cl} & The client object \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The timeout, in seconds, to disconnect after
\end{DoxyReturn}
This function is used to get the idle timeout for a client. A value of $<$ 1 means the idle timeout is disabled.

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Ecore__Con__Client__Group_gac96c76af4f6c9d842e52ea38312c73dd}{ecore\+\_\+con\+\_\+client\+\_\+timeout\+\_\+set()} 
\end{DoxySeeAlso}
\hypertarget{group__Ecore__Con__Client__Group_gaddd302cb689b5040363246a58f20a680}{\index{Ecore Connection Client Functions@{Ecore Connection Client Functions}!ecore\+\_\+con\+\_\+client\+\_\+del@{ecore\+\_\+con\+\_\+client\+\_\+del}}
\index{ecore\+\_\+con\+\_\+client\+\_\+del@{ecore\+\_\+con\+\_\+client\+\_\+del}!Ecore Connection Client Functions@{Ecore Connection Client Functions}}
\subsubsection[{ecore\+\_\+con\+\_\+client\+\_\+del}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void $\ast$ ecore\+\_\+con\+\_\+client\+\_\+del (
\begin{DoxyParamCaption}
\item[{Ecore\+\_\+\+Con\+\_\+\+Client $\ast$}]{cl}
\end{DoxyParamCaption}
)}}\label{group__Ecore__Con__Client__Group_gaddd302cb689b5040363246a58f20a680}


Closes the connection and frees memory allocated to the given client. 


\begin{DoxyParams}{Parameters}
{\em cl} & The given client. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Data associated with the client. 
\end{DoxyReturn}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{ecore_con_server_simple_example_8c-example}{ecore\+\_\+con\+\_\+server\+\_\+simple\+\_\+example.\+c}.\end{Desc}


Referenced by ecore\+\_\+ipc\+\_\+client\+\_\+del().

\hypertarget{group__Ecore__Con__Client__Group_ga0c81c3b201d7fa6d48b6f5e99a651edc}{\index{Ecore Connection Client Functions@{Ecore Connection Client Functions}!ecore\+\_\+con\+\_\+client\+\_\+data\+\_\+set@{ecore\+\_\+con\+\_\+client\+\_\+data\+\_\+set}}
\index{ecore\+\_\+con\+\_\+client\+\_\+data\+\_\+set@{ecore\+\_\+con\+\_\+client\+\_\+data\+\_\+set}!Ecore Connection Client Functions@{Ecore Connection Client Functions}}
\subsubsection[{ecore\+\_\+con\+\_\+client\+\_\+data\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ecore\+\_\+con\+\_\+client\+\_\+data\+\_\+set (
\begin{DoxyParamCaption}
\item[{Ecore\+\_\+\+Con\+\_\+\+Client $\ast$}]{cl, }
\item[{const void $\ast$}]{data}
\end{DoxyParamCaption}
)}}\label{group__Ecore__Con__Client__Group_ga0c81c3b201d7fa6d48b6f5e99a651edc}


Sets the data associated with the given client to {\ttfamily data}. 


\begin{DoxyParams}{Parameters}
{\em cl} & The given client. \\
\hline
{\em data} & What to set the data to. \\
\hline
\end{DoxyParams}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{ecore_con_server_simple_example_8c-example}{ecore\+\_\+con\+\_\+server\+\_\+simple\+\_\+example.\+c}.\end{Desc}
\hypertarget{group__Ecore__Con__Client__Group_ga34e96711b04adecc9ade2b1f3408c390}{\index{Ecore Connection Client Functions@{Ecore Connection Client Functions}!ecore\+\_\+con\+\_\+client\+\_\+data\+\_\+get@{ecore\+\_\+con\+\_\+client\+\_\+data\+\_\+get}}
\index{ecore\+\_\+con\+\_\+client\+\_\+data\+\_\+get@{ecore\+\_\+con\+\_\+client\+\_\+data\+\_\+get}!Ecore Connection Client Functions@{Ecore Connection Client Functions}}
\subsubsection[{ecore\+\_\+con\+\_\+client\+\_\+data\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void $\ast$ ecore\+\_\+con\+\_\+client\+\_\+data\+\_\+get (
\begin{DoxyParamCaption}
\item[{Ecore\+\_\+\+Con\+\_\+\+Client $\ast$}]{cl}
\end{DoxyParamCaption}
)}}\label{group__Ecore__Con__Client__Group_ga34e96711b04adecc9ade2b1f3408c390}


Retrieves the data associated with the given client. 


\begin{DoxyParams}{Parameters}
{\em cl} & The given client. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The data associated with {\ttfamily cl}. 
\end{DoxyReturn}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{ecore_con_server_simple_example_8c-example}{ecore\+\_\+con\+\_\+server\+\_\+simple\+\_\+example.\+c}.\end{Desc}
\hypertarget{group__Ecore__Con__Client__Group_ga86b3797ad455971d370c0486e5b59854}{\index{Ecore Connection Client Functions@{Ecore Connection Client Functions}!ecore\+\_\+con\+\_\+client\+\_\+ip\+\_\+get@{ecore\+\_\+con\+\_\+client\+\_\+ip\+\_\+get}}
\index{ecore\+\_\+con\+\_\+client\+\_\+ip\+\_\+get@{ecore\+\_\+con\+\_\+client\+\_\+ip\+\_\+get}!Ecore Connection Client Functions@{Ecore Connection Client Functions}}
\subsubsection[{ecore\+\_\+con\+\_\+client\+\_\+ip\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} const char $\ast$ ecore\+\_\+con\+\_\+client\+\_\+ip\+\_\+get (
\begin{DoxyParamCaption}
\item[{const Ecore\+\_\+\+Con\+\_\+\+Client $\ast$}]{cl}
\end{DoxyParamCaption}
)}}\label{group__Ecore__Con__Client__Group_ga86b3797ad455971d370c0486e5b59854}


Gets the I\+P address of a client that has connected. 


\begin{DoxyParams}{Parameters}
{\em cl} & The given client. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A pointer to an internal string that contains the I\+P address of the connected client in the form \char`\"{}\+X\+X\+X.\+Y\+Y\+Y.\+Z\+Z\+Z.\+A\+A\+A\char`\"{} I\+P notation.
\end{DoxyReturn}
The returned string should not be modified, freed or trusted to stay valid after deletion for the {\ttfamily cl} object. If no I\+P is known {\ttfamily N\+U\+L\+L} is returned. \begin{Desc}
\item[Examples\+: ]\par
\hyperlink{ecore_con_server_example_8c-example}{ecore\+\_\+con\+\_\+server\+\_\+example.\+c}, and \hyperlink{ecore_con_server_simple_example_8c-example}{ecore\+\_\+con\+\_\+server\+\_\+simple\+\_\+example.\+c}.\end{Desc}


Referenced by ecore\+\_\+ipc\+\_\+client\+\_\+ip\+\_\+get().

\hypertarget{group__Ecore__Con__Client__Group_ga555c9fd886a4833006888e685565ad03}{\index{Ecore Connection Client Functions@{Ecore Connection Client Functions}!ecore\+\_\+con\+\_\+client\+\_\+port\+\_\+get@{ecore\+\_\+con\+\_\+client\+\_\+port\+\_\+get}}
\index{ecore\+\_\+con\+\_\+client\+\_\+port\+\_\+get@{ecore\+\_\+con\+\_\+client\+\_\+port\+\_\+get}!Ecore Connection Client Functions@{Ecore Connection Client Functions}}
\subsubsection[{ecore\+\_\+con\+\_\+client\+\_\+port\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} int ecore\+\_\+con\+\_\+client\+\_\+port\+\_\+get (
\begin{DoxyParamCaption}
\item[{const Ecore\+\_\+\+Con\+\_\+\+Client $\ast$}]{cl}
\end{DoxyParamCaption}
)}}\label{group__Ecore__Con__Client__Group_ga555c9fd886a4833006888e685565ad03}


Return the port that the client has connected to. 


\begin{DoxyParams}{Parameters}
{\em cl} & The client \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The port that {\ttfamily cl} has connected to, or -\/1 on error Use this function to return the port on which a given client has connected. 
\end{DoxyReturn}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{ecore_con_server_simple_example_8c-example}{ecore\+\_\+con\+\_\+server\+\_\+simple\+\_\+example.\+c}.\end{Desc}
\hypertarget{group__Ecore__Con__Client__Group_ga6ce6fef375f4d5a0d28a513f2fc40023}{\index{Ecore Connection Client Functions@{Ecore Connection Client Functions}!ecore\+\_\+con\+\_\+client\+\_\+uptime\+\_\+get@{ecore\+\_\+con\+\_\+client\+\_\+uptime\+\_\+get}}
\index{ecore\+\_\+con\+\_\+client\+\_\+uptime\+\_\+get@{ecore\+\_\+con\+\_\+client\+\_\+uptime\+\_\+get}!Ecore Connection Client Functions@{Ecore Connection Client Functions}}
\subsubsection[{ecore\+\_\+con\+\_\+client\+\_\+uptime\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} double ecore\+\_\+con\+\_\+client\+\_\+uptime\+\_\+get (
\begin{DoxyParamCaption}
\item[{const Ecore\+\_\+\+Con\+\_\+\+Client $\ast$}]{cl}
\end{DoxyParamCaption}
)}}\label{group__Ecore__Con__Client__Group_ga6ce6fef375f4d5a0d28a513f2fc40023}


Check how long a client has been connected. 


\begin{DoxyParams}{Parameters}
{\em cl} & The client to check \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The total time, in seconds, that the client has been connected to the server
\end{DoxyReturn}
This function is used to find out how long a client has been connected for. \begin{Desc}
\item[Examples\+: ]\par
\hyperlink{ecore_con_server_simple_example_8c-example}{ecore\+\_\+con\+\_\+server\+\_\+simple\+\_\+example.\+c}.\end{Desc}
\hypertarget{group__Ecore__Con__Client__Group_gaccf37688bb1ecbedc8791b5b43c1595c}{\index{Ecore Connection Client Functions@{Ecore Connection Client Functions}!ecore\+\_\+con\+\_\+client\+\_\+flush@{ecore\+\_\+con\+\_\+client\+\_\+flush}}
\index{ecore\+\_\+con\+\_\+client\+\_\+flush@{ecore\+\_\+con\+\_\+client\+\_\+flush}!Ecore Connection Client Functions@{Ecore Connection Client Functions}}
\subsubsection[{ecore\+\_\+con\+\_\+client\+\_\+flush}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ecore\+\_\+con\+\_\+client\+\_\+flush (
\begin{DoxyParamCaption}
\item[{Ecore\+\_\+\+Con\+\_\+\+Client $\ast$}]{cl}
\end{DoxyParamCaption}
)}}\label{group__Ecore__Con__Client__Group_gaccf37688bb1ecbedc8791b5b43c1595c}


Flushes all pending data to the given client. 


\begin{DoxyParams}{Parameters}
{\em cl} & The given client.\\
\hline
\end{DoxyParams}
This function will block until all data is sent to the server.

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Ecore__Con__Client__Group_ga166fd469acaa809faa4247b12d79278f}{ecore\+\_\+con\+\_\+client\+\_\+send()} 

\hyperlink{group__Ecore__Con__Server__Group_ga3ddb6c88484b59a1f5a5bacb8b6e60fe}{ecore\+\_\+con\+\_\+server\+\_\+flush()} 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{ecore_con_server_simple_example_8c-example}{ecore\+\_\+con\+\_\+server\+\_\+simple\+\_\+example.\+c}.\end{Desc}


Referenced by ecore\+\_\+ipc\+\_\+client\+\_\+flush().

\hypertarget{group__Ecore__Con__Client__Group_ga7422dd30151d44056149b3c8bbd05e0e}{\index{Ecore Connection Client Functions@{Ecore Connection Client Functions}!ecore\+\_\+con\+\_\+server\+\_\+fd\+\_\+get@{ecore\+\_\+con\+\_\+server\+\_\+fd\+\_\+get}}
\index{ecore\+\_\+con\+\_\+server\+\_\+fd\+\_\+get@{ecore\+\_\+con\+\_\+server\+\_\+fd\+\_\+get}!Ecore Connection Client Functions@{Ecore Connection Client Functions}}
\subsubsection[{ecore\+\_\+con\+\_\+server\+\_\+fd\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} int ecore\+\_\+con\+\_\+server\+\_\+fd\+\_\+get (
\begin{DoxyParamCaption}
\item[{const Ecore\+\_\+\+Con\+\_\+\+Server $\ast$}]{svr}
\end{DoxyParamCaption}
)}}\label{group__Ecore__Con__Client__Group_ga7422dd30151d44056149b3c8bbd05e0e}


Get the fd that the server is connected to. 


\begin{DoxyParams}{Parameters}
{\em svr} & The server object \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The fd, or -\/1 on failure
\end{DoxyReturn}
This function returns the fd which is used by the underlying server connection. It should not be tampered with unless you R\+E\+A\+L\+L\+Y know what you are doing. \begin{DoxyNote}{Note}
This function is only valid for servers created with \hyperlink{group__Ecore__Con__Server__Group_gae3d7391f7da5e0f748d7b6804d010b2f}{ecore\+\_\+con\+\_\+server\+\_\+connect()} 
\end{DoxyNote}
\begin{DoxyWarning}{Warning}
Seriously. Don't use this unless you know what you are doing. 
\end{DoxyWarning}
\begin{DoxySince}{Since}
1.\+1 
\end{DoxySince}
\hypertarget{group__Ecore__Con__Client__Group_gad43587d13d5cfea542004f9a6a993f47}{\index{Ecore Connection Client Functions@{Ecore Connection Client Functions}!ecore\+\_\+con\+\_\+client\+\_\+fd\+\_\+get@{ecore\+\_\+con\+\_\+client\+\_\+fd\+\_\+get}}
\index{ecore\+\_\+con\+\_\+client\+\_\+fd\+\_\+get@{ecore\+\_\+con\+\_\+client\+\_\+fd\+\_\+get}!Ecore Connection Client Functions@{Ecore Connection Client Functions}}
\subsubsection[{ecore\+\_\+con\+\_\+client\+\_\+fd\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} int ecore\+\_\+con\+\_\+client\+\_\+fd\+\_\+get (
\begin{DoxyParamCaption}
\item[{const Ecore\+\_\+\+Con\+\_\+\+Client $\ast$}]{cl}
\end{DoxyParamCaption}
)}}\label{group__Ecore__Con__Client__Group_gad43587d13d5cfea542004f9a6a993f47}


Get the fd that the client is connected to. 


\begin{DoxyParams}{Parameters}
{\em cl} & The client object \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The fd, or -\/1 on failure
\end{DoxyReturn}
This function returns the fd which is used by the underlying client connection. It should not be tampered with unless you R\+E\+A\+L\+L\+Y know what you are doing. \begin{DoxySince}{Since}
1.\+1 
\end{DoxySince}
\hypertarget{group__Ecore__Con__Client__Group_ga246f73d6f24a651bd6fd5790a4e90064}{\index{Ecore Connection Client Functions@{Ecore Connection Client Functions}!ecore\+\_\+con\+\_\+ssl\+\_\+available\+\_\+get@{ecore\+\_\+con\+\_\+ssl\+\_\+available\+\_\+get}}
\index{ecore\+\_\+con\+\_\+ssl\+\_\+available\+\_\+get@{ecore\+\_\+con\+\_\+ssl\+\_\+available\+\_\+get}!Ecore Connection Client Functions@{Ecore Connection Client Functions}}
\subsubsection[{ecore\+\_\+con\+\_\+ssl\+\_\+available\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}int ecore\+\_\+con\+\_\+ssl\+\_\+available\+\_\+get (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}}\label{group__Ecore__Con__Client__Group_ga246f73d6f24a651bd6fd5790a4e90064}


Returns if S\+S\+L support is available. 

\begin{DoxyReturn}{Returns}
1 if S\+S\+L is available and provided by gnutls, 2 if provided by openssl, 0 if it is not available. 
\end{DoxyReturn}


Referenced by ecore\+\_\+ipc\+\_\+ssl\+\_\+available\+\_\+get().

\hypertarget{group__Ecore__Con__Client__Group_gaad8e029c00a1a4a6097f5ff17dec3c2e}{\index{Ecore Connection Client Functions@{Ecore Connection Client Functions}!ecore\+\_\+ipc\+\_\+ssl\+\_\+available\+\_\+get@{ecore\+\_\+ipc\+\_\+ssl\+\_\+available\+\_\+get}}
\index{ecore\+\_\+ipc\+\_\+ssl\+\_\+available\+\_\+get@{ecore\+\_\+ipc\+\_\+ssl\+\_\+available\+\_\+get}!Ecore Connection Client Functions@{Ecore Connection Client Functions}}
\subsubsection[{ecore\+\_\+ipc\+\_\+ssl\+\_\+available\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} int ecore\+\_\+ipc\+\_\+ssl\+\_\+available\+\_\+get (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}}\label{group__Ecore__Con__Client__Group_gaad8e029c00a1a4a6097f5ff17dec3c2e}


Returns if S\+S\+L support is available. 

\begin{DoxyReturn}{Returns}
1 if S\+S\+L is available, 0 if it is not. 
\end{DoxyReturn}


References ecore\+\_\+con\+\_\+ssl\+\_\+available\+\_\+get().

