\hypertarget{group__Ecore__Con__Server__Group}{}\section{Ecore Connection Server Functions}
\label{group__Ecore__Con__Server__Group}\index{Ecore Connection Server Functions@{Ecore Connection Server Functions}}


This group of functions is applied to an \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} object.  


\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}\label{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}} 
typedef struct \+\_\+\+Ecore\+\_\+\+Con\+\_\+\+Server \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}}
\begin{DoxyCompactList}\small\item\em Used to provide legacy A\+P\+I/\+A\+BI compatibility with non-\/\+Eo applications. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} char $\ast$ \mbox{\hyperlink{group__Ecore__Con__Server__Group_gadbc7855666abc3175fbba9bcf1aa5f6b}{ecore\+\_\+con\+\_\+local\+\_\+path\+\_\+new}} (\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} is\+\_\+system, const char $\ast$name, int port)
\begin{DoxyCompactList}\small\item\em Creates a local path to connect the socket. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$ \mbox{\hyperlink{group__Ecore__Con__Server__Group_gaf450c4039d5e61d4f7a58d7b67efc1e8}{ecore\+\_\+con\+\_\+server\+\_\+add}} (Ecore\+\_\+\+Con\+\_\+\+Type type, const char $\ast$name, int port, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Creates a server to listen for connections. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$ \mbox{\hyperlink{group__Ecore__Con__Server__Group_gae3d7391f7da5e0f748d7b6804d010b2f}{ecore\+\_\+con\+\_\+server\+\_\+connect}} (Ecore\+\_\+\+Con\+\_\+\+Type type, const char $\ast$name, int port, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Creates a connection to the specified server and return an associated object. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void $\ast$ \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga79c76b9f725ceda216e9c7e5caf6cbd9}{ecore\+\_\+con\+\_\+server\+\_\+del}} (\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$svr)
\begin{DoxyCompactList}\small\item\em Closes the connection and free the given server. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} const char $\ast$ \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga8fd712100ae1842b58695e54f78f0e78}{ecore\+\_\+con\+\_\+server\+\_\+name\+\_\+get}} (const \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$svr)
\begin{DoxyCompactList}\small\item\em Retrieves the name of server. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void $\ast$ \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga0a03ab73a105ad9a17265966f5683625}{ecore\+\_\+con\+\_\+server\+\_\+data\+\_\+get}} (\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$svr)
\begin{DoxyCompactList}\small\item\em Retrieves the data associated with the given server. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void $\ast$ \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga09ee7d7908fb1588740b19ba22d7c29d}{ecore\+\_\+con\+\_\+server\+\_\+data\+\_\+set}} (\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$svr, void $\ast$data)
\begin{DoxyCompactList}\small\item\em Sets the data associated with the given server. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga68bd9a81d91669aa6c85e41460acb100}{ecore\+\_\+con\+\_\+server\+\_\+connected\+\_\+get}} (const \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$svr)
\begin{DoxyCompactList}\small\item\em Retrieves whether the given server is currently connected. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} int \mbox{\hyperlink{group__Ecore__Con__Server__Group_gac21ef0f2db46b32042160b83534138f9}{ecore\+\_\+con\+\_\+server\+\_\+port\+\_\+get}} (const \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$svr)
\begin{DoxyCompactList}\small\item\em Retrieves the server port in use. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} double \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga1f7c1040e60e9e9a53a9a01f70aa52b3}{ecore\+\_\+con\+\_\+server\+\_\+uptime\+\_\+get}} (const \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$svr)
\begin{DoxyCompactList}\small\item\em Checks how long a server has been connected. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} int \mbox{\hyperlink{group__Ecore__Con__Server__Group_gadf16abc2d4fc16a8b65709eab2cd8337}{ecore\+\_\+con\+\_\+server\+\_\+send}} (\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$svr, const void $\ast$data, int size)
\begin{DoxyCompactList}\small\item\em Sends the given data to the given server. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Ecore__Con__Server__Group_gabaef36c991be8922766611c75372ced4}{ecore\+\_\+con\+\_\+server\+\_\+client\+\_\+limit\+\_\+set}} (\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$svr, int client\+\_\+limit, char reject\+\_\+excess\+\_\+clients)
\begin{DoxyCompactList}\small\item\em Sets a limit on the number of clients that can be handled concurrently by the given server, and a policy on what to do if excess clients try to connect. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} const \mbox{\hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List}} $\ast$ \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga8bde40f085e645920d89f94824b542ed}{ecore\+\_\+con\+\_\+server\+\_\+clients\+\_\+get}} (const \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$svr)
\begin{DoxyCompactList}\small\item\em Retrieves the current list of clients. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} const char $\ast$ \mbox{\hyperlink{group__Ecore__Con__Server__Group_gaea2a907ae4ca478a360928fd16654d45}{ecore\+\_\+con\+\_\+server\+\_\+ip\+\_\+get}} (const \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$svr)
\begin{DoxyCompactList}\small\item\em Gets the IP address of a server that has been connected to. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga3ddb6c88484b59a1f5a5bacb8b6e60fe}{ecore\+\_\+con\+\_\+server\+\_\+flush}} (\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$svr)
\begin{DoxyCompactList}\small\item\em Flushes all pending data to the given server. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga468eec82ada0234b6ea2b5b8d6e25407}{ecore\+\_\+con\+\_\+server\+\_\+timeout\+\_\+set}} (\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$svr, double timeout)
\begin{DoxyCompactList}\small\item\em Sets the default time after which an inactive client will be disconnected. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} double \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga50906ed9ec7845aa3bfe21998b646345}{ecore\+\_\+con\+\_\+server\+\_\+timeout\+\_\+get}} (const \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$svr)
\begin{DoxyCompactList}\small\item\em Gets the default time after which an inactive client will be disconnected. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} int \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga1a97c1a6eafdf856643b586729de00b5}{ecore\+\_\+con\+\_\+server\+\_\+fd\+\_\+get}} (const \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$svr)
\begin{DoxyCompactList}\small\item\em Gets the fd that the server is connected to. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} int \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga43decb7ba52a2b14cfa563b60659491c}{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__Server__Group_ga69d4027c8574be426402b9ef58d4987d}\label{group__Ecore__Con__Server__Group_ga69d4027c8574be426402b9ef58d4987d}} 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} {\bfseries \+\_\+ecore\+\_\+con\+\_\+server\+\_\+server\+\_\+set} (\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$svr, \mbox{\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo}} $\ast$server)
\item 
\mbox{\Hypertarget{group__Ecore__Con__Server__Group_gadc1c287e88a31994e9c888901d18cc65}\label{group__Ecore__Con__Server__Group_gadc1c287e88a31994e9c888901d18cc65}} 
static void {\bfseries \+\_\+ecore\+\_\+con\+\_\+server\+\_\+server\+\_\+ssl\+\_\+job} (void $\ast$data, const \mbox{\hyperlink{struct__Efl__Event}{Efl\+\_\+\+Event}} $\ast$event)
\item 
static void \mbox{\hyperlink{group__Ecore__Con__Server__Group_gadd59943d7045f321c68a48479b01c5d8}{\+\_\+ecore\+\_\+con\+\_\+server\+\_\+proxy\+\_\+apply}} (\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$svr, const \mbox{\hyperlink{group__Ecore__Con__Socks__Group_ga8d73843280aa03c57d1266c9b5193264}{Ecore\+\_\+\+Con\+\_\+\+Socks}} $\ast$socks)
\begin{DoxyCompactList}\small\item\em convert {\itshape socks} to proxy U\+RL string and apply using efl\+\_\+net\+\_\+dialer\+\_\+proxy\+\_\+set(). \end{DoxyCompactList}\item 
\mbox{\Hypertarget{group__Ecore__Con__Server__Group_gabfe298b2d788f233e1e8204143f703d4}\label{group__Ecore__Con__Server__Group_gabfe298b2d788f233e1e8204143f703d4}} 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} {\bfseries \+\_\+ecore\+\_\+con\+\_\+server\+\_\+dialer\+\_\+set} (\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$svr, \mbox{\hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo}} $\ast$dialer)
\item 
\mbox{\Hypertarget{group__Ecore__Con__Server__Group_gaf92d340c890b01bf21506e69ff1de2e6}\label{group__Ecore__Con__Server__Group_gaf92d340c890b01bf21506e69ff1de2e6}} 
static void {\bfseries \+\_\+ecore\+\_\+con\+\_\+server\+\_\+dialer\+\_\+ssl\+\_\+job} (void $\ast$data, const \mbox{\hyperlink{struct__Efl__Event}{Efl\+\_\+\+Event}} $\ast$event)
\item 
\mbox{\Hypertarget{group__Ecore__Con__Server__Group_ga6cddc88dc612bae553cac262d7f784db}\label{group__Ecore__Con__Server__Group_ga6cddc88dc612bae553cac262d7f784db}} 
static void {\bfseries \+\_\+ecore\+\_\+con\+\_\+server\+\_\+dialer\+\_\+ssl\+\_\+upgrade\+\_\+job} (void $\ast$data, const \mbox{\hyperlink{struct__Efl__Event}{Efl\+\_\+\+Event}} $\ast$event)
\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga3e2cc9dc19a76ed7d0cd69c08b2482d5}{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+cert\+\_\+add}} (\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$svr, const char $\ast$cert)
\begin{DoxyCompactList}\small\item\em Adds an S\+SL certificate for use in ecore\+\_\+con functions. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga415c62e77320fcdcb75dcb4cc11d9055}{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+privkey\+\_\+add}} (\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$svr, const char $\ast$privkey)
\begin{DoxyCompactList}\small\item\em Adds an S\+SL private key for use in ecore\+\_\+con functions. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Ecore__Con__Server__Group_gaaf2eb8317988619f42d79f64bbf3d37e}{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+crl\+\_\+add}} (\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$svr, const char $\ast$crl)
\begin{DoxyCompactList}\small\item\em Adds an S\+SL C\+RL for use in ecore\+\_\+con functions. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Ecore__Con__Server__Group_gadc5bbd38449d58f91e988ac7f29e4b08}{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+cafile\+\_\+add}} (\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$svr, const char $\ast$cafile)
\begin{DoxyCompactList}\small\item\em Adds an S\+SL CA file for use in ecore\+\_\+con functions. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga72320d4fd96ea97997850d1fc32a88b7}{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+verify}} (\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$svr)
\begin{DoxyCompactList}\small\item\em Enables certificate verification on a server object. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga6ceab74f3cdf03a7485acddda01ebd17}{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+verify\+\_\+basic}} (\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$svr)
\begin{DoxyCompactList}\small\item\em Enables hostname-\/based certificate verification on a server object. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Ecore__Con__Server__Group_gab5289df02f73e8342ae66002b4bb779b}{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+verify\+\_\+name\+\_\+set}} (\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$svr, const char $\ast$name)
\begin{DoxyCompactList}\small\item\em Sets the hostname to verify against in certificate verification. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} const char $\ast$ \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga8b309716785644c47b0553db7a5d1c0a}{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+verify\+\_\+name\+\_\+get}} (\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$svr)
\begin{DoxyCompactList}\small\item\em Gets the hostname to verify against in certificate verification. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Ecore__Con__Server__Group_gadf006c82929e4bc6cb1cef4f6b7fcbb4}{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+upgrade}} (\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$svr, Ecore\+\_\+\+Con\+\_\+\+Type compl\+\_\+type)
\begin{DoxyCompactList}\small\item\em Upgrades a connection to a specified level of encryption. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
This group of functions is applied to an \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} object. 

