\hypertarget{group__Ecore__Con__Client__Group}{}\doxysection{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.  


\doxysubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{group__Ecore__Con__Client__Group_gae9afe250f5420f4731d1a94050275756}\label{group__Ecore__Con__Client__Group_gae9afe250f5420f4731d1a94050275756}} 
typedef struct \+\_\+\+Ecore\+\_\+\+Con\+\_\+\+Client {\bfseries Ecore\+\_\+\+Con\+\_\+\+Client}
\begin{DoxyCompactList}\small\item\em Used to provide legacy API/\+ABI compatibility with non-\/\+Eo applications. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
ECORE\+\_\+\+CON\+\_\+\+API int \mbox{\hyperlink{group__Ecore__Con__Client__Group_ga89f79f973aeea2505078d87cb7b045b3}{ecore\+\_\+con\+\_\+client\+\_\+send}} (\mbox{\hyperlink{group__Ecore__Con__Client__Group_gae9afe250f5420f4731d1a94050275756}{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 
ECORE\+\_\+\+CON\+\_\+\+API void $\ast$ \mbox{\hyperlink{group__Ecore__Con__Client__Group_gab961e9decd8dc44e4c04f2ceb0ce2e68}{ecore\+\_\+con\+\_\+client\+\_\+del}} (\mbox{\hyperlink{group__Ecore__Con__Client__Group_gae9afe250f5420f4731d1a94050275756}{Ecore\+\_\+\+Con\+\_\+\+Client}} $\ast$cl)
\begin{DoxyCompactList}\small\item\em Closes the connection and free memory allocated to the given client. \end{DoxyCompactList}\item 
ECORE\+\_\+\+CON\+\_\+\+API void \mbox{\hyperlink{group__Ecore__Con__Client__Group_gabe69c02ac5c0ef03e322a5d34904f858}{ecore\+\_\+con\+\_\+client\+\_\+data\+\_\+set}} (\mbox{\hyperlink{group__Ecore__Con__Client__Group_gae9afe250f5420f4731d1a94050275756}{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 
ECORE\+\_\+\+CON\+\_\+\+API void $\ast$ \mbox{\hyperlink{group__Ecore__Con__Client__Group_gadacc90bc2f169308e67a3efadfa49820}{ecore\+\_\+con\+\_\+client\+\_\+data\+\_\+get}} (\mbox{\hyperlink{group__Ecore__Con__Client__Group_gae9afe250f5420f4731d1a94050275756}{Ecore\+\_\+\+Con\+\_\+\+Client}} $\ast$cl)
\begin{DoxyCompactList}\small\item\em Retrieves the data associated with the given client. \end{DoxyCompactList}\item 
ECORE\+\_\+\+CON\+\_\+\+API const char $\ast$ \mbox{\hyperlink{group__Ecore__Con__Client__Group_gab02f9ae8613aca1de53996239dd5f7ea}{ecore\+\_\+con\+\_\+client\+\_\+ip\+\_\+get}} (const \mbox{\hyperlink{group__Ecore__Con__Client__Group_gae9afe250f5420f4731d1a94050275756}{Ecore\+\_\+\+Con\+\_\+\+Client}} $\ast$cl)
\begin{DoxyCompactList}\small\item\em Gets the IP address of a client that has connected. \end{DoxyCompactList}\item 
ECORE\+\_\+\+CON\+\_\+\+API void \mbox{\hyperlink{group__Ecore__Con__Client__Group_ga8eeeb449d9af80885a26309471330de9}{ecore\+\_\+con\+\_\+client\+\_\+flush}} (\mbox{\hyperlink{group__Ecore__Con__Client__Group_gae9afe250f5420f4731d1a94050275756}{Ecore\+\_\+\+Con\+\_\+\+Client}} $\ast$cl)
\begin{DoxyCompactList}\small\item\em Flushes all pending data to the given client. \end{DoxyCompactList}\item 
ECORE\+\_\+\+CON\+\_\+\+API double \mbox{\hyperlink{group__Ecore__Con__Client__Group_gaa2a166c0e95b48ab214a5d5ea52e9cce}{ecore\+\_\+con\+\_\+client\+\_\+uptime\+\_\+get}} (const \mbox{\hyperlink{group__Ecore__Con__Client__Group_gae9afe250f5420f4731d1a94050275756}{Ecore\+\_\+\+Con\+\_\+\+Client}} $\ast$cl)
\begin{DoxyCompactList}\small\item\em Checks how long a client has been connected. \end{DoxyCompactList}\item 
ECORE\+\_\+\+CON\+\_\+\+API double \mbox{\hyperlink{group__Ecore__Con__Client__Group_ga4b92349b073af697c64626af9f724c5d}{ecore\+\_\+con\+\_\+client\+\_\+timeout\+\_\+get}} (const \mbox{\hyperlink{group__Ecore__Con__Client__Group_gae9afe250f5420f4731d1a94050275756}{Ecore\+\_\+\+Con\+\_\+\+Client}} $\ast$cl)
\begin{DoxyCompactList}\small\item\em Gets the default time after which the client will be disconnected when inactive. \end{DoxyCompactList}\item 
ECORE\+\_\+\+CON\+\_\+\+API void \mbox{\hyperlink{group__Ecore__Con__Client__Group_ga02e595c6d808c590822abd7c8e2109aa}{ecore\+\_\+con\+\_\+client\+\_\+timeout\+\_\+set}} (\mbox{\hyperlink{group__Ecore__Con__Client__Group_gae9afe250f5420f4731d1a94050275756}{Ecore\+\_\+\+Con\+\_\+\+Client}} $\ast$cl, double timeout)
\begin{DoxyCompactList}\small\item\em Sets the time after which the client will be disconnected when inactive. \end{DoxyCompactList}\item 
ECORE\+\_\+\+CON\+\_\+\+API \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Ecore__Con__Client__Group_ga9f668e92d167f19ed81d3e70c060219f}{ecore\+\_\+con\+\_\+client\+\_\+connected\+\_\+get}} (const \mbox{\hyperlink{group__Ecore__Con__Client__Group_gae9afe250f5420f4731d1a94050275756}{Ecore\+\_\+\+Con\+\_\+\+Client}} $\ast$cl)
\begin{DoxyCompactList}\small\item\em Returns whether the client is still connected. \end{DoxyCompactList}\item 
ECORE\+\_\+\+CON\+\_\+\+API int \mbox{\hyperlink{group__Ecore__Con__Client__Group_ga8aac792bcc08647c91e346255723ecdc}{ecore\+\_\+con\+\_\+client\+\_\+port\+\_\+get}} (const \mbox{\hyperlink{group__Ecore__Con__Client__Group_gae9afe250f5420f4731d1a94050275756}{Ecore\+\_\+\+Con\+\_\+\+Client}} $\ast$cl)
\begin{DoxyCompactList}\small\item\em Returns the port that the client has connected to. \end{DoxyCompactList}\item 
ECORE\+\_\+\+CON\+\_\+\+API \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$ \mbox{\hyperlink{group__Ecore__Con__Client__Group_ga70d6fe610ac62b88d14dc91ec5671bab}{ecore\+\_\+con\+\_\+client\+\_\+server\+\_\+get}} (const \mbox{\hyperlink{group__Ecore__Con__Client__Group_gae9afe250f5420f4731d1a94050275756}{Ecore\+\_\+\+Con\+\_\+\+Client}} $\ast$cl)
\begin{DoxyCompactList}\small\item\em The server the client is connected to. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{group__Ecore__Con__Client__Group_ga73487ff35e2eb7871e0cadc38e263869}\label{group__Ecore__Con__Client__Group_ga73487ff35e2eb7871e0cadc38e263869}} 
static Efl\+\_\+\+Callback\+\_\+\+Array\+\_\+\+Item $\ast$ {\bfseries \+\_\+ecore\+\_\+con\+\_\+client\+\_\+socket\+\_\+cbs} (void)
\item 
\mbox{\Hypertarget{group__Ecore__Con__Client__Group_ga6b6e9f1f162ba4899ae48611705df06a}\label{group__Ecore__Con__Client__Group_ga6b6e9f1f162ba4899ae48611705df06a}} 
static Efl\+\_\+\+Callback\+\_\+\+Array\+\_\+\+Item $\ast$ {\bfseries \+\_\+ecore\+\_\+con\+\_\+client\+\_\+socket\+\_\+ssl\+\_\+cbs} (void)
\item 
\mbox{\Hypertarget{group__Ecore__Con__Client__Group_ga965081c262ca0d3ed49e7752651133c3}\label{group__Ecore__Con__Client__Group_ga965081c262ca0d3ed49e7752651133c3}} 
static void {\bfseries \+\_\+ecore\+\_\+con\+\_\+client\+\_\+socket\+\_\+close} (\mbox{\hyperlink{group__Ecore__Con__Client__Group_gae9afe250f5420f4731d1a94050275756}{Ecore\+\_\+\+Con\+\_\+\+Client}} $\ast$cl)
\item 
\mbox{\Hypertarget{group__Ecore__Con__Client__Group_gab9696db568c3b902c50815f7108e1bec}\label{group__Ecore__Con__Client__Group_gab9696db568c3b902c50815f7108e1bec}} 
static void {\bfseries \+\_\+ecore\+\_\+con\+\_\+client\+\_\+free} (\mbox{\hyperlink{group__Ecore__Con__Client__Group_gae9afe250f5420f4731d1a94050275756}{Ecore\+\_\+\+Con\+\_\+\+Client}} $\ast$cl)
\item 
\mbox{\Hypertarget{group__Ecore__Con__Client__Group_ga1dff15d5eb707f24e109bb713afc8e17}\label{group__Ecore__Con__Client__Group_ga1dff15d5eb707f24e109bb713afc8e17}} 
static void {\bfseries \+\_\+ecore\+\_\+con\+\_\+free\+\_\+event\+\_\+client\+\_\+add} (void $\ast$data, void $\ast$event)
\item 
\mbox{\Hypertarget{group__Ecore__Con__Client__Group_gacd59dc5da9474e73c9ca5bda5551247e}\label{group__Ecore__Con__Client__Group_gacd59dc5da9474e73c9ca5bda5551247e}} 
static void {\bfseries \+\_\+ecore\+\_\+con\+\_\+post\+\_\+event\+\_\+client\+\_\+add} (\mbox{\hyperlink{group__Ecore__Con__Client__Group_gae9afe250f5420f4731d1a94050275756}{Ecore\+\_\+\+Con\+\_\+\+Client}} $\ast$cl)
\item 
\mbox{\Hypertarget{group__Ecore__Con__Client__Group_gaca3efe2ea4cb784acb8f657422d7137f}\label{group__Ecore__Con__Client__Group_gaca3efe2ea4cb784acb8f657422d7137f}} 
static void {\bfseries \+\_\+ecore\+\_\+con\+\_\+free\+\_\+event\+\_\+client\+\_\+del} (void $\ast$data, void $\ast$event)
\item 
\mbox{\Hypertarget{group__Ecore__Con__Client__Group_ga1522634702707dd9262f82b6183a97fa}\label{group__Ecore__Con__Client__Group_ga1522634702707dd9262f82b6183a97fa}} 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} {\bfseries \+\_\+ecore\+\_\+con\+\_\+post\+\_\+event\+\_\+client\+\_\+del} (\mbox{\hyperlink{group__Ecore__Con__Client__Group_gae9afe250f5420f4731d1a94050275756}{Ecore\+\_\+\+Con\+\_\+\+Client}} $\ast$cl)
\item 
\mbox{\Hypertarget{group__Ecore__Con__Client__Group_ga620d5d26b1888c34403d963e308778be}\label{group__Ecore__Con__Client__Group_ga620d5d26b1888c34403d963e308778be}} 
static void {\bfseries \+\_\+ecore\+\_\+con\+\_\+free\+\_\+event\+\_\+client\+\_\+data} (void $\ast$data, void $\ast$event)
\item 
\mbox{\Hypertarget{group__Ecore__Con__Client__Group_ga4de9394cb52fd3818731f0a7c368c803}\label{group__Ecore__Con__Client__Group_ga4de9394cb52fd3818731f0a7c368c803}} 
static void {\bfseries \+\_\+ecore\+\_\+con\+\_\+post\+\_\+event\+\_\+client\+\_\+data} (\mbox{\hyperlink{group__Ecore__Con__Client__Group_gae9afe250f5420f4731d1a94050275756}{Ecore\+\_\+\+Con\+\_\+\+Client}} $\ast$cl, \mbox{\hyperlink{group__Eina__Slice__Group_gad43ea51c6434252512a3e7305cea4af3}{Eina\+\_\+\+Rw\+\_\+\+Slice}} slice)
\item 
\mbox{\Hypertarget{group__Ecore__Con__Client__Group_ga9109c12286e23d5f27b188d42c3ac3ce}\label{group__Ecore__Con__Client__Group_ga9109c12286e23d5f27b188d42c3ac3ce}} 
static void {\bfseries \+\_\+ecore\+\_\+con\+\_\+free\+\_\+event\+\_\+client\+\_\+write} (void $\ast$data, void $\ast$event)
\item 
\mbox{\Hypertarget{group__Ecore__Con__Client__Group_ga3344c1de4a3e7e6937a011afacd7ce67}\label{group__Ecore__Con__Client__Group_ga3344c1de4a3e7e6937a011afacd7ce67}} 
static void {\bfseries \+\_\+ecore\+\_\+con\+\_\+post\+\_\+event\+\_\+client\+\_\+write} (\mbox{\hyperlink{group__Ecore__Con__Client__Group_gae9afe250f5420f4731d1a94050275756}{Ecore\+\_\+\+Con\+\_\+\+Client}} $\ast$cl, size\+\_\+t size)
\item 
\mbox{\Hypertarget{group__Ecore__Con__Client__Group_ga9d4eecfb4c92df8a31d7a615880d3573}\label{group__Ecore__Con__Client__Group_ga9d4eecfb4c92df8a31d7a615880d3573}} 
static void {\bfseries \+\_\+ecore\+\_\+con\+\_\+free\+\_\+event\+\_\+client\+\_\+error} (void $\ast$data, void $\ast$event)
\item 
\mbox{\Hypertarget{group__Ecore__Con__Client__Group_ga8447254bc04234e3ebae3a92ecd428ff}\label{group__Ecore__Con__Client__Group_ga8447254bc04234e3ebae3a92ecd428ff}} 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} {\bfseries \+\_\+ecore\+\_\+con\+\_\+post\+\_\+event\+\_\+client\+\_\+error} (\mbox{\hyperlink{group__Ecore__Con__Client__Group_gae9afe250f5420f4731d1a94050275756}{Ecore\+\_\+\+Con\+\_\+\+Client}} $\ast$cl, const char $\ast$err)
\item 
\mbox{\Hypertarget{group__Ecore__Con__Client__Group_ga405f7033fc1069fdc3ae7c73309569b1}\label{group__Ecore__Con__Client__Group_ga405f7033fc1069fdc3ae7c73309569b1}} 
static void {\bfseries \+\_\+ecore\+\_\+con\+\_\+free\+\_\+event\+\_\+client\+\_\+upgrade} (void $\ast$data, void $\ast$event)
\item 
\mbox{\Hypertarget{group__Ecore__Con__Client__Group_gadcf9670a136b8a7aa297de8b45381c08}\label{group__Ecore__Con__Client__Group_gadcf9670a136b8a7aa297de8b45381c08}} 
static void {\bfseries \+\_\+ecore\+\_\+con\+\_\+post\+\_\+event\+\_\+client\+\_\+upgrade} (\mbox{\hyperlink{group__Ecore__Con__Client__Group_gae9afe250f5420f4731d1a94050275756}{Ecore\+\_\+\+Con\+\_\+\+Client}} $\ast$cl)
\item 
\mbox{\Hypertarget{group__Ecore__Con__Client__Group_ga37ace9385f862d0ad508d976cbb3d92d}\label{group__Ecore__Con__Client__Group_ga37ace9385f862d0ad508d976cbb3d92d}} 
static void {\bfseries \+\_\+ecore\+\_\+con\+\_\+client\+\_\+socket\+\_\+progress} (void $\ast$data, const Efl\+\_\+\+Event $\ast$event)
\item 
\mbox{\Hypertarget{group__Ecore__Con__Client__Group_ga2dce83bae29ea0f438b052f4e56cfced}\label{group__Ecore__Con__Client__Group_ga2dce83bae29ea0f438b052f4e56cfced}} 
static void {\bfseries \+\_\+ecore\+\_\+con\+\_\+client\+\_\+socket\+\_\+slice\+\_\+changed} (void $\ast$data, const Efl\+\_\+\+Event $\ast$event)
\item 
\mbox{\Hypertarget{group__Ecore__Con__Client__Group_ga0b69766e6b99fa45be18b969281841c0}\label{group__Ecore__Con__Client__Group_ga0b69766e6b99fa45be18b969281841c0}} 
static void {\bfseries \+\_\+ecore\+\_\+con\+\_\+client\+\_\+socket\+\_\+read\+\_\+finished} (void $\ast$data, const Efl\+\_\+\+Event $\ast$event)
\item 
\mbox{\Hypertarget{group__Ecore__Con__Client__Group_gae3cf96a661ff4ed594736a5ecf8ba067}\label{group__Ecore__Con__Client__Group_gae3cf96a661ff4ed594736a5ecf8ba067}} 
static void {\bfseries \+\_\+ecore\+\_\+con\+\_\+client\+\_\+socket\+\_\+finished} (void $\ast$data, const Efl\+\_\+\+Event $\ast$event)
\item 
\mbox{\Hypertarget{group__Ecore__Con__Client__Group_ga9e6101049f2527cb29184f404cabd3c6}\label{group__Ecore__Con__Client__Group_ga9e6101049f2527cb29184f404cabd3c6}} 
static void {\bfseries \+\_\+ecore\+\_\+con\+\_\+client\+\_\+socket\+\_\+error} (void $\ast$data, const Efl\+\_\+\+Event $\ast$event)
\item 
\mbox{\Hypertarget{group__Ecore__Con__Client__Group_ga224d4fc79071877db049ccfc8e6b278c}\label{group__Ecore__Con__Client__Group_ga224d4fc79071877db049ccfc8e6b278c}} 
{\bfseries EFL\+\_\+\+CALLBACKS\+\_\+\+ARRAY\+\_\+\+DEFINE} (\+\_\+ecore\+\_\+con\+\_\+client\+\_\+socket\+\_\+cbs, \{ EFL\+\_\+\+IO\+\_\+\+BUFFERED\+\_\+\+STREAM\+\_\+\+EVENT\+\_\+\+PROGRESS, \+\_\+ecore\+\_\+con\+\_\+client\+\_\+socket\+\_\+progress \}, \{ EFL\+\_\+\+IO\+\_\+\+BUFFERED\+\_\+\+STREAM\+\_\+\+EVENT\+\_\+\+SLICE\+\_\+\+CHANGED, \+\_\+ecore\+\_\+con\+\_\+client\+\_\+socket\+\_\+slice\+\_\+changed \}, \{ EFL\+\_\+\+IO\+\_\+\+BUFFERED\+\_\+\+STREAM\+\_\+\+EVENT\+\_\+\+READ\+\_\+\+FINISHED, \+\_\+ecore\+\_\+con\+\_\+client\+\_\+socket\+\_\+read\+\_\+finished \}, \{ EFL\+\_\+\+IO\+\_\+\+BUFFERED\+\_\+\+STREAM\+\_\+\+EVENT\+\_\+\+FINISHED, \+\_\+ecore\+\_\+con\+\_\+client\+\_\+socket\+\_\+finished \}, \{ EFL\+\_\+\+IO\+\_\+\+BUFFERED\+\_\+\+STREAM\+\_\+\+EVENT\+\_\+\+ERROR, \+\_\+ecore\+\_\+con\+\_\+client\+\_\+socket\+\_\+error \})
\item 
\mbox{\Hypertarget{group__Ecore__Con__Client__Group_gaab1602c111e3615b83385ceeda54163f}\label{group__Ecore__Con__Client__Group_gaab1602c111e3615b83385ceeda54163f}} 
static \mbox{\hyperlink{group__Ecore__Con__Client__Group_gae9afe250f5420f4731d1a94050275756}{Ecore\+\_\+\+Con\+\_\+\+Client}} $\ast$ {\bfseries ecore\+\_\+con\+\_\+client\+\_\+add} (\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$svr, Eo $\ast$socket)
\item 
ECORE\+\_\+\+CON\+\_\+\+API int \mbox{\hyperlink{group__Ecore__Con__Client__Group_gafddf23aef03655e2f8be0cc1664b47a2}{ecore\+\_\+con\+\_\+client\+\_\+fd\+\_\+get}} (const \mbox{\hyperlink{group__Ecore__Con__Client__Group_gae9afe250f5420f4731d1a94050275756}{Ecore\+\_\+\+Con\+\_\+\+Client}} $\ast$cl)
\begin{DoxyCompactList}\small\item\em Gets the fd that the client is connected to. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{group__Ecore__Con__Client__Group_ga10aa6ae89f39102f403c283d74b0544a}\label{group__Ecore__Con__Client__Group_ga10aa6ae89f39102f403c283d74b0544a}} 
static void {\bfseries \+\_\+ecore\+\_\+con\+\_\+client\+\_\+socket\+\_\+ssl\+\_\+ready} (void $\ast$data, const Efl\+\_\+\+Event $\ast$event)
\item 
\mbox{\Hypertarget{group__Ecore__Con__Client__Group_gaeb3bd43c0c42b74e5135e90d8e6fdb49}\label{group__Ecore__Con__Client__Group_gaeb3bd43c0c42b74e5135e90d8e6fdb49}} 
static void {\bfseries \+\_\+ecore\+\_\+con\+\_\+client\+\_\+socket\+\_\+ssl\+\_\+error} (void $\ast$data, const Efl\+\_\+\+Event $\ast$event)
\item 
\mbox{\Hypertarget{group__Ecore__Con__Client__Group_gabf44963724c3aefdf398f8493e1518d2}\label{group__Ecore__Con__Client__Group_gabf44963724c3aefdf398f8493e1518d2}} 
{\bfseries EFL\+\_\+\+CALLBACKS\+\_\+\+ARRAY\+\_\+\+DEFINE} (\+\_\+ecore\+\_\+con\+\_\+client\+\_\+socket\+\_\+ssl\+\_\+cbs, \{ EFL\+\_\+\+NET\+\_\+\+SOCKET\+\_\+\+SSL\+\_\+\+EVENT\+\_\+\+SSL\+\_\+\+READY, \+\_\+ecore\+\_\+con\+\_\+client\+\_\+socket\+\_\+ssl\+\_\+ready \}, \{ EFL\+\_\+\+NET\+\_\+\+SOCKET\+\_\+\+SSL\+\_\+\+EVENT\+\_\+\+SSL\+\_\+\+ERROR, \+\_\+ecore\+\_\+con\+\_\+client\+\_\+socket\+\_\+ssl\+\_\+error \})
\item 
\mbox{\Hypertarget{group__Ecore__Con__Client__Group_gab3008b9c84ec18c112009189aea30720}\label{group__Ecore__Con__Client__Group_gab3008b9c84ec18c112009189aea30720}} 
static \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} {\bfseries \+\_\+ecore\+\_\+con\+\_\+client\+\_\+ssl\+\_\+upgrade\+\_\+job} (void $\ast$data, const \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} v, const \mbox{\hyperlink{structEina__Future}{Eina\+\_\+\+Future}} $\ast$dead)
\item 
\mbox{\Hypertarget{group__Ecore__Con__Client__Group_ga3aba00482185e6f55fa9a16321f38570}\label{group__Ecore__Con__Client__Group_ga3aba00482185e6f55fa9a16321f38570}} 
static Eo $\ast$ {\bfseries \+\_\+ecore\+\_\+con\+\_\+server\+\_\+ssl\+\_\+ctx\+\_\+create} (const \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$svr)
\item 
\mbox{\Hypertarget{group__Ecore__Con__Client__Group_gaec47a9b7afdf130cec3421e758c0f332}\label{group__Ecore__Con__Client__Group_gaec47a9b7afdf130cec3421e758c0f332}} 
static void {\bfseries \+\_\+ecore\+\_\+con\+\_\+server\+\_\+job\+\_\+schedule} (\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$svr, Eo $\ast$loop, \mbox{\hyperlink{group__Eina__Future__Callbacks_ga43d2d4c20a2f7aee2a25ada34a9cc675}{Eina\+\_\+\+Future\+\_\+\+Cb}} cb)
\item 
ECORE\+\_\+\+CON\+\_\+\+API \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Ecore__Con__Client__Group_gadadc05ec2a8a70a3b392ed938678c78b}{ecore\+\_\+con\+\_\+ssl\+\_\+client\+\_\+upgrade}} (\mbox{\hyperlink{group__Ecore__Con__Client__Group_gae9afe250f5420f4731d1a94050275756}{Ecore\+\_\+\+Con\+\_\+\+Client}} $\ast$cl, Ecore\+\_\+\+Con\+\_\+\+Type compl\+\_\+type)
\begin{DoxyCompactList}\small\item\em Upgrades a connection to a specified level of encryption. \end{DoxyCompactList}\item 
EAPI int \mbox{\hyperlink{group__Ecore__Con__Client__Group_gaad8e029c00a1a4a6097f5ff17dec3c2e}{ecore\+\_\+ipc\+\_\+ssl\+\_\+available\+\_\+get}} (void)
\begin{DoxyCompactList}\small\item\em Returns if SSL support is available. \end{DoxyCompactList}\end{DoxyCompactItemize}


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