Functions that operate on Ecore server objects.

It doesn\textquotesingle{}t mean that they should be used in the server application, but on the server object. In fact, most of them should be used in the client application, when retrieving information or sending data.

Setting up a server is very simple\+: you just need to start it with \mbox{\hyperlink{group__Ecore__Con__Server__Group_gaf450c4039d5e61d4f7a58d7b67efc1e8}{ecore\+\_\+con\+\_\+server\+\_\+add()}} and setup some callbacks to the events \mbox{\hyperlink{group__Ecore__Con__Events__Group_ga2ccb9d84c4e5480a787e4672af3e353f}{E\+C\+O\+R\+E\+\_\+\+C\+O\+N\+\_\+\+E\+V\+E\+N\+T\+\_\+\+C\+L\+I\+E\+N\+T\+\_\+\+A\+DD}}, \mbox{\hyperlink{group__Ecore__Con__Events__Group_ga0daddd73ab2ab92cbfd91f50ea344e12}{E\+C\+O\+R\+E\+\_\+\+C\+O\+N\+\_\+\+E\+V\+E\+N\+T\+\_\+\+C\+L\+I\+E\+N\+T\+\_\+\+D\+EL}} and \mbox{\hyperlink{group__Ecore__Con__Events__Group_gafb9ce301001338915a45969e4d11d016}{E\+C\+O\+R\+E\+\_\+\+C\+O\+N\+\_\+\+E\+V\+E\+N\+T\+\_\+\+C\+L\+I\+E\+N\+T\+\_\+\+D\+A\+TA}}, that will be called when a client is communicating with the server\+:


\begin{DoxyCode}
\textcolor{keywordflow}{if} (!(svr = \mbox{\hyperlink{group__Ecore__Con__Server__Group_gaf450c4039d5e61d4f7a58d7b67efc1e8}{ecore\_con\_server\_add}}(ECORE\_CON\_REMOTE\_TCP, \textcolor{stringliteral}{"127.0.0.1"}, 8080, NULL)))
  exit(1);

\mbox{\hyperlink{group__Ecore__Event__Group_gae75b0b1b2c50e73b8e42afc628b00a62}{ecore\_event\_handler\_add}}(\mbox{\hyperlink{group__Ecore__Con__Events__Group_ga2ccb9d84c4e5480a787e4672af3e353f}{ECORE\_CON\_EVENT\_CLIENT\_ADD}}, 
      \_add\_cb, NULL);
\mbox{\hyperlink{group__Ecore__Event__Group_gae75b0b1b2c50e73b8e42afc628b00a62}{ecore\_event\_handler\_add}}(\mbox{\hyperlink{group__Ecore__Con__Events__Group_ga0daddd73ab2ab92cbfd91f50ea344e12}{ECORE\_CON\_EVENT\_CLIENT\_DEL}}, 
      \_del\_cb, NULL);
\mbox{\hyperlink{group__Ecore__Event__Group_gae75b0b1b2c50e73b8e42afc628b00a62}{ecore\_event\_handler\_add}}(\mbox{\hyperlink{group__Ecore__Con__Events__Group_gafb9ce301001338915a45969e4d11d016}{ECORE\_CON\_EVENT\_CLIENT\_DATA}}, 
      \_data\_cb, NULL);

\mbox{\hyperlink{group__Ecore__Main__Loop__Group_gaf103b9f668bb3e4fed12e52c6180132d}{ecore\_main\_loop\_begin}}();
\end{DoxyCode}


The function \mbox{\hyperlink{group__Ecore__Con__Server__Group_gae3d7391f7da5e0f748d7b6804d010b2f}{ecore\+\_\+con\+\_\+server\+\_\+connect()}} can be used to write a client that connects to a server. The resulting code will be very similar to the server code\+:


\begin{DoxyCode}
\textcolor{keywordflow}{if} (!(svr = \mbox{\hyperlink{group__Ecore__Con__Server__Group_gae3d7391f7da5e0f748d7b6804d010b2f}{ecore\_con\_server\_connect}}(ECORE\_CON\_REMOTE\_TCP, \textcolor{stringliteral}{"127.0.0.1"}, 8080, NULL)
      ))
  exit(1);

\mbox{\hyperlink{group__Ecore__Event__Group_gae75b0b1b2c50e73b8e42afc628b00a62}{ecore\_event\_handler\_add}}(\mbox{\hyperlink{group__Ecore__Con__Events__Group_ga4eed60012259c24f9ac75852c5ec1950}{ECORE\_CON\_EVENT\_SERVER\_ADD}}, 
      \_add\_cb, NULL);
\mbox{\hyperlink{group__Ecore__Event__Group_gae75b0b1b2c50e73b8e42afc628b00a62}{ecore\_event\_handler\_add}}(\mbox{\hyperlink{group__Ecore__Con__Events__Group_gabf1abac1d209506c2813837e36dfe37b}{ECORE\_CON\_EVENT\_SERVER\_DEL}}, 
      \_del\_cb, NULL);
\mbox{\hyperlink{group__Ecore__Event__Group_gae75b0b1b2c50e73b8e42afc628b00a62}{ecore\_event\_handler\_add}}(\mbox{\hyperlink{group__Ecore__Con__Events__Group_ga4bd54e9f3c04f7d601bd15b2e109f050}{ECORE\_CON\_EVENT\_SERVER\_DATA}}, 
      \_data\_cb, NULL);

\mbox{\hyperlink{group__Ecore__Main__Loop__Group_gaf103b9f668bb3e4fed12e52c6180132d}{ecore\_main\_loop\_begin}}();
\end{DoxyCode}


After these two pieces of code are executed, respectively, in the server and client code, the server will be up and running and the client will try to connect to it. The connection, with its subsequent messages being sent from server to client and client to server, can be represented in the following sequence diagram\+:



 
\begin{DoxyImageNoCaption}
  \mbox{\includegraphics[width=\textwidth]{ecore_con-client-server}}
\end{DoxyImageNoCaption}


Please notice the important difference between these two codes\+: the first is used for writing a {\bfseries server}, while the second should be used for writing a {\bfseries client}.

A reference for the {\ttfamily client} functions can be found at \mbox{\hyperlink{group__Ecore__Con__Client__Group}{Ecore Connection Client Functions}}.

Examples of usage for this A\+PI can be found here\+: \begin{DoxyItemize}
\item \mbox{\hyperlink{ecore_con_server_simple_example_c}{Ecore\+\_\+\+Con -\/ Creating a server}} \item \mbox{\hyperlink{ecore_con_client_simple_example_c}{Ecore\+\_\+\+Con -\/ Creating a client}} \end{DoxyItemize}


\subsection{Function Documentation}
\mbox{\Hypertarget{group__Ecore__Con__Server__Group_gadbc7855666abc3175fbba9bcf1aa5f6b}\label{group__Ecore__Con__Server__Group_gadbc7855666abc3175fbba9bcf1aa5f6b}} 
\index{Ecore Connection Server Functions@{Ecore Connection Server Functions}!ecore\+\_\+con\+\_\+local\+\_\+path\+\_\+new@{ecore\+\_\+con\+\_\+local\+\_\+path\+\_\+new}}
\index{ecore\+\_\+con\+\_\+local\+\_\+path\+\_\+new@{ecore\+\_\+con\+\_\+local\+\_\+path\+\_\+new}!Ecore Connection Server Functions@{Ecore Connection Server Functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+con\+\_\+local\+\_\+path\+\_\+new()}{ecore\_con\_local\_path\_new()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} char$\ast$ ecore\+\_\+con\+\_\+local\+\_\+path\+\_\+new (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}}}]{is\+\_\+system,  }\item[{const char $\ast$}]{name,  }\item[{int}]{port }\end{DoxyParamCaption})}



Creates a local path to connect the socket. 

In the old A\+PI, \mbox{\hyperlink{group__Ecore__Con__Server__Group_gaf450c4039d5e61d4f7a58d7b67efc1e8}{ecore\+\_\+con\+\_\+server\+\_\+add()}} and \mbox{\hyperlink{group__Ecore__Con__Server__Group_gae3d7391f7da5e0f748d7b6804d010b2f}{ecore\+\_\+con\+\_\+server\+\_\+connect()}} calculated a local path for connections using {\ttfamily E\+C\+O\+R\+E\+\_\+\+C\+O\+N\+\_\+\+L\+O\+C\+A\+L\+\_\+\+U\+S\+ER} and {\ttfamily E\+C\+O\+R\+E\+\_\+\+C\+O\+N\+\_\+\+L\+O\+C\+A\+L\+\_\+\+S\+Y\+S\+T\+EM}, this function returns that path allocated so it can be used in applications that want to connect to that path without replicating its logic.

\begin{DoxyItemize}
\item If {\itshape type} is {\ttfamily E\+C\+O\+R\+E\+\_\+\+C\+O\+N\+\_\+\+L\+O\+C\+A\+L\+\_\+\+U\+S\+ER}, the server will conect to the Unix socket. The path to the socket is taken from X\+D\+G\+\_\+\+R\+U\+N\+T\+I\+M\+E\+\_\+\+D\+IR, if that is not set, then from H\+O\+ME, even if this is not set, then from T\+M\+P\+D\+IR. If none is set, then path would be /tmp. From this path the function would connect to socket at \char`\"{}\mbox{[}path\mbox{]}/.\+ecore/\mbox{[}name\mbox{]}/\mbox{[}port\mbox{]}\char`\"{}. If port is negetive, then to socket at \char`\"{}\mbox{[}path\mbox{]}/.\+ecore/\mbox{[}name\mbox{]}\char`\"{}. \item If {\itshape type} is {\ttfamily E\+C\+O\+R\+E\+\_\+\+C\+O\+N\+\_\+\+L\+O\+C\+A\+L\+\_\+\+S\+Y\+S\+T\+EM}, the server will connect to Unix socket at \char`\"{}/tmp/.\+ecore\+\_\+service$\vert$\mbox{[}name\mbox{]}$\vert$\mbox{[}port\mbox{]}\char`\"{}. If port is negetive, then to Unix socket at \char`\"{}/tmp/.\+ecore\+\_\+service$\vert$\mbox{[}name\mbox{]}\char`\"{}.\end{DoxyItemize}

\begin{DoxyParams}{Parameters}
{\em is\+\_\+system} & If \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}}, will be a system wide socket similar to {\ttfamily E\+C\+O\+R\+E\+\_\+\+C\+O\+N\+\_\+\+L\+O\+C\+A\+L\+\_\+\+S\+Y\+S\+T\+EM}. If \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}}, then it\textquotesingle{}s similar to {\ttfamily E\+C\+O\+R\+E\+\_\+\+C\+O\+N\+\_\+\+L\+O\+C\+A\+L\+\_\+\+U\+S\+ER}. \\
\hline
{\em name} & Name to associate with the socket. It is used when generating the socket name of a Unix socket, {\ttfamily N\+U\+LL} will not be accepted. \\
\hline
{\em port} & Number to identify socket. When a Unix socket is used, it becomes part of the socket name.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
N\+U\+LL on failure or newly allocated path string on success, remember to free() it after usage.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+19 
\end{DoxySince}


References E\+RR.

\mbox{\Hypertarget{group__Ecore__Con__Server__Group_gaf450c4039d5e61d4f7a58d7b67efc1e8}\label{group__Ecore__Con__Server__Group_gaf450c4039d5e61d4f7a58d7b67efc1e8}} 
\index{Ecore Connection Server Functions@{Ecore Connection Server Functions}!ecore\+\_\+con\+\_\+server\+\_\+add@{ecore\+\_\+con\+\_\+server\+\_\+add}}
\index{ecore\+\_\+con\+\_\+server\+\_\+add@{ecore\+\_\+con\+\_\+server\+\_\+add}!Ecore Connection Server Functions@{Ecore Connection Server Functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+con\+\_\+server\+\_\+add()}{ecore\_con\_server\_add()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$ ecore\+\_\+con\+\_\+server\+\_\+add (\begin{DoxyParamCaption}\item[{Ecore\+\_\+\+Con\+\_\+\+Type}]{type,  }\item[{const char $\ast$}]{name,  }\item[{int}]{port,  }\item[{const void $\ast$}]{data }\end{DoxyParamCaption})}



Creates a server to listen for connections. 


\begin{DoxyParams}{Parameters}
{\em type} & The connection type. \\
\hline
{\em name} & Name to associate with the socket. It is used when generating the socket name of a Unix socket, or for determining what host to listen on for T\+CP sockets. {\ttfamily N\+U\+LL} will not be accepted. \\
\hline
{\em port} & Number to identify socket. When a Unix socket is used, it becomes part of the socket name. When a T\+CP socket is used, it is used as the T\+CP port. \\
\hline
{\em data} & Data to associate with the created Ecore\+\_\+\+Con\+\_\+\+Server object. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A new Ecore\+\_\+\+Con\+\_\+\+Server.
\end{DoxyReturn}
The socket on which the server listens depends on the connection type\+: \begin{DoxyItemize}
\item If {\itshape type} is {\ttfamily E\+C\+O\+R\+E\+\_\+\+C\+O\+N\+\_\+\+L\+O\+C\+A\+L\+\_\+\+U\+S\+ER}, the server will listen on the Unix socket. The path to the socket is taken from X\+D\+G\+\_\+\+R\+U\+N\+T\+I\+M\+E\+\_\+\+D\+IR, if that is not set, then from H\+O\+ME, even if this is not set, then from T\+M\+P\+D\+IR. If none is set, then path would be /tmp. From this path socket would be created as \char`\"{}\mbox{[}path\mbox{]}/.\+ecore/\mbox{[}name\mbox{]}/\mbox{[}port\mbox{]}\char`\"{}. If port is negetive, then \char`\"{}\mbox{[}path\mbox{]}/.\+ecore/\mbox{[}name\mbox{]}\char`\"{}. \item If {\itshape type} is {\ttfamily E\+C\+O\+R\+E\+\_\+\+C\+O\+N\+\_\+\+L\+O\+C\+A\+L\+\_\+\+S\+Y\+S\+T\+EM}, the server will listen on Unix socket \char`\"{}/tmp/.\+ecore\+\_\+service$\vert$\mbox{[}name\mbox{]}$\vert$\mbox{[}port\mbox{]}\char`\"{}. If port is negetive, then \char`\"{}/tmp/.\+ecore\+\_\+service$\vert$\mbox{[}name\mbox{]}\char`\"{}. \item If {\itshape type} is {\ttfamily E\+C\+O\+R\+E\+\_\+\+C\+O\+N\+\_\+\+L\+O\+C\+A\+L\+\_\+\+A\+B\+S\+T\+R\+A\+CT}, then port number is not considered while creating the socket. \item If {\itshape type} is {\ttfamily E\+C\+O\+R\+E\+\_\+\+C\+O\+N\+\_\+\+R\+E\+M\+O\+T\+E\+\_\+\+T\+CP}, the server will listen on T\+CP port {\ttfamily port}.\end{DoxyItemize}
More information about the {\ttfamily type} can be found at \+\_\+\+Ecore\+\_\+\+Con\+\_\+\+Type.

The {\ttfamily data} parameter can be fetched later using \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga0a03ab73a105ad9a17265966f5683625}{ecore\+\_\+con\+\_\+server\+\_\+data\+\_\+get()}} or changed with \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga09ee7d7908fb1588740b19ba22d7c29d}{ecore\+\_\+con\+\_\+server\+\_\+data\+\_\+set()}}.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Ecore__Con__Server__Group_gadbc7855666abc3175fbba9bcf1aa5f6b}{ecore\+\_\+con\+\_\+local\+\_\+path\+\_\+new()}}
\end{DoxySeeAlso}
\begin{DoxyNote}{Note}
This A\+PI is deprecated and new code should use \#\+E\+F\+L\+\_\+\+N\+E\+T\+\_\+\+S\+E\+R\+V\+E\+R\+\_\+\+S\+I\+M\+P\+L\+E\+\_\+\+C\+L\+A\+SS. See \begin{DoxyItemize}
\item efl\+\_\+net\+\_\+server\+\_\+simple\+\_\+example.\+c \end{DoxyItemize}