Functions that operate on Ecore connection client objects, these are announced using ECORE\+\_\+\+CON\+\_\+\+EVENT\+\_\+\+CLIENT\+\_\+\+ADD by servers created with \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga8993f75b5a4948b6b3975575d807fb21}{ecore\+\_\+con\+\_\+server\+\_\+add()}}.

This set of functions, as explained in \mbox{\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 \mbox{\hyperlink{group__Ecore__Con__Server__Group}{Ecore Connection Server Functions}}.

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


\doxysubsection{Function Documentation}
\mbox{\Hypertarget{group__Ecore__Con__Client__Group_ga89f79f973aeea2505078d87cb7b045b3}\label{group__Ecore__Con__Client__Group_ga89f79f973aeea2505078d87cb7b045b3}} 
\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}}
\doxysubsubsection{\texorpdfstring{ecore\_con\_client\_send()}{ecore\_con\_client\_send()}}
{\footnotesize\ttfamily ECORE\+\_\+\+CON\+\_\+\+API int ecore\+\_\+con\+\_\+client\+\_\+send (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ecore__Con__Client__Group_gae9afe250f5420f4731d1a94050275756}{Ecore\+\_\+\+Con\+\_\+\+Client}} $\ast$}]{cl,  }\item[{const void $\ast$}]{data,  }\item[{int}]{size }\end{DoxyParamCaption})}



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 \mbox{\hyperlink{group__Ecore__Con__Client__Group_ga8eeeb449d9af80885a26309471330de9}{ecore\+\_\+con\+\_\+client\+\_\+flush()}} after this one.

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

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