\end{DoxyNote}
\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__Server__Group_gae3d7391f7da5e0f748d7b6804d010b2f}\label{group__Ecore__Con__Server__Group_gae3d7391f7da5e0f748d7b6804d010b2f}} 
\index{Ecore Connection Server Functions@{Ecore Connection Server Functions}!ecore\+\_\+con\+\_\+server\+\_\+connect@{ecore\+\_\+con\+\_\+server\+\_\+connect}}
\index{ecore\+\_\+con\+\_\+server\+\_\+connect@{ecore\+\_\+con\+\_\+server\+\_\+connect}!Ecore Connection Server Functions@{Ecore Connection Server Functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+con\+\_\+server\+\_\+connect()}{ecore\_con\_server\_connect()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$ ecore\+\_\+con\+\_\+server\+\_\+connect (\begin{DoxyParamCaption}\item[{Ecore\+\_\+\+Con\+\_\+\+Type}]{type,  }\item[{const char $\ast$}]{name,  }\item[{int}]{port,  }\item[{const void $\ast$}]{data }\end{DoxyParamCaption})}



Creates a connection to the specified server and return an associated object. 


\begin{DoxyParams}{Parameters}
{\em type} & The connection type. \\
\hline
{\em name} & Name used when determining what socket to connect to. It is used to generate the socket name when the socket is a Unix socket. It is used as the hostname when connecting with a T\+CP socket. \\
\hline
{\em port} & Number to identify the socket to connect to. Used when generating the socket name for a Unix socket, or as the T\+CP port when connecting to a T\+CP socket. \\
\hline
{\em data} & Data to associate with the created Ecore\+\_\+\+Con\+\_\+\+Server object. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A new Ecore\+\_\+\+Con\+\_\+\+Server.
\end{DoxyReturn}
The socket to which the connection is made depends on the connection type\+: \begin{DoxyItemize}
\item If {\itshape type} is {\ttfamily E\+C\+O\+R\+E\+\_\+\+C\+O\+N\+\_\+\+L\+O\+C\+A\+L\+\_\+\+U\+S\+ER}, the server will conect to the Unix socket. The path to the socket is taken from X\+D\+G\+\_\+\+R\+U\+N\+T\+I\+M\+E\+\_\+\+D\+IR, if that is not set, then from H\+O\+ME, even if this is not set, then from T\+M\+P\+D\+IR. If none is set, then path would be /tmp. From this path the function would connect to socket at \char`\"{}\mbox{[}path\mbox{]}/.\+ecore/\mbox{[}name\mbox{]}/\mbox{[}port\mbox{]}\char`\"{}. If port is negative, then to socket at \char`\"{}\mbox{[}path\mbox{]}/.\+ecore/\mbox{[}name\mbox{]}\char`\"{}. \item If {\itshape type} is {\ttfamily E\+C\+O\+R\+E\+\_\+\+C\+O\+N\+\_\+\+L\+O\+C\+A\+L\+\_\+\+S\+Y\+S\+T\+EM}, the server will connect to Unix socket at \char`\"{}/tmp/.\+ecore\+\_\+service$\vert$\mbox{[}name\mbox{]}$\vert$\mbox{[}port\mbox{]}\char`\"{}. If port is negative, then to Unix socket at \char`\"{}/tmp/.\+ecore\+\_\+service$\vert$\mbox{[}name\mbox{]}\char`\"{}. \item If {\itshape type} is {\ttfamily E\+C\+O\+R\+E\+\_\+\+C\+O\+N\+\_\+\+L\+O\+C\+A\+L\+\_\+\+A\+B\+S\+T\+R\+A\+CT}, then port number is not considered while connecting to socket. \item If {\itshape type} is {\ttfamily E\+C\+O\+R\+E\+\_\+\+C\+O\+N\+\_\+\+R\+E\+M\+O\+T\+E\+\_\+\+T\+CP}, the server will listen on T\+CP port {\ttfamily port}.\end{DoxyItemize}
More information about the {\ttfamily type} can be found at \+\_\+\+Ecore\+\_\+\+Con\+\_\+\+Type.

This function won\textquotesingle{}t block. It will either succeed, or fail due to invalid parameters, failed memory allocation, etc., returning {\ttfamily N\+U\+LL} on that case.

However, even if this call returns a valid \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}}, the connection will only be successfully completed if an event of type \mbox{\hyperlink{group__Ecore__Con__Events__Group_ga4eed60012259c24f9ac75852c5ec1950}{E\+C\+O\+R\+E\+\_\+\+C\+O\+N\+\_\+\+E\+V\+E\+N\+T\+\_\+\+S\+E\+R\+V\+E\+R\+\_\+\+A\+DD}} is received. If it fails to complete, an \mbox{\hyperlink{group__Ecore__Con__Events__Group_gabf1abac1d209506c2813837e36dfe37b}{E\+C\+O\+R\+E\+\_\+\+C\+O\+N\+\_\+\+E\+V\+E\+N\+T\+\_\+\+S\+E\+R\+V\+E\+R\+\_\+\+D\+EL}} will be received.

The created object gets deleted automatically if the connection to the server is lost.

The {\ttfamily data} parameter can be fetched later using \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga0a03ab73a105ad9a17265966f5683625}{ecore\+\_\+con\+\_\+server\+\_\+data\+\_\+get()}} or changed with \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga09ee7d7908fb1588740b19ba22d7c29d}{ecore\+\_\+con\+\_\+server\+\_\+data\+\_\+set()}}.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Ecore__Con__Server__Group_gadbc7855666abc3175fbba9bcf1aa5f6b}{ecore\+\_\+con\+\_\+local\+\_\+path\+\_\+new()}}
\end{DoxySeeAlso}
\begin{DoxyNote}{Note}
This A\+PI is deprecated and new code should use \#\+E\+F\+L\+\_\+\+N\+E\+T\+\_\+\+D\+I\+A\+L\+E\+R\+\_\+\+S\+I\+M\+P\+L\+E\+\_\+\+C\+L\+A\+SS. See \begin{DoxyItemize}
\item efl\+\_\+net\+\_\+dialer\+\_\+simple\+\_\+example.\+c \end{DoxyItemize}

\end{DoxyNote}
\begin{Desc}
\item[Examples\+: ]\par
\mbox{\hyperlink{ecore_con_client_example_8c-example}{ecore\+\_\+con\+\_\+client\+\_\+example.\+c}}, and \mbox{\hyperlink{ecore_con_client_simple_example_8c-example}{ecore\+\_\+con\+\_\+client\+\_\+simple\+\_\+example.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__Ecore__Con__Server__Group_ga79c76b9f725ceda216e9c7e5caf6cbd9}\label{group__Ecore__Con__Server__Group_ga79c76b9f725ceda216e9c7e5caf6cbd9}} 
\index{Ecore Connection Server Functions@{Ecore Connection Server Functions}!ecore\+\_\+con\+\_\+server\+\_\+del@{ecore\+\_\+con\+\_\+server\+\_\+del}}
\index{ecore\+\_\+con\+\_\+server\+\_\+del@{ecore\+\_\+con\+\_\+server\+\_\+del}!Ecore Connection Server Functions@{Ecore Connection Server Functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+con\+\_\+server\+\_\+del()}{ecore\_con\_server\_del()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void $\ast$ ecore\+\_\+con\+\_\+server\+\_\+del (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$}]{svr }\end{DoxyParamCaption})}



Closes the connection and free the given server. 


\begin{DoxyParams}{Parameters}
{\em svr} & The given server. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Data associated with the server when it was created.
\end{DoxyReturn}
All the clients connected to this server will be disconnected.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Ecore__Con__Server__Group_gaf450c4039d5e61d4f7a58d7b67efc1e8}{ecore\+\_\+con\+\_\+server\+\_\+add}}, \mbox{\hyperlink{group__Ecore__Con__Server__Group_gae3d7391f7da5e0f748d7b6804d010b2f}{ecore\+\_\+con\+\_\+server\+\_\+connect}} 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\mbox{\hyperlink{ecore_con_client_example_8c-example}{ecore\+\_\+con\+\_\+client\+\_\+example.\+c}}, \mbox{\hyperlink{ecore_con_client_simple_example_8c-example}{ecore\+\_\+con\+\_\+client\+\_\+simple\+\_\+example.\+c}}, and \mbox{\hyperlink{ecore_con_server_example_8c-example}{ecore\+\_\+con\+\_\+server\+\_\+example.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__Ecore__Con__Server__Group_ga8fd712100ae1842b58695e54f78f0e78}\label{group__Ecore__Con__Server__Group_ga8fd712100ae1842b58695e54f78f0e78}} 
\index{Ecore Connection Server Functions@{Ecore Connection Server Functions}!ecore\+\_\+con\+\_\+server\+\_\+name\+\_\+get@{ecore\+\_\+con\+\_\+server\+\_\+name\+\_\+get}}
\index{ecore\+\_\+con\+\_\+server\+\_\+name\+\_\+get@{ecore\+\_\+con\+\_\+server\+\_\+name\+\_\+get}!Ecore Connection Server Functions@{Ecore Connection Server Functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+con\+\_\+server\+\_\+name\+\_\+get()}{ecore\_con\_server\_name\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} const char $\ast$ ecore\+\_\+con\+\_\+server\+\_\+name\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$}]{svr }\end{DoxyParamCaption})}



Retrieves the name of server. 

The name returned is the name used to connect on this server.


\begin{DoxyParams}{Parameters}
{\em svr} & The given server. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The name of the server. 
\end{DoxyReturn}
\begin{Desc}
\item[Examples\+: ]\par
\mbox{\hyperlink{ecore_con_client_simple_example_8c-example}{ecore\+\_\+con\+\_\+client\+\_\+simple\+\_\+example.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__Ecore__Con__Server__Group_ga0a03ab73a105ad9a17265966f5683625}\label{group__Ecore__Con__Server__Group_ga0a03ab73a105ad9a17265966f5683625}} 
\index{Ecore Connection Server Functions@{Ecore Connection Server Functions}!ecore\+\_\+con\+\_\+server\+\_\+data\+\_\+get@{ecore\+\_\+con\+\_\+server\+\_\+data\+\_\+get}}
\index{ecore\+\_\+con\+\_\+server\+\_\+data\+\_\+get@{ecore\+\_\+con\+\_\+server\+\_\+data\+\_\+get}!Ecore Connection Server Functions@{Ecore Connection Server Functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+con\+\_\+server\+\_\+data\+\_\+get()}{ecore\_con\_server\_data\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void $\ast$ ecore\+\_\+con\+\_\+server\+\_\+data\+\_\+get (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$}]{svr }\end{DoxyParamCaption})}



Retrieves the data associated with the given server. 


\begin{DoxyParams}{Parameters}
{\em svr} & The given server. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The associated data.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga09ee7d7908fb1588740b19ba22d7c29d}{ecore\+\_\+con\+\_\+server\+\_\+data\+\_\+set()}} 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\mbox{\hyperlink{ecore_con_client_simple_example_8c-example}{ecore\+\_\+con\+\_\+client\+\_\+simple\+\_\+example.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__Ecore__Con__Server__Group_ga09ee7d7908fb1588740b19ba22d7c29d}\label{group__Ecore__Con__Server__Group_ga09ee7d7908fb1588740b19ba22d7c29d}} 
\index{Ecore Connection Server Functions@{Ecore Connection Server Functions}!ecore\+\_\+con\+\_\+server\+\_\+data\+\_\+set@{ecore\+\_\+con\+\_\+server\+\_\+data\+\_\+set}}
\index{ecore\+\_\+con\+\_\+server\+\_\+data\+\_\+set@{ecore\+\_\+con\+\_\+server\+\_\+data\+\_\+set}!Ecore Connection Server Functions@{Ecore Connection Server Functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+con\+\_\+server\+\_\+data\+\_\+set()}{ecore\_con\_server\_data\_set()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void $\ast$ ecore\+\_\+con\+\_\+server\+\_\+data\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$}]{svr,  }\item[{void $\ast$}]{data }\end{DoxyParamCaption})}



Sets the data associated with the given server. 


\begin{DoxyParams}{Parameters}
{\em svr} & The given server. \\
\hline
{\em data} & The data to associate with {\ttfamily svr}. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The previously associated data, if any.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga0a03ab73a105ad9a17265966f5683625}{ecore\+\_\+con\+\_\+server\+\_\+data\+\_\+get()}} 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\mbox{\hyperlink{ecore_con_client_simple_example_8c-example}{ecore\+\_\+con\+\_\+client\+\_\+simple\+\_\+example.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__Ecore__Con__Server__Group_ga68bd9a81d91669aa6c85e41460acb100}\label{group__Ecore__Con__Server__Group_ga68bd9a81d91669aa6c85e41460acb100}} 
\index{Ecore Connection Server Functions@{Ecore Connection Server Functions}!ecore\+\_\+con\+\_\+server\+\_\+connected\+\_\+get@{ecore\+\_\+con\+\_\+server\+\_\+connected\+\_\+get}}
\index{ecore\+\_\+con\+\_\+server\+\_\+connected\+\_\+get@{ecore\+\_\+con\+\_\+server\+\_\+connected\+\_\+get}!Ecore Connection Server Functions@{Ecore Connection Server Functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+con\+\_\+server\+\_\+connected\+\_\+get()}{ecore\_con\_server\_connected\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} ecore\+\_\+con\+\_\+server\+\_\+connected\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$}]{svr }\end{DoxyParamCaption})}



Retrieves whether the given server is currently connected. 


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


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

\mbox{\Hypertarget{group__Ecore__Con__Server__Group_gac21ef0f2db46b32042160b83534138f9}\label{group__Ecore__Con__Server__Group_gac21ef0f2db46b32042160b83534138f9}} 
\index{Ecore Connection Server Functions@{Ecore Connection Server Functions}!ecore\+\_\+con\+\_\+server\+\_\+port\+\_\+get@{ecore\+\_\+con\+\_\+server\+\_\+port\+\_\+get}}
\index{ecore\+\_\+con\+\_\+server\+\_\+port\+\_\+get@{ecore\+\_\+con\+\_\+server\+\_\+port\+\_\+get}!Ecore Connection Server Functions@{Ecore Connection Server Functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+con\+\_\+server\+\_\+port\+\_\+get()}{ecore\_con\_server\_port\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} int ecore\+\_\+con\+\_\+server\+\_\+port\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$}]{svr }\end{DoxyParamCaption})}



Retrieves the server port in use. 


\begin{DoxyParams}{Parameters}
{\em svr} & The given server. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The server port in use.
\end{DoxyReturn}
The port where the server is listening for connections. \begin{Desc}
\item[Examples\+: ]\par
\mbox{\hyperlink{ecore_con_client_simple_example_8c-example}{ecore\+\_\+con\+\_\+client\+\_\+simple\+\_\+example.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__Ecore__Con__Server__Group_ga1f7c1040e60e9e9a53a9a01f70aa52b3}\label{group__Ecore__Con__Server__Group_ga1f7c1040e60e9e9a53a9a01f70aa52b3}} 
\index{Ecore Connection Server Functions@{Ecore Connection Server Functions}!ecore\+\_\+con\+\_\+server\+\_\+uptime\+\_\+get@{ecore\+\_\+con\+\_\+server\+\_\+uptime\+\_\+get}}
\index{ecore\+\_\+con\+\_\+server\+\_\+uptime\+\_\+get@{ecore\+\_\+con\+\_\+server\+\_\+uptime\+\_\+get}!Ecore Connection Server Functions@{Ecore Connection Server Functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+con\+\_\+server\+\_\+uptime\+\_\+get()}{ecore\_con\_server\_uptime\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} double ecore\+\_\+con\+\_\+server\+\_\+uptime\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$}]{svr }\end{DoxyParamCaption})}



Checks how long a server has been connected. 


\begin{DoxyParams}{Parameters}
{\em svr} & The server to check \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The total time, in seconds, that the server has been connected/running.
\end{DoxyReturn}
This function is used to find out the time that has been elapsed since \mbox{\hyperlink{group__Ecore__Con__Server__Group_gaf450c4039d5e61d4f7a58d7b67efc1e8}{ecore\+\_\+con\+\_\+server\+\_\+add()}} succeeded. \begin{Desc}
\item[Examples\+: ]\par
\mbox{\hyperlink{ecore_con_server_simple_example_8c-example}{ecore\+\_\+con\+\_\+server\+\_\+simple\+\_\+example.\+c}}.\end{Desc}


References ecore\+\_\+time\+\_\+get().

\mbox{\Hypertarget{group__Ecore__Con__Server__Group_gadf16abc2d4fc16a8b65709eab2cd8337}\label{group__Ecore__Con__Server__Group_gadf16abc2d4fc16a8b65709eab2cd8337}} 
\index{Ecore Connection Server Functions@{Ecore Connection Server Functions}!ecore\+\_\+con\+\_\+server\+\_\+send@{ecore\+\_\+con\+\_\+server\+\_\+send}}
\index{ecore\+\_\+con\+\_\+server\+\_\+send@{ecore\+\_\+con\+\_\+server\+\_\+send}!Ecore Connection Server Functions@{Ecore Connection Server Functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+con\+\_\+server\+\_\+send()}{ecore\_con\_server\_send()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} int ecore\+\_\+con\+\_\+server\+\_\+send (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$}]{svr,  }\item[{const void $\ast$}]{data,  }\item[{int}]{size }\end{DoxyParamCaption})}



Sends the given data to the given server. 


\begin{DoxyParams}{Parameters}
{\em svr} & The given server. \\
\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 server 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__Server__Group_ga3ddb6c88484b59a1f5a5bacb8b6e60fe}{ecore\+\_\+con\+\_\+server\+\_\+flush()}} after this one.

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