References \mbox{\hyperlink{group__Eina__Error__Group_gac420af42486bcbb879c4be67eacc6c2a}{eina\+\_\+error\+\_\+msg\+\_\+get()}}, \mbox{\hyperlink{group__Eina__Safety__Checks__Group_gab2b07061fc6500dedd9cd41c8d16f95d}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN\+\_\+\+VAL}}, \mbox{\hyperlink{group__Eina__Safety__Checks__Group_ga1dbe0d7e3c6b10f4bd49a2a132d73269}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+TRUE\+\_\+\+RETURN\+\_\+\+VAL}}, \mbox{\hyperlink{struct__Eina__Slice_a814bda14dd4ee838595cdc596c37b56c}{\+\_\+\+Eina\+\_\+\+Slice\+::len}}, and \mbox{\hyperlink{struct__Eina__Slice_a181517cb6ab94d2b536f412dc74b39c1}{\+\_\+\+Eina\+\_\+\+Slice\+::mem}}.

\mbox{\Hypertarget{group__Ecore__Con__Client__Group_gab961e9decd8dc44e4c04f2ceb0ce2e68}\label{group__Ecore__Con__Client__Group_gab961e9decd8dc44e4c04f2ceb0ce2e68}} 
\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}}
\doxysubsubsection{\texorpdfstring{ecore\_con\_client\_del()}{ecore\_con\_client\_del()}}
{\footnotesize\ttfamily ECORE\+\_\+\+CON\+\_\+\+API void $\ast$ ecore\+\_\+con\+\_\+client\+\_\+del (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ecore__Con__Client__Group_gae9afe250f5420f4731d1a94050275756}{Ecore\+\_\+\+Con\+\_\+\+Client}} $\ast$}]{cl }\end{DoxyParamCaption})}



Closes the connection and free 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
\mbox{\hyperlink{ecore_con_server_example_8c-example}{ecore\+\_\+con\+\_\+server\+\_\+example.\+c}}, and \mbox{\hyperlink{ecore_con_server_simple_example_8c-example}{ecore\+\_\+con\+\_\+server\+\_\+simple\+\_\+example.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__Ecore__Con__Client__Group_gabe69c02ac5c0ef03e322a5d34904f858}\label{group__Ecore__Con__Client__Group_gabe69c02ac5c0ef03e322a5d34904f858}} 
\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}}
\doxysubsubsection{\texorpdfstring{ecore\_con\_client\_data\_set()}{ecore\_con\_client\_data\_set()}}
{\footnotesize\ttfamily ECORE\+\_\+\+CON\+\_\+\+API void ecore\+\_\+con\+\_\+client\+\_\+data\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ecore__Con__Client__Group_gae9afe250f5420f4731d1a94050275756}{Ecore\+\_\+\+Con\+\_\+\+Client}} $\ast$}]{cl,  }\item[{const void $\ast$}]{data }\end{DoxyParamCaption})}



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
\mbox{\hyperlink{ecore_con_server_simple_example_8c-example}{ecore\+\_\+con\+\_\+server\+\_\+simple\+\_\+example.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__Ecore__Con__Client__Group_gadacc90bc2f169308e67a3efadfa49820}\label{group__Ecore__Con__Client__Group_gadacc90bc2f169308e67a3efadfa49820}} 
\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}}
\doxysubsubsection{\texorpdfstring{ecore\_con\_client\_data\_get()}{ecore\_con\_client\_data\_get()}}
{\footnotesize\ttfamily ECORE\+\_\+\+CON\+\_\+\+API void $\ast$ ecore\+\_\+con\+\_\+client\+\_\+data\+\_\+get (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ecore__Con__Client__Group_gae9afe250f5420f4731d1a94050275756}{Ecore\+\_\+\+Con\+\_\+\+Client}} $\ast$}]{cl }\end{DoxyParamCaption})}



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
\mbox{\hyperlink{ecore_con_server_simple_example_8c-example}{ecore\+\_\+con\+\_\+server\+\_\+simple\+\_\+example.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__Ecore__Con__Client__Group_gab02f9ae8613aca1de53996239dd5f7ea}\label{group__Ecore__Con__Client__Group_gab02f9ae8613aca1de53996239dd5f7ea}} 
\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}}
\doxysubsubsection{\texorpdfstring{ecore\_con\_client\_ip\_get()}{ecore\_con\_client\_ip\_get()}}
{\footnotesize\ttfamily ECORE\+\_\+\+CON\+\_\+\+API const char $\ast$ ecore\+\_\+con\+\_\+client\+\_\+ip\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Ecore__Con__Client__Group_gae9afe250f5420f4731d1a94050275756}{Ecore\+\_\+\+Con\+\_\+\+Client}} $\ast$}]{cl }\end{DoxyParamCaption})}