\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga3ddb6c88484b59a1f5a5bacb8b6e60fe}{ecore\+\_\+con\+\_\+server\+\_\+flush()}} 
\end{DoxySeeAlso}
\begin{Desc}
\item[Examples\+: ]\par
\mbox{\hyperlink{ecore_con_client_example_8c-example}{ecore\+\_\+con\+\_\+client\+\_\+example.\+c}}, and \mbox{\hyperlink{ecore_con_client_simple_example_8c-example}{ecore\+\_\+con\+\_\+client\+\_\+simple\+\_\+example.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__Ecore__Con__Server__Group_gabaef36c991be8922766611c75372ced4}\label{group__Ecore__Con__Server__Group_gabaef36c991be8922766611c75372ced4}} 
\index{Ecore Connection Server Functions@{Ecore Connection Server Functions}!ecore\+\_\+con\+\_\+server\+\_\+client\+\_\+limit\+\_\+set@{ecore\+\_\+con\+\_\+server\+\_\+client\+\_\+limit\+\_\+set}}
\index{ecore\+\_\+con\+\_\+server\+\_\+client\+\_\+limit\+\_\+set@{ecore\+\_\+con\+\_\+server\+\_\+client\+\_\+limit\+\_\+set}!Ecore Connection Server Functions@{Ecore Connection Server Functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+con\+\_\+server\+\_\+client\+\_\+limit\+\_\+set()}{ecore\_con\_server\_client\_limit\_set()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void ecore\+\_\+con\+\_\+server\+\_\+client\+\_\+limit\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$}]{svr,  }\item[{int}]{client\+\_\+limit,  }\item[{char}]{reject\+\_\+excess\+\_\+clients }\end{DoxyParamCaption})}



Sets a limit on the number of clients that can be handled concurrently by the given server, and a policy on what to do if excess clients try to connect. 


\begin{DoxyParams}{Parameters}
{\em svr} & The given server. \\
\hline
{\em client\+\_\+limit} & The maximum number of clients to handle concurrently. -\/1 means unlimited (default). 0 effectively disables the server. \\
\hline
{\em reject\+\_\+excess\+\_\+clients} & Set to 1 to automatically disconnect excess clients as soon as they connect if you are already handling client\+\_\+limit clients. Set to 0 (default) to just hold off on the \char`\"{}accept()\char`\"{} system call until the number of active clients drops. This causes the kernel to queue up to 4096 connections (or your kernel\textquotesingle{}s limit, whichever is lower).\\
\hline
\end{DoxyParams}
Beware that if you set this once ecore is already running, you may already have pending C\+L\+I\+E\+N\+T\+\_\+\+A\+DD events in your event queue. Those clients have already connected and will not be affected by this call. Only clients subsequently trying to connect will be affected. \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__Server__Group_ga8bde40f085e645920d89f94824b542ed}\label{group__Ecore__Con__Server__Group_ga8bde40f085e645920d89f94824b542ed}} 
\index{Ecore Connection Server Functions@{Ecore Connection Server Functions}!ecore\+\_\+con\+\_\+server\+\_\+clients\+\_\+get@{ecore\+\_\+con\+\_\+server\+\_\+clients\+\_\+get}}
\index{ecore\+\_\+con\+\_\+server\+\_\+clients\+\_\+get@{ecore\+\_\+con\+\_\+server\+\_\+clients\+\_\+get}!Ecore Connection Server Functions@{Ecore Connection Server Functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+con\+\_\+server\+\_\+clients\+\_\+get()}{ecore\_con\_server\_clients\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} const \mbox{\hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List}} $\ast$ ecore\+\_\+con\+\_\+server\+\_\+clients\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$}]{svr }\end{DoxyParamCaption})}



Retrieves the current list of clients. 

Each node in the returned list points to an Efl\+\_\+\+Network\+\_\+\+Client. This list cannot be modified or freed. It can also change if new clients are connected or disconnected, and will become invalid when the server is deleted/freed.


\begin{DoxyParams}{Parameters}
{\em svr} & The given server. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The list of clients on this server. 
\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__Server__Group_gaea2a907ae4ca478a360928fd16654d45}\label{group__Ecore__Con__Server__Group_gaea2a907ae4ca478a360928fd16654d45}} 
\index{Ecore Connection Server Functions@{Ecore Connection Server Functions}!ecore\+\_\+con\+\_\+server\+\_\+ip\+\_\+get@{ecore\+\_\+con\+\_\+server\+\_\+ip\+\_\+get}}
\index{ecore\+\_\+con\+\_\+server\+\_\+ip\+\_\+get@{ecore\+\_\+con\+\_\+server\+\_\+ip\+\_\+get}!Ecore Connection Server Functions@{Ecore Connection Server Functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+con\+\_\+server\+\_\+ip\+\_\+get()}{ecore\_con\_server\_ip\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} const char $\ast$ ecore\+\_\+con\+\_\+server\+\_\+ip\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$}]{svr }\end{DoxyParamCaption})}



Gets the IP address of a server that has been connected to. 


\begin{DoxyParams}{Parameters}
{\em svr} & The given server. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A pointer to an internal string that contains the IP address of the connected server in the form \char`\"{}\+X\+X\+X.\+Y\+Y\+Y.\+Z\+Z\+Z.\+A\+A\+A\char`\"{} IP notation. This string should not be modified or trusted to stay valid after deletion for the {\ttfamily svr} object. If no IP is known {\ttfamily N\+U\+LL} is returned. 
\end{DoxyReturn}
\begin{Desc}
\item[Examples\+: ]\par
\mbox{\hyperlink{ecore_con_client_example_8c-example}{ecore\+\_\+con\+\_\+client\+\_\+example.\+c}}, and \mbox{\hyperlink{ecore_con_client_simple_example_8c-example}{ecore\+\_\+con\+\_\+client\+\_\+simple\+\_\+example.\+c}}.\end{Desc}
\mbox{\Hypertarget{group__Ecore__Con__Server__Group_ga3ddb6c88484b59a1f5a5bacb8b6e60fe}\label{group__Ecore__Con__Server__Group_ga3ddb6c88484b59a1f5a5bacb8b6e60fe}} 
\index{Ecore Connection Server Functions@{Ecore Connection Server Functions}!ecore\+\_\+con\+\_\+server\+\_\+flush@{ecore\+\_\+con\+\_\+server\+\_\+flush}}
\index{ecore\+\_\+con\+\_\+server\+\_\+flush@{ecore\+\_\+con\+\_\+server\+\_\+flush}!Ecore Connection Server Functions@{Ecore Connection Server Functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+con\+\_\+server\+\_\+flush()}{ecore\_con\_server\_flush()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void ecore\+\_\+con\+\_\+server\+\_\+flush (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$}]{svr }\end{DoxyParamCaption})}



Flushes all pending data to the given server. 


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

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

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


References ecore\+\_\+main\+\_\+loop\+\_\+iterate(), efl\+\_\+isa(), E\+I\+N\+A\+\_\+\+F\+A\+L\+SE, and E\+I\+N\+A\+\_\+\+T\+R\+UE.

\mbox{\Hypertarget{group__Ecore__Con__Server__Group_ga468eec82ada0234b6ea2b5b8d6e25407}\label{group__Ecore__Con__Server__Group_ga468eec82ada0234b6ea2b5b8d6e25407}} 
\index{Ecore Connection Server Functions@{Ecore Connection Server Functions}!ecore\+\_\+con\+\_\+server\+\_\+timeout\+\_\+set@{ecore\+\_\+con\+\_\+server\+\_\+timeout\+\_\+set}}
\index{ecore\+\_\+con\+\_\+server\+\_\+timeout\+\_\+set@{ecore\+\_\+con\+\_\+server\+\_\+timeout\+\_\+set}!Ecore Connection Server Functions@{Ecore Connection Server Functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+con\+\_\+server\+\_\+timeout\+\_\+set()}{ecore\_con\_server\_timeout\_set()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void ecore\+\_\+con\+\_\+server\+\_\+timeout\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$}]{svr,  }\item[{double}]{timeout }\end{DoxyParamCaption})}



Sets the default time after which an inactive client will be disconnected. 


\begin{DoxyParams}{Parameters}
{\em svr} & The server object. \\
\hline
{\em timeout} & The timeout, in seconds, to disconnect after.\\
\hline
\end{DoxyParams}
This function is used by the server to set the default idle timeout on clients. If the any of the clients 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 \mbox{\hyperlink{group__Ecore__Con__Client__Group_gac96c76af4f6c9d842e52ea38312c73dd}{ecore\+\_\+con\+\_\+client\+\_\+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__Client__Group_gac96c76af4f6c9d842e52ea38312c73dd}{ecore\+\_\+con\+\_\+client\+\_\+timeout\+\_\+set()}} is used on it.

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