Gets the IP 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 IP address of the connected client in the form \char`\"{}\+XXX.\+YYY.\+ZZZ.\+AAA\char`\"{} IP 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 IP is known {\ttfamily NULL} is returned. \begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{ecore_con_server_example_8c-example}{ecore\+\_\+con\+\_\+server\+\_\+example.\+c}}, and \mbox{\hyperlink{ecore_con_server_simple_example_8c-example}{ecore\+\_\+con\+\_\+server\+\_\+simple\+\_\+example.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__Ecore__Con__Client__Group_ga8eeeb449d9af80885a26309471330de9}\label{group__Ecore__Con__Client__Group_ga8eeeb449d9af80885a26309471330de9}} 
\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}}
\doxysubsubsection{\texorpdfstring{ecore\_con\_client\_flush()}{ecore\_con\_client\_flush()}}
{\footnotesize\ttfamily ECORE\+\_\+\+CON\+\_\+\+API void ecore\+\_\+con\+\_\+client\+\_\+flush (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ecore__Con__Client__Group_gae9afe250f5420f4731d1a94050275756}{Ecore\+\_\+\+Con\+\_\+\+Client}} $\ast$}]{cl }\end{DoxyParamCaption})}



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}
\mbox{\hyperlink{group__Ecore__Con__Client__Group_ga89f79f973aeea2505078d87cb7b045b3}{ecore\+\_\+con\+\_\+client\+\_\+send()}} 

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


References \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}}, and \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}}.



Referenced by \mbox{\hyperlink{group__Ecore__Con__SSL__Group_ga91cb5d6868be1c3578ce21c7f786de3a}{ecore\+\_\+con\+\_\+ssl\+\_\+client\+\_\+upgrade()}}.

\mbox{\Hypertarget{group__Ecore__Con__Client__Group_gaa2a166c0e95b48ab214a5d5ea52e9cce}\label{group__Ecore__Con__Client__Group_gaa2a166c0e95b48ab214a5d5ea52e9cce}} 
\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}}
\doxysubsubsection{\texorpdfstring{ecore\_con\_client\_uptime\_get()}{ecore\_con\_client\_uptime\_get()}}
{\footnotesize\ttfamily ECORE\+\_\+\+CON\+\_\+\+API double ecore\+\_\+con\+\_\+client\+\_\+uptime\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Ecore__Con__Client__Group_gae9afe250f5420f4731d1a94050275756}{Ecore\+\_\+\+Con\+\_\+\+Client}} $\ast$}]{cl }\end{DoxyParamCaption})}



Checks 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
\mbox{\hyperlink{ecore_con_server_simple_example_8c-example}{ecore\+\_\+con\+\_\+server\+\_\+simple\+\_\+example.\+c}}.\end{Desc}