\mbox{\hyperlink{group__Ecore__Con__Client__Group_gac96c76af4f6c9d842e52ea38312c73dd}{ecore\+\_\+con\+\_\+client\+\_\+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__Server__Group_ga50906ed9ec7845aa3bfe21998b646345}\label{group__Ecore__Con__Server__Group_ga50906ed9ec7845aa3bfe21998b646345}} 
\index{Ecore Connection Server Functions@{Ecore Connection Server Functions}!ecore\+\_\+con\+\_\+server\+\_\+timeout\+\_\+get@{ecore\+\_\+con\+\_\+server\+\_\+timeout\+\_\+get}}
\index{ecore\+\_\+con\+\_\+server\+\_\+timeout\+\_\+get@{ecore\+\_\+con\+\_\+server\+\_\+timeout\+\_\+get}!Ecore Connection Server Functions@{Ecore Connection Server Functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+con\+\_\+server\+\_\+timeout\+\_\+get()}{ecore\_con\_server\_timeout\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} double ecore\+\_\+con\+\_\+server\+\_\+timeout\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$}]{svr }\end{DoxyParamCaption})}



Gets the default time after which an inactive client will be disconnected. 


\begin{DoxyParams}{Parameters}
{\em svr} & The server 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 clients. A value of $<$ 1 means the idle timeout is disabled.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga468eec82ada0234b6ea2b5b8d6e25407}{ecore\+\_\+con\+\_\+server\+\_\+timeout\+\_\+set()}} 

\mbox{\hyperlink{group__Ecore__Con__Client__Group_gaa09134e1e8c30f0cc07a57c9bd7788df}{ecore\+\_\+con\+\_\+client\+\_\+timeout\+\_\+get()}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__Ecore__Con__Server__Group_ga1a97c1a6eafdf856643b586729de00b5}\label{group__Ecore__Con__Server__Group_ga1a97c1a6eafdf856643b586729de00b5}} 
\index{Ecore Connection Server Functions@{Ecore Connection Server Functions}!ecore\+\_\+con\+\_\+server\+\_\+fd\+\_\+get@{ecore\+\_\+con\+\_\+server\+\_\+fd\+\_\+get}}
\index{ecore\+\_\+con\+\_\+server\+\_\+fd\+\_\+get@{ecore\+\_\+con\+\_\+server\+\_\+fd\+\_\+get}!Ecore Connection Server Functions@{Ecore Connection Server Functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+con\+\_\+server\+\_\+fd\+\_\+get()}{ecore\_con\_server\_fd\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} int ecore\+\_\+con\+\_\+server\+\_\+fd\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$}]{svr }\end{DoxyParamCaption})}



Gets 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 {\ttfamily -\/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\+LY know what you are doing. \begin{DoxyNote}{Note}
This function is only valid for servers created with \mbox{\hyperlink{group__Ecore__Con__Server__Group_gae3d7391f7da5e0f748d7b6804d010b2f}{ecore\+\_\+con\+\_\+server\+\_\+connect()}}. 
\end{DoxyNote}
\begin{DoxyWarning}{Warning}
Seriously. Don\textquotesingle{}t use this unless you know what you are doing. 
\end{DoxyWarning}
\begin{DoxySince}{Since}
1.\+1 
\end{DoxySince}


References efl\+\_\+isa().

\mbox{\Hypertarget{group__Ecore__Con__Server__Group_ga43decb7ba52a2b14cfa563b60659491c}\label{group__Ecore__Con__Server__Group_ga43decb7ba52a2b14cfa563b60659491c}} 
\index{Ecore Connection Server Functions@{Ecore Connection Server Functions}!ecore\+\_\+con\+\_\+client\+\_\+fd\+\_\+get@{ecore\+\_\+con\+\_\+client\+\_\+fd\+\_\+get}}
\index{ecore\+\_\+con\+\_\+client\+\_\+fd\+\_\+get@{ecore\+\_\+con\+\_\+client\+\_\+fd\+\_\+get}!Ecore Connection Server Functions@{Ecore Connection Server Functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+con\+\_\+client\+\_\+fd\+\_\+get()}{ecore\_con\_client\_fd\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} 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 R\+E\+A\+L\+LY know what you are doing. \begin{DoxySince}{Since}
1.\+1 
\end{DoxySince}


References efl\+\_\+isa().

\mbox{\Hypertarget{group__Ecore__Con__Server__Group_gadd59943d7045f321c68a48479b01c5d8}\label{group__Ecore__Con__Server__Group_gadd59943d7045f321c68a48479b01c5d8}} 
\index{Ecore Connection Server Functions@{Ecore Connection Server Functions}!\+\_\+ecore\+\_\+con\+\_\+server\+\_\+proxy\+\_\+apply@{\+\_\+ecore\+\_\+con\+\_\+server\+\_\+proxy\+\_\+apply}}
\index{\+\_\+ecore\+\_\+con\+\_\+server\+\_\+proxy\+\_\+apply@{\+\_\+ecore\+\_\+con\+\_\+server\+\_\+proxy\+\_\+apply}!Ecore Connection Server Functions@{Ecore Connection Server Functions}}
\subsubsection{\texorpdfstring{\+\_\+ecore\+\_\+con\+\_\+server\+\_\+proxy\+\_\+apply()}{\_ecore\_con\_server\_proxy\_apply()}}
{\footnotesize\ttfamily static void \+\_\+ecore\+\_\+con\+\_\+server\+\_\+proxy\+\_\+apply (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$}]{svr,  }\item[{const \mbox{\hyperlink{group__Ecore__Con__Socks__Group_ga8d73843280aa03c57d1266c9b5193264}{Ecore\+\_\+\+Con\+\_\+\+Socks}} $\ast$}]{socks }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



convert {\itshape socks} to proxy U\+RL string and apply using efl\+\_\+net\+\_\+dialer\+\_\+proxy\+\_\+set(). 


\begin{DoxyParams}{Parameters}
{\em svr} & the server created by \mbox{\hyperlink{group__Ecore__Con__Server__Group_gae3d7391f7da5e0f748d7b6804d010b2f}{ecore\+\_\+con\+\_\+server\+\_\+connect()}}. \\
\hline
{\em socks} & the socks handle created by \mbox{\hyperlink{group__Ecore__Con__Socks__Group_ga6b3291958399a9249912e9c41a1f503a}{ecore\+\_\+con\+\_\+socks4\+\_\+remote\+\_\+add()}} or \mbox{\hyperlink{group__Ecore__Con__Socks__Group_gaf52462a3352323b9c75d1161e9c6efc6}{ecore\+\_\+con\+\_\+socks5\+\_\+remote\+\_\+add()}}. \\
\hline
\end{DoxyParams}


References D\+BG, and E\+RR.

\mbox{\Hypertarget{group__Ecore__Con__Server__Group_ga3e2cc9dc19a76ed7d0cd69c08b2482d5}\label{group__Ecore__Con__Server__Group_ga3e2cc9dc19a76ed7d0cd69c08b2482d5}} 
\index{Ecore Connection Server Functions@{Ecore Connection Server Functions}!ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+cert\+\_\+add@{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+cert\+\_\+add}}
\index{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+cert\+\_\+add@{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+cert\+\_\+add}!Ecore Connection Server Functions@{Ecore Connection Server Functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+cert\+\_\+add()}{ecore\_con\_ssl\_server\_cert\_add()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+cert\+\_\+add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$}]{svr,  }\item[{const char $\ast$}]{cert }\end{DoxyParamCaption})}



Adds an S\+SL certificate for use in ecore\+\_\+con functions. 

Use this function to add a S\+SL P\+EM certificate. Simply specify the cert here to use it in the server object for connecting or listening. If there is an error loading the certificate, an error will automatically be logged. 
\begin{DoxyParams}{Parameters}
{\em svr} & The server object \\
\hline
{\em cert} & The path to the certificate. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} if the file cannot be loaded, otherwise {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+UE}. 
\end{DoxyReturn}


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

\mbox{\Hypertarget{group__Ecore__Con__Server__Group_ga415c62e77320fcdcb75dcb4cc11d9055}\label{group__Ecore__Con__Server__Group_ga415c62e77320fcdcb75dcb4cc11d9055}} 
\index{Ecore Connection Server Functions@{Ecore Connection Server Functions}!ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+privkey\+\_\+add@{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+privkey\+\_\+add}}
\index{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+privkey\+\_\+add@{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+privkey\+\_\+add}!Ecore Connection Server Functions@{Ecore Connection Server Functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+privkey\+\_\+add()}{ecore\_con\_ssl\_server\_privkey\_add()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+privkey\+\_\+add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$}]{svr,  }\item[{const char $\ast$}]{key\+\_\+file }\end{DoxyParamCaption})}



Adds an S\+SL private key for use in ecore\+\_\+con functions. 

Use this function to add a S\+SL P\+EM private key. Simply specify the key file here to use it in the server object for connecting or listening. If there is an error loading the key, an error will automatically be logged. 
\begin{DoxyParams}{Parameters}
{\em svr} & The server object. \\
\hline
{\em key\+\_\+file} & The path to the key file. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} if the file cannot be loaded, otherwise {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+UE}. 
\end{DoxyReturn}


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