References \mbox{\hyperlink{group__Ecore__Time__Group_ga98f2439b5d3e7114a75bfe2f0c22c4e9}{ecore\+\_\+time\+\_\+get()}}.

\mbox{\Hypertarget{group__Ecore__Con__Client__Group_ga4b92349b073af697c64626af9f724c5d}\label{group__Ecore__Con__Client__Group_ga4b92349b073af697c64626af9f724c5d}} 
\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}}
\doxysubsubsection{\texorpdfstring{ecore\_con\_client\_timeout\_get()}{ecore\_con\_client\_timeout\_get()}}
{\footnotesize\ttfamily ECORE\+\_\+\+CON\+\_\+\+API double ecore\+\_\+con\+\_\+client\+\_\+timeout\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Ecore__Con__Client__Group_gae9afe250f5420f4731d1a94050275756}{Ecore\+\_\+\+Con\+\_\+\+Client}} $\ast$}]{cl }\end{DoxyParamCaption})}



Gets 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 \texorpdfstring{$<$}{<} 1 means the idle timeout is disabled.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Ecore__Con__Client__Group_ga02e595c6d808c590822abd7c8e2109aa}{ecore\+\_\+con\+\_\+client\+\_\+timeout\+\_\+set()}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__Ecore__Con__Client__Group_ga02e595c6d808c590822abd7c8e2109aa}\label{group__Ecore__Con__Client__Group_ga02e595c6d808c590822abd7c8e2109aa}} 
\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}}
\doxysubsubsection{\texorpdfstring{ecore\_con\_client\_timeout\_set()}{ecore\_con\_client\_timeout\_set()}}
{\footnotesize\ttfamily ECORE\+\_\+\+CON\+\_\+\+API void ecore\+\_\+con\+\_\+client\+\_\+timeout\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ecore__Con__Client__Group_gae9afe250f5420f4731d1a94050275756}{Ecore\+\_\+\+Con\+\_\+\+Client}} $\ast$}]{cl,  }\item[{double}]{timeout }\end{DoxyParamCaption})}



Sets 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 \texorpdfstring{$<$}{<} 1 disables the idle timeout.

This timeout is not affected by the one set by \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga82e6c66eef006a627468f2ca4e619641}{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 \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga82e6c66eef006a627468f2ca4e619641}{ecore\+\_\+con\+\_\+server\+\_\+timeout\+\_\+set()}} is used on the server.

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

\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga82e6c66eef006a627468f2ca4e619641}{ecore\+\_\+con\+\_\+server\+\_\+timeout\+\_\+set()}} 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{ecore_con_server_simple_example_8c-example}{ecore\+\_\+con\+\_\+server\+\_\+simple\+\_\+example.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__Ecore__Con__Client__Group_ga9f668e92d167f19ed81d3e70c060219f}\label{group__Ecore__Con__Client__Group_ga9f668e92d167f19ed81d3e70c060219f}} 
\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}}
\doxysubsubsection{\texorpdfstring{ecore\_con\_client\_connected\_get()}{ecore\_con\_client\_connected\_get()}}
{\footnotesize\ttfamily ECORE\+\_\+\+CON\+\_\+\+API \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} ecore\+\_\+con\+\_\+client\+\_\+connected\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Ecore__Con__Client__Group_gae9afe250f5420f4731d1a94050275756}{Ecore\+\_\+\+Con\+\_\+\+Client}} $\ast$}]{cl }\end{DoxyParamCaption})}



Returns whether the client is still connected. 


\begin{DoxyParams}{Parameters}
{\em cl} & The given client. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily EINA\+\_\+\+TRUE} if connected, {\ttfamily EINA\+\_\+\+FALSE} otherwise. 
\end{DoxyReturn}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{ecore_con_server_simple_example_8c-example}{ecore\+\_\+con\+\_\+server\+\_\+simple\+\_\+example.\+c}}.\end{Desc}


References \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}}.

\mbox{\Hypertarget{group__Ecore__Con__Client__Group_ga8aac792bcc08647c91e346255723ecdc}\label{group__Ecore__Con__Client__Group_ga8aac792bcc08647c91e346255723ecdc}} 
\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}}
\doxysubsubsection{\texorpdfstring{ecore\_con\_client\_port\_get()}{ecore\_con\_client\_port\_get()}}
{\footnotesize\ttfamily ECORE\+\_\+\+CON\+\_\+\+API int ecore\+\_\+con\+\_\+client\+\_\+port\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Ecore__Con__Client__Group_gae9afe250f5420f4731d1a94050275756}{Ecore\+\_\+\+Con\+\_\+\+Client}} $\ast$}]{cl }\end{DoxyParamCaption})}



Returns 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 {\ttfamily -\/1} on error Use this function to return the port on which a given client has connected. 
\end{DoxyReturn}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{ecore_con_server_simple_example_8c-example}{ecore\+\_\+con\+\_\+server\+\_\+simple\+\_\+example.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__Ecore__Con__Client__Group_ga70d6fe610ac62b88d14dc91ec5671bab}\label{group__Ecore__Con__Client__Group_ga70d6fe610ac62b88d14dc91ec5671bab}} 
\index{Ecore Connection Client Functions@{Ecore Connection Client Functions}!ecore\_con\_client\_server\_get@{ecore\_con\_client\_server\_get}}
\index{ecore\_con\_client\_server\_get@{ecore\_con\_client\_server\_get}!Ecore Connection Client Functions@{Ecore Connection Client Functions}}
\doxysubsubsection{\texorpdfstring{ecore\_con\_client\_server\_get()}{ecore\_con\_client\_server\_get()}}
{\footnotesize\ttfamily ECORE\+\_\+\+CON\+\_\+\+API \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$ ecore\+\_\+con\+\_\+client\+\_\+server\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Ecore__Con__Client__Group_gae9afe250f5420f4731d1a94050275756}{Ecore\+\_\+\+Con\+\_\+\+Client}} $\ast$}]{cl }\end{DoxyParamCaption})}