\mbox{\Hypertarget{group__Ecore__Con__Server__Group_gaaf2eb8317988619f42d79f64bbf3d37e}\label{group__Ecore__Con__Server__Group_gaaf2eb8317988619f42d79f64bbf3d37e}} 
\index{Ecore Connection Server Functions@{Ecore Connection Server Functions}!ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+crl\+\_\+add@{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+crl\+\_\+add}}
\index{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+crl\+\_\+add@{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+crl\+\_\+add}!Ecore Connection Server Functions@{Ecore Connection Server Functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+crl\+\_\+add()}{ecore\_con\_ssl\_server\_crl\_add()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+crl\+\_\+add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$}]{svr,  }\item[{const char $\ast$}]{crl\+\_\+file }\end{DoxyParamCaption})}



Adds an S\+SL C\+RL for use in ecore\+\_\+con functions. 

Use this function to add a S\+SL P\+EM C\+RL file. Simply specify the C\+RL file here to use it in the server object for connecting or listening. If there is an error loading the C\+RL, an error will automatically be logged. 
\begin{DoxyParams}{Parameters}
{\em svr} & The server object. \\
\hline
{\em crl\+\_\+file} & The path to the C\+RL file. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} if the file cannot be loaded, otherwise {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+UE}. 
\end{DoxyReturn}


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

\mbox{\Hypertarget{group__Ecore__Con__Server__Group_gadc5bbd38449d58f91e988ac7f29e4b08}\label{group__Ecore__Con__Server__Group_gadc5bbd38449d58f91e988ac7f29e4b08}} 
\index{Ecore Connection Server Functions@{Ecore Connection Server Functions}!ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+cafile\+\_\+add@{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+cafile\+\_\+add}}
\index{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+cafile\+\_\+add@{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+cafile\+\_\+add}!Ecore Connection Server Functions@{Ecore Connection Server Functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+cafile\+\_\+add()}{ecore\_con\_ssl\_server\_cafile\_add()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+cafile\+\_\+add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$}]{svr,  }\item[{const char $\ast$}]{ca\+\_\+file }\end{DoxyParamCaption})}



Adds an S\+SL CA file for use in ecore\+\_\+con functions. 

Use this function to add a S\+SL P\+EM CA file. Simply specify the file here to use it in the server object for connecting or listening. If there is an error loading the C\+As, an error will automatically be logged. 
\begin{DoxyParams}{Parameters}
{\em svr} & The server object. \\
\hline
{\em ca\+\_\+file} & The path to the CA file. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} if the file cannot be loaded, otherwise {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+UE}. 
\end{DoxyReturn}
\begin{DoxyNote}{Note}
since 1.\+2, this function can load directories. 
\end{DoxyNote}


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

\mbox{\Hypertarget{group__Ecore__Con__Server__Group_ga72320d4fd96ea97997850d1fc32a88b7}\label{group__Ecore__Con__Server__Group_ga72320d4fd96ea97997850d1fc32a88b7}} 
\index{Ecore Connection Server Functions@{Ecore Connection Server Functions}!ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+verify@{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+verify}}
\index{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+verify@{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+verify}!Ecore Connection Server Functions@{Ecore Connection Server Functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+verify()}{ecore\_con\_ssl\_server\_verify()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+verify (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$}]{svr }\end{DoxyParamCaption})}



Enables certificate verification on a server object. 

Call this function on a server object before main loop has started to enable verification of certificates against loaded certificates. 
\begin{DoxyParams}{Parameters}
{\em svr} & The server object \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group__Ecore__Con__Server__Group_ga6ceab74f3cdf03a7485acddda01ebd17}\label{group__Ecore__Con__Server__Group_ga6ceab74f3cdf03a7485acddda01ebd17}} 
\index{Ecore Connection Server Functions@{Ecore Connection Server Functions}!ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+verify\+\_\+basic@{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+verify\+\_\+basic}}
\index{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+verify\+\_\+basic@{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+verify\+\_\+basic}!Ecore Connection Server Functions@{Ecore Connection Server Functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+verify\+\_\+basic()}{ecore\_con\_ssl\_server\_verify\_basic()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+verify\+\_\+basic (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$}]{svr }\end{DoxyParamCaption})}



Enables hostname-\/based certificate verification on a server object. 

Call this function on a server object before main loop has started to enable verification of certificates using O\+N\+LY their hostnames. 
\begin{DoxyParams}{Parameters}
{\em svr} & The server object. \\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
This function has no effect when used on a listening server created by ecore\+\_\+con\+\_\+server\+\_\+add. 
\end{DoxyNote}
\begin{DoxySince}{Since}
1.\+1 
\end{DoxySince}
\mbox{\Hypertarget{group__Ecore__Con__Server__Group_gab5289df02f73e8342ae66002b4bb779b}\label{group__Ecore__Con__Server__Group_gab5289df02f73e8342ae66002b4bb779b}} 
\index{Ecore Connection Server Functions@{Ecore Connection Server Functions}!ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+verify\+\_\+name\+\_\+set@{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+verify\+\_\+name\+\_\+set}}
\index{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+verify\+\_\+name\+\_\+set@{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+verify\+\_\+name\+\_\+set}!Ecore Connection Server Functions@{Ecore Connection Server Functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+verify\+\_\+name\+\_\+set()}{ecore\_con\_ssl\_server\_verify\_name\_set()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+verify\+\_\+name\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$}]{svr,  }\item[{const char $\ast$}]{name }\end{DoxyParamCaption})}



Sets the hostname to verify against in certificate verification. 

Sometimes the certificate hostname will not match the hostname that you are connecting to, and will instead match a different name. An example of this is that if you connect to talk.\+google.\+com to use Google Talk, you receive Google\textquotesingle{}s certificate for gmail.\+com. This certificate should be trusted, and so you must call this function with \char`\"{}gmail.\+com\char`\"{} as {\ttfamily name}. See R\+F\+C2818 for more details. 
\begin{DoxyParams}{Parameters}
{\em svr} & The server object. \\
\hline
{\em name} & The hostname to verify against \\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\mbox{\Hypertarget{group__Ecore__Con__Server__Group_ga8b309716785644c47b0553db7a5d1c0a}\label{group__Ecore__Con__Server__Group_ga8b309716785644c47b0553db7a5d1c0a}} 
\index{Ecore Connection Server Functions@{Ecore Connection Server Functions}!ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+verify\+\_\+name\+\_\+get@{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+verify\+\_\+name\+\_\+get}}
\index{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+verify\+\_\+name\+\_\+get@{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+verify\+\_\+name\+\_\+get}!Ecore Connection Server Functions@{Ecore Connection Server Functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+verify\+\_\+name\+\_\+get()}{ecore\_con\_ssl\_server\_verify\_name\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} const char$\ast$ ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+verify\+\_\+name\+\_\+get (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$}]{svr }\end{DoxyParamCaption})}



Gets the hostname to verify against in certificate verification. 

This function returns the name which will be used to validate the S\+SL certificate common name (CN) or alt name (subject\+Alt\+Name). It will default to the {\ttfamily name} param in \mbox{\hyperlink{group__Ecore__Con__Server__Group_gae3d7391f7da5e0f748d7b6804d010b2f}{ecore\+\_\+con\+\_\+server\+\_\+connect()}}, but can be changed with \mbox{\hyperlink{group__Ecore__Con__SSL__Group_gab5289df02f73e8342ae66002b4bb779b}{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+verify\+\_\+name\+\_\+set()}}. 
\begin{DoxyParams}{Parameters}
{\em svr} & The server object. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The hostname which will be used 
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\mbox{\Hypertarget{group__Ecore__Con__Server__Group_gadf006c82929e4bc6cb1cef4f6b7fcbb4}\label{group__Ecore__Con__Server__Group_gadf006c82929e4bc6cb1cef4f6b7fcbb4}} 
\index{Ecore Connection Server Functions@{Ecore Connection Server Functions}!ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+upgrade@{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+upgrade}}
\index{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+upgrade@{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+upgrade}!Ecore Connection Server Functions@{Ecore Connection Server Functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+upgrade()}{ecore\_con\_ssl\_server\_upgrade()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+upgrade (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$}]{svr,  }\item[{Ecore\+\_\+\+Con\+\_\+\+Type}]{compl\+\_\+type }\end{DoxyParamCaption})}



Upgrades a connection to a specified level of encryption. 

Use this function to begin an S\+SL handshake on a connection (S\+T\+A\+R\+T\+T\+LS or similar). Once the upgrade has been completed, an E\+C\+O\+R\+E\+\_\+\+C\+O\+N\+\_\+\+E\+V\+E\+N\+T\+\_\+\+S\+E\+R\+V\+E\+R\+\_\+\+U\+P\+G\+R\+A\+DE event will be emitted. The connection should be treated as disconnected until the next event. 
\begin{DoxyParams}{Parameters}
{\em svr} & The server object. \\
\hline
{\em ssl\+\_\+type} & The S\+SL connection type (O\+N\+LY). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} if the connection cannot be upgraded, otherwise {\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+UE}. 
\end{DoxyReturn}
\begin{DoxyNote}{Note}
This function is N\+E\+V\+ER to be used on a server object created with ecore\+\_\+con\+\_\+server\+\_\+add. 
\end{DoxyNote}
\begin{DoxyWarning}{Warning}
Setting a wrong value for {\ttfamily compl\+\_\+type} W\+I\+LL mess up your program. 
\end{DoxyWarning}
\begin{DoxySince}{Since}
1.\+1 
\end{DoxySince}


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