The server the client is connected to. 


\begin{DoxyParams}{Parameters}
{\em cl} & The client \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The server the client is connected to. 
\end{DoxyReturn}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{ecore_con_server_simple_example_8c-example}{ecore\+\_\+con\+\_\+server\+\_\+simple\+\_\+example.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__Ecore__Con__Client__Group_gafddf23aef03655e2f8be0cc1664b47a2}\label{group__Ecore__Con__Client__Group_gafddf23aef03655e2f8be0cc1664b47a2}} 
\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}}
\doxysubsubsection{\texorpdfstring{ecore\_con\_client\_fd\_get()}{ecore\_con\_client\_fd\_get()}}
{\footnotesize\ttfamily ECORE\+\_\+\+CON\+\_\+\+API int ecore\+\_\+con\+\_\+client\+\_\+fd\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Ecore__Con__Client__Group_gae9afe250f5420f4731d1a94050275756}{Ecore\+\_\+\+Con\+\_\+\+Client}} $\ast$}]{cl }\end{DoxyParamCaption})}



Gets 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 {\ttfamily -\/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 REALLY know what you are doing. \begin{DoxySince}{Since}
1.\+1 
\end{DoxySince}
\mbox{\Hypertarget{group__Ecore__Con__Client__Group_gadadc05ec2a8a70a3b392ed938678c78b}\label{group__Ecore__Con__Client__Group_gadadc05ec2a8a70a3b392ed938678c78b}} 
\index{Ecore Connection Client Functions@{Ecore Connection Client Functions}!ecore\_con\_ssl\_client\_upgrade@{ecore\_con\_ssl\_client\_upgrade}}
\index{ecore\_con\_ssl\_client\_upgrade@{ecore\_con\_ssl\_client\_upgrade}!Ecore Connection Client Functions@{Ecore Connection Client Functions}}
\doxysubsubsection{\texorpdfstring{ecore\_con\_ssl\_client\_upgrade()}{ecore\_con\_ssl\_client\_upgrade()}}
{\footnotesize\ttfamily ECORE\+\_\+\+CON\+\_\+\+API \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} ecore\+\_\+con\+\_\+ssl\+\_\+client\+\_\+upgrade (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ecore__Con__Client__Group_gae9afe250f5420f4731d1a94050275756}{Ecore\+\_\+\+Con\+\_\+\+Client}} $\ast$}]{cl,  }\item[{Ecore\+\_\+\+Con\+\_\+\+Type}]{ssl\+\_\+type }\end{DoxyParamCaption})}



Upgrades a connection to a specified level of encryption. 

Use this function to begin an SSL handshake on a connection (STARTTLS or similar). Once the upgrade has been completed, an ECORE\+\_\+\+CON\+\_\+\+EVENT\+\_\+\+CLIENT\+\_\+\+UPGRADE event will be emitted. The connection should be treated as disconnected until the next event. 
\begin{DoxyParams}{Parameters}
{\em cl} & The client object. \\
\hline
{\em ssl\+\_\+type} & The SSL connection type (ONLY). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily EINA\+\_\+\+FALSE} if the connection cannot be upgraded, otherwise {\ttfamily EINA\+\_\+\+TRUE}. 
\end{DoxyReturn}
\begin{DoxyWarning}{Warning}
Setting a wrong value for {\ttfamily ssl\+\_\+type} WILL mess up your program. 
\end{DoxyWarning}
\begin{DoxySince}{Since}
1.\+1 
\end{DoxySince}


References \mbox{\hyperlink{group__Ecore__Animator__Group_ga2981cf0a663650e0457d18a7ba18a6ad}{ecore\+\_\+animator\+\_\+frametime\+\_\+get()}}, \mbox{\hyperlink{group__Ecore__Con__Client__Group_ga8eeeb449d9af80885a26309471330de9}{ecore\+\_\+con\+\_\+client\+\_\+flush()}}, \mbox{\hyperlink{group__Ecore__Time__Group_ga98f2439b5d3e7114a75bfe2f0c22c4e9}{ecore\+\_\+time\+\_\+get()}}, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}}, \mbox{\hyperlink{group__Eina__Future_ga9f4948790f1f84de93ba8195520d4a92}{eina\+\_\+future\+\_\+then}}, \mbox{\hyperlink{group__Eina__Safety__Checks__Group_gae7cf7b1d66fa9022242e09fd53c06bb2}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+FALSE\+\_\+\+RETURN\+\_\+\+VAL}}, \mbox{\hyperlink{group__Eina__Safety__Checks__Group_gab2b07061fc6500dedd9cd41c8d16f95d}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN\+\_\+\+VAL}}, \mbox{\hyperlink{group__Eina__Safety__Checks__Group_ga1dbe0d7e3c6b10f4bd49a2a132d73269}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+TRUE\+\_\+\+RETURN\+\_\+\+VAL}}, and \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}}.

\mbox{\Hypertarget{group__Ecore__Con__Client__Group_gaad8e029c00a1a4a6097f5ff17dec3c2e}\label{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}}
\doxysubsubsection{\texorpdfstring{ecore\_ipc\_ssl\_available\_get()}{ecore\_ipc\_ssl\_available\_get()}}
{\footnotesize\ttfamily EAPI int ecore\+\_\+ipc\+\_\+ssl\+\_\+available\+\_\+get (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Returns if SSL support is available. 

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


References \mbox{\hyperlink{group__Ecore__Con__SSL__Group_gafaeeafc2a39aeef1b9497d5eb5fe9055}{ecore\+\_\+con\+\_\+ssl\+\_\+available\+\_\+get()}}.

