\doxysubsubsubsection{Ecore Buffer Provider functions}
\hypertarget{group__Ecore__Buffer__Provider__Group}{}\label{group__Ecore__Buffer__Provider__Group}\index{Ecore Buffer Provider functions@{Ecore Buffer Provider functions}}
\doxysubsubsubsubsubsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \mbox{\hyperlink{group__Ecore__Buffer__Provider__Group_gae5e811ab8123ba74d3ada69148585e05}{\+\_\+\+Ecore\+\_\+\+Buffer\+\_\+\+Return}} \{ \newline
\mbox{\hyperlink{group__Ecore__Buffer__Provider__Group_gae5e811ab8123ba74d3ada69148585e05a5168fc2907ec72ac4ecba69f8fda2cb6}{ECORE\+\_\+\+BUFFER\+\_\+\+RETURN\+\_\+\+ERROR}}
, \newline
\mbox{\hyperlink{group__Ecore__Buffer__Provider__Group_gae5e811ab8123ba74d3ada69148585e05a5d6301d08faf48b52f1a4cbe65b3fca3}{ECORE\+\_\+\+BUFFER\+\_\+\+RETURN\+\_\+\+SUCCESS}}
, \newline
\mbox{\hyperlink{group__Ecore__Buffer__Provider__Group_gae5e811ab8123ba74d3ada69148585e05a1f27aa90da544b154478e114084af295}{ECORE\+\_\+\+BUFFER\+\_\+\+RETURN\+\_\+\+EMPTY}}
, \newline
\mbox{\hyperlink{group__Ecore__Buffer__Provider__Group_gae5e811ab8123ba74d3ada69148585e05af6dff59efbca335da2174ed4d501b318}{ECORE\+\_\+\+BUFFER\+\_\+\+RETURN\+\_\+\+NOT\+\_\+\+EMPTY}}
, \newline
\mbox{\hyperlink{group__Ecore__Buffer__Provider__Group_gae5e811ab8123ba74d3ada69148585e05aeb8deae191aff3aade9a8931160bc72b}{ECORE\+\_\+\+BUFFER\+\_\+\+RETURN\+\_\+\+NEED\+\_\+\+ALLOC}}
 \}
\begin{DoxyCompactList}\small\item\em Types for an buffer queue state on provider side. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsubsubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
EAPI Ecore\+\_\+\+Buffer\+\_\+\+Provider \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{group__Ecore__Buffer__Provider__Group_ga5c1f6f379333aec3a75acbc1ee72c84b}{ecore\+\_\+buffer\+\_\+provider\+\_\+new}} (const char \texorpdfstring{$\ast$}{*}name)
\begin{DoxyCompactList}\small\item\em Creates a new Buffer Provider based on name. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__Ecore__Buffer__Provider__Group_gade2273c3009a631b03d2f2359f2e61e8}{ecore\+\_\+buffer\+\_\+provider\+\_\+free}} (Ecore\+\_\+\+Buffer\+\_\+\+Provider \texorpdfstring{$\ast$}{*}provider)
\begin{DoxyCompactList}\small\item\em Frees an Ecore\+\_\+\+Buffer\+\_\+\+Provider. \end{DoxyCompactList}\item 
EAPI Ecore\+\_\+\+Buffer\+\_\+\+Return \mbox{\hyperlink{group__Ecore__Buffer__Provider__Group_ga3dfff092c67ef3f86289659e4f49ef05}{ecore\+\_\+buffer\+\_\+provider\+\_\+buffer\+\_\+acquire}} (Ecore\+\_\+\+Buffer\+\_\+\+Provider \texorpdfstring{$\ast$}{*}provider, \mbox{\hyperlink{group__Ecore__Buffer__Lib__Group_gae42dff4b4a724e8a5d204e00470397eb}{Ecore\+\_\+\+Buffer}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}ret\+\_\+buf)
\begin{DoxyCompactList}\small\item\em Returns the Ecore\+\_\+\+Buffer released by consumer or State of Queue. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Ecore__Buffer__Provider__Group_gada2675683b019ba49565c9fbfe14b843}{ecore\+\_\+buffer\+\_\+provider\+\_\+buffer\+\_\+enqueue}} (Ecore\+\_\+\+Buffer\+\_\+\+Provider \texorpdfstring{$\ast$}{*}provider, \mbox{\hyperlink{group__Ecore__Buffer__Lib__Group_gae42dff4b4a724e8a5d204e00470397eb}{Ecore\+\_\+\+Buffer}} \texorpdfstring{$\ast$}{*}buffer)
\begin{DoxyCompactList}\small\item\em Submits the Ecore\+\_\+\+Buffer to Consumer to request compositing. \end{DoxyCompactList}\item 
EAPI Ecore\+\_\+\+Buffer\+\_\+\+Return \mbox{\hyperlink{group__Ecore__Buffer__Provider__Group_ga96fff421d13bfb823ad8891a99be1e97}{ecore\+\_\+buffer\+\_\+provider\+\_\+buffer\+\_\+acquirable\+\_\+check}} (Ecore\+\_\+\+Buffer\+\_\+\+Provider \texorpdfstring{$\ast$}{*}provider)
\begin{DoxyCompactList}\small\item\em Checks if state of queue. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__Ecore__Buffer__Provider__Group_gaff0332930b6f734a3d77fdab64b47dd9}{ecore\+\_\+buffer\+\_\+provider\+\_\+consumer\+\_\+add\+\_\+cb\+\_\+set}} (Ecore\+\_\+\+Buffer\+\_\+\+Provider \texorpdfstring{$\ast$}{*}provider, Ecore\+\_\+\+Buffer\+\_\+\+Provider\+\_\+\+Consumer\+\_\+\+Add\+\_\+\+Cb func, void \texorpdfstring{$\ast$}{*}data)
\begin{DoxyCompactList}\small\item\em Sets a callback for consumer connection events. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__Ecore__Buffer__Provider__Group_gaa27d4ecbec1da244961bb10b5af9efed}{ecore\+\_\+buffer\+\_\+provider\+\_\+consumer\+\_\+del\+\_\+cb\+\_\+set}} (Ecore\+\_\+\+Buffer\+\_\+\+Provider \texorpdfstring{$\ast$}{*}provider, Ecore\+\_\+\+Buffer\+\_\+\+Provider\+\_\+\+Consumer\+\_\+\+Del\+\_\+\+Cb func, void \texorpdfstring{$\ast$}{*}data)
\begin{DoxyCompactList}\small\item\em Sets a callback for consumer disconnection events. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__Ecore__Buffer__Provider__Group_ga48f9e542bd2893ebcb576ee9c929bb92}{ecore\+\_\+buffer\+\_\+provider\+\_\+buffer\+\_\+released\+\_\+cb\+\_\+set}} (Ecore\+\_\+\+Buffer\+\_\+\+Provider \texorpdfstring{$\ast$}{*}provider, Ecore\+\_\+\+Buffer\+\_\+\+Provider\+\_\+\+Enqueue\+\_\+\+Cb func, void \texorpdfstring{$\ast$}{*}data)
\begin{DoxyCompactList}\small\item\em Sets a callback for released buffer events. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsubsubsubsection{Detailed Description}


This group of functions is applied to an Ecore\+\_\+\+Buffer\+\_\+\+Provider object. Ecore\+\_\+\+Buffer\+\_\+\+Provider provides Ecore\+\_\+\+Buffer to Ecore\+\_\+\+Buffer\+\_\+\+Consumer(usually different process or thread from Ecore\+\_\+\+Buffer\+\_\+\+Provider). Ecore\+\_\+\+Buffer\+\_\+\+Provider should creates Ecore\+\_\+\+Buffer as a provider. 

\doxysubsubsubsubsection{Enumeration Type Documentation}
\Hypertarget{group__Ecore__Buffer__Provider__Group_gae5e811ab8123ba74d3ada69148585e05}\label{group__Ecore__Buffer__Provider__Group_gae5e811ab8123ba74d3ada69148585e05} 
\index{Ecore Buffer Provider functions@{Ecore Buffer Provider functions}!\_Ecore\_Buffer\_Return@{\_Ecore\_Buffer\_Return}}
\index{\_Ecore\_Buffer\_Return@{\_Ecore\_Buffer\_Return}!Ecore Buffer Provider functions@{Ecore Buffer Provider functions}}
\doxysubsubsubsubsubsection{\texorpdfstring{\_Ecore\_Buffer\_Return}{\_Ecore\_Buffer\_Return}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{group__Ecore__Buffer__Provider__Group_gae5e811ab8123ba74d3ada69148585e05}{\+\_\+\+Ecore\+\_\+\+Buffer\+\_\+\+Return}}}



Types for an buffer queue state on provider side. 

\begin{DoxySeeAlso}{See also}
\doxylink{group__Ecore__Buffer__Provider__Group_ga3dfff092c67ef3f86289659e4f49ef05}{ecore\+\_\+buffer\+\_\+provider\+\_\+buffer\+\_\+acquire()} 

\doxylink{group__Ecore__Buffer__Provider__Group_ga96fff421d13bfb823ad8891a99be1e97}{ecore\+\_\+buffer\+\_\+provider\+\_\+buffer\+\_\+acquirable\+\_\+check()} 
\end{DoxySeeAlso}


\doxysubsubsubsubsection{Function Documentation}
\Hypertarget{group__Ecore__Buffer__Provider__Group_ga5c1f6f379333aec3a75acbc1ee72c84b}\label{group__Ecore__Buffer__Provider__Group_ga5c1f6f379333aec3a75acbc1ee72c84b} 
\index{Ecore Buffer Provider functions@{Ecore Buffer Provider functions}!ecore\_buffer\_provider\_new@{ecore\_buffer\_provider\_new}}
\index{ecore\_buffer\_provider\_new@{ecore\_buffer\_provider\_new}!Ecore Buffer Provider functions@{Ecore Buffer Provider functions}}
\doxysubsubsubsubsubsection{\texorpdfstring{ecore\_buffer\_provider\_new()}{ecore\_buffer\_provider\_new()}}
{\footnotesize\ttfamily EAPI Ecore\+\_\+\+Buffer\+\_\+\+Provider \texorpdfstring{$\ast$}{*} ecore\+\_\+buffer\+\_\+provider\+\_\+new (\begin{DoxyParamCaption}\item[{const char \texorpdfstring{$\ast$}{*}}]{name }\end{DoxyParamCaption})}



Creates a new Buffer Provider based on name. 

\begin{DoxySince}{Since}
1.\+15
\end{DoxySince}

\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em name} & The name of Buffer\+\_\+\+Queue.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Ecore\+\_\+\+Buffer\+\_\+\+Provider instance or {\ttfamily NULL} if creation failed. 
\end{DoxyReturn}


References \mbox{\hyperlink{group__Eina__Safety__Checks__Group_gab2b07061fc6500dedd9cd41c8d16f95d}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN\+\_\+\+VAL}}.

\Hypertarget{group__Ecore__Buffer__Provider__Group_gade2273c3009a631b03d2f2359f2e61e8}\label{group__Ecore__Buffer__Provider__Group_gade2273c3009a631b03d2f2359f2e61e8} 
\index{Ecore Buffer Provider functions@{Ecore Buffer Provider functions}!ecore\_buffer\_provider\_free@{ecore\_buffer\_provider\_free}}
\index{ecore\_buffer\_provider\_free@{ecore\_buffer\_provider\_free}!Ecore Buffer Provider functions@{Ecore Buffer Provider functions}}
\doxysubsubsubsubsubsection{\texorpdfstring{ecore\_buffer\_provider\_free()}{ecore\_buffer\_provider\_free()}}
{\footnotesize\ttfamily EAPI void ecore\+\_\+buffer\+\_\+provider\+\_\+free (\begin{DoxyParamCaption}\item[{Ecore\+\_\+\+Buffer\+\_\+\+Provider \texorpdfstring{$\ast$}{*}}]{provider }\end{DoxyParamCaption})}



Frees an Ecore\+\_\+\+Buffer\+\_\+\+Provider. 

\begin{DoxySince}{Since}
1.\+15
\end{DoxySince}

\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em provider} & The Ecore\+\_\+\+Buffer\+\_\+\+Provider to free\\
\hline
\end{DoxyParams}
This frees up any memory used by the Ecore\+\_\+\+Buffer\+\_\+\+Provider. 

References \mbox{\hyperlink{group__Eina__List__Group_gac6efafc19f526d916cdb9757240a8773}{EINA\+\_\+\+LIST\+\_\+\+FOREACH}}, and \mbox{\hyperlink{group__Eina__Safety__Checks__Group_ga1ccf8538d0015b3801ff642e6156843a}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN}}.

\Hypertarget{group__Ecore__Buffer__Provider__Group_ga3dfff092c67ef3f86289659e4f49ef05}\label{group__Ecore__Buffer__Provider__Group_ga3dfff092c67ef3f86289659e4f49ef05} 
\index{Ecore Buffer Provider functions@{Ecore Buffer Provider functions}!ecore\_buffer\_provider\_buffer\_acquire@{ecore\_buffer\_provider\_buffer\_acquire}}
\index{ecore\_buffer\_provider\_buffer\_acquire@{ecore\_buffer\_provider\_buffer\_acquire}!Ecore Buffer Provider functions@{Ecore Buffer Provider functions}}
\doxysubsubsubsubsubsection{\texorpdfstring{ecore\_buffer\_provider\_buffer\_acquire()}{ecore\_buffer\_provider\_buffer\_acquire()}}
{\footnotesize\ttfamily EAPI Ecore\+\_\+\+Buffer\+\_\+\+Return ecore\+\_\+buffer\+\_\+provider\+\_\+buffer\+\_\+acquire (\begin{DoxyParamCaption}\item[{Ecore\+\_\+\+Buffer\+\_\+\+Provider \texorpdfstring{$\ast$}{*}}]{provider,  }\item[{\mbox{\hyperlink{group__Ecore__Buffer__Lib__Group_gae42dff4b4a724e8a5d204e00470397eb}{Ecore\+\_\+\+Buffer}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}}]{ret\+\_\+buf }\end{DoxyParamCaption})}



Returns the Ecore\+\_\+\+Buffer released by consumer or State of Queue. 

\begin{DoxySince}{Since}
1.\+15
\end{DoxySince}

\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em provider} & The Ecore\+\_\+\+Buffer\+\_\+\+Provider to request for buffer \\
\hline
\mbox{\texttt{ out}}  & {\em ret\+\_\+buf} & A Pointer to the Ecore\+\_\+\+Buffer\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The enumeration of Ecore\+\_\+\+Buffer\+\_\+\+Return to indicate result of Dequeuing.
\end{DoxyReturn}
This function gives you drawable buffer and inform you the state of Queue. Each return value of enumeration has meaning as below. \begin{DoxyItemize}
\item ECORE\+\_\+\+BUFFER\+\_\+\+RETURN\+\_\+\+ERROR, means error occurred. \item ECORE\+\_\+\+BUFFER\+\_\+\+RETURN\+\_\+\+SUCCESS, means success to dequeue, therefore ret\+\_\+buf is valid. \item ECORE\+\_\+\+BUFFER\+\_\+\+RETURN\+\_\+\+EMPTY, means queue is empty, not available slot in Queue. in other words, there is no free drawable buffer in Queue. \item ECORE\+\_\+\+BUFFER\+\_\+\+RETURN\+\_\+\+NEED\+\_\+\+ALLOC, means that there is available slot, but not allocated. so, You may create new Ecore\+\_\+\+Buffer, and then just enqueue the Ecore\+\_\+\+Buffer.\end{DoxyItemize}
\begin{DoxySeeAlso}{See also}
\doxylink{group__Ecore__Buffer__Lib__Group_ga852df48a747b050826bf6f93185c4381}{ecore\+\_\+buffer\+\_\+new()}, \doxylink{group__Ecore__Buffer__Provider__Group_gada2675683b019ba49565c9fbfe14b843}{ecore\+\_\+buffer\+\_\+provider\+\_\+buffer\+\_\+enqueue()} 
\end{DoxySeeAlso}


References \mbox{\hyperlink{group__Eina__Safety__Checks__Group_gab2b07061fc6500dedd9cd41c8d16f95d}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN\+\_\+\+VAL}}.

\Hypertarget{group__Ecore__Buffer__Provider__Group_gada2675683b019ba49565c9fbfe14b843}\label{group__Ecore__Buffer__Provider__Group_gada2675683b019ba49565c9fbfe14b843} 
\index{Ecore Buffer Provider functions@{Ecore Buffer Provider functions}!ecore\_buffer\_provider\_buffer\_enqueue@{ecore\_buffer\_provider\_buffer\_enqueue}}
\index{ecore\_buffer\_provider\_buffer\_enqueue@{ecore\_buffer\_provider\_buffer\_enqueue}!Ecore Buffer Provider functions@{Ecore Buffer Provider functions}}
\doxysubsubsubsubsubsection{\texorpdfstring{ecore\_buffer\_provider\_buffer\_enqueue()}{ecore\_buffer\_provider\_buffer\_enqueue()}}
{\footnotesize\ttfamily EAPI \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} ecore\+\_\+buffer\+\_\+provider\+\_\+buffer\+\_\+enqueue (\begin{DoxyParamCaption}\item[{Ecore\+\_\+\+Buffer\+\_\+\+Provider \texorpdfstring{$\ast$}{*}}]{provider,  }\item[{\mbox{\hyperlink{group__Ecore__Buffer__Lib__Group_gae42dff4b4a724e8a5d204e00470397eb}{Ecore\+\_\+\+Buffer}} \texorpdfstring{$\ast$}{*}}]{buffer }\end{DoxyParamCaption})}



Submits the Ecore\+\_\+\+Buffer to Consumer to request compositing. 

\begin{DoxySince}{Since}
1.\+15
\end{DoxySince}

\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em provider} & The Ecore\+\_\+\+Buffer\+\_\+\+Provider connected with consumer. \\
\hline
\mbox{\texttt{ in}}  & {\em buffer} & The Ecore\+\_\+\+Buffer to submit\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily EINA\+\_\+\+TRUE} on success, {\ttfamily EINA\+\_\+\+FALSE} otherwise.
\end{DoxyReturn}
This function allow you to submit the Ecore\+\_\+\+Buffer to consumer to request compositing. And this will be success, in case only you submit dequeued Ecore\+\_\+\+Buffer, and new Ecore\+\_\+\+Buffer after received return value of ECORE\+\_\+\+BUFFER\+\_\+\+RETURN\+\_\+\+NEED\+\_\+\+ALLOC by \doxylink{group__Ecore__Buffer__Provider__Group_ga3dfff092c67ef3f86289659e4f49ef05}{ecore\+\_\+buffer\+\_\+provider\+\_\+buffer\+\_\+acquire()}.

\begin{DoxySeeAlso}{See also}
\doxylink{group__Ecore__Buffer__Lib__Group_ga852df48a747b050826bf6f93185c4381}{ecore\+\_\+buffer\+\_\+new()}, ecore\+\_\+buffer\+\_\+provider\+\_\+buffer\+\_\+dequeue() 
\end{DoxySeeAlso}


References \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}}, \mbox{\hyperlink{group__Eina__Safety__Checks__Group_gab2b07061fc6500dedd9cd41c8d16f95d}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN\+\_\+\+VAL}}, and \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}}.

\Hypertarget{group__Ecore__Buffer__Provider__Group_ga96fff421d13bfb823ad8891a99be1e97}\label{group__Ecore__Buffer__Provider__Group_ga96fff421d13bfb823ad8891a99be1e97} 
\index{Ecore Buffer Provider functions@{Ecore Buffer Provider functions}!ecore\_buffer\_provider\_buffer\_acquirable\_check@{ecore\_buffer\_provider\_buffer\_acquirable\_check}}
\index{ecore\_buffer\_provider\_buffer\_acquirable\_check@{ecore\_buffer\_provider\_buffer\_acquirable\_check}!Ecore Buffer Provider functions@{Ecore Buffer Provider functions}}
\doxysubsubsubsubsubsection{\texorpdfstring{ecore\_buffer\_provider\_buffer\_acquirable\_check()}{ecore\_buffer\_provider\_buffer\_acquirable\_check()}}
{\footnotesize\ttfamily EAPI Ecore\+\_\+\+Buffer\+\_\+\+Return ecore\+\_\+buffer\+\_\+provider\+\_\+buffer\+\_\+acquirable\+\_\+check (\begin{DoxyParamCaption}\item[{Ecore\+\_\+\+Buffer\+\_\+\+Provider \texorpdfstring{$\ast$}{*}}]{provider }\end{DoxyParamCaption})}



Checks if state of queue. 

\begin{DoxySince}{Since}
1.\+15
\end{DoxySince}

\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em provider} & The Ecore\+\_\+\+Buffer\+\_\+\+Provider to query\\
\hline
\end{DoxyParams}
\begin{DoxyItemize}
\item ECORE\+\_\+\+BUFFER\+\_\+\+RETURN\+\_\+\+NOT\+\_\+\+EMPTY, means there is a dequeueable Ecore\+\_\+\+Buffer at least one. \item ECORE\+\_\+\+BUFFER\+\_\+\+RETURN\+\_\+\+EMPTY, means queue is empty, not available slot in Queue. in other words, there is no free drawable buffer in Queue. \item ECORE\+\_\+\+BUFFER\+\_\+\+RETURN\+\_\+\+NEED\+\_\+\+ALLOC, means that there is available slot, but not allocated. so, You may create new Ecore\+\_\+\+Buffer, and then just enqueue the Ecore\+\_\+\+Buffer.\end{DoxyItemize}
\begin{DoxyReturn}{Returns}
{\ttfamily EINA\+\_\+\+TRUE} means queue is empty, {\ttfamily EINA\+\_\+\+FALSE} otherwise. 
\end{DoxyReturn}


References \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}}, and \mbox{\hyperlink{group__Eina__Safety__Checks__Group_gab2b07061fc6500dedd9cd41c8d16f95d}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN\+\_\+\+VAL}}.

\Hypertarget{group__Ecore__Buffer__Provider__Group_gaff0332930b6f734a3d77fdab64b47dd9}\label{group__Ecore__Buffer__Provider__Group_gaff0332930b6f734a3d77fdab64b47dd9} 
\index{Ecore Buffer Provider functions@{Ecore Buffer Provider functions}!ecore\_buffer\_provider\_consumer\_add\_cb\_set@{ecore\_buffer\_provider\_consumer\_add\_cb\_set}}
\index{ecore\_buffer\_provider\_consumer\_add\_cb\_set@{ecore\_buffer\_provider\_consumer\_add\_cb\_set}!Ecore Buffer Provider functions@{Ecore Buffer Provider functions}}
\doxysubsubsubsubsubsection{\texorpdfstring{ecore\_buffer\_provider\_consumer\_add\_cb\_set()}{ecore\_buffer\_provider\_consumer\_add\_cb\_set()}}
{\footnotesize\ttfamily EAPI void ecore\+\_\+buffer\+\_\+provider\+\_\+consumer\+\_\+add\+\_\+cb\+\_\+set (\begin{DoxyParamCaption}\item[{Ecore\+\_\+\+Buffer\+\_\+\+Provider \texorpdfstring{$\ast$}{*}}]{provider,  }\item[{Ecore\+\_\+\+Buffer\+\_\+\+Provider\+\_\+\+Consumer\+\_\+\+Add\+\_\+\+Cb}]{func,  }\item[{void \texorpdfstring{$\ast$}{*}}]{data }\end{DoxyParamCaption})}



Sets a callback for consumer connection events. 

\begin{DoxySince}{Since}
1.\+15
\end{DoxySince}

\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em provider} & The Ecore\+\_\+\+Buffer\+\_\+\+Provider to set callbacks on \\
\hline
\mbox{\texttt{ in}}  & {\em func} & The function to call \\
\hline
\mbox{\texttt{ in}}  & {\em data} & A pointer to the user data to store.\\
\hline
\end{DoxyParams}
A call to this function will set a callback on an Ecore\+\_\+\+Buffer\+\_\+\+Provider, causing {\ttfamily func} to be called whenever {\ttfamily provider} is connected with consumer. 

References \mbox{\hyperlink{group__Eina__Safety__Checks__Group_ga1ccf8538d0015b3801ff642e6156843a}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN}}.

\Hypertarget{group__Ecore__Buffer__Provider__Group_gaa27d4ecbec1da244961bb10b5af9efed}\label{group__Ecore__Buffer__Provider__Group_gaa27d4ecbec1da244961bb10b5af9efed} 
\index{Ecore Buffer Provider functions@{Ecore Buffer Provider functions}!ecore\_buffer\_provider\_consumer\_del\_cb\_set@{ecore\_buffer\_provider\_consumer\_del\_cb\_set}}
\index{ecore\_buffer\_provider\_consumer\_del\_cb\_set@{ecore\_buffer\_provider\_consumer\_del\_cb\_set}!Ecore Buffer Provider functions@{Ecore Buffer Provider functions}}
\doxysubsubsubsubsubsection{\texorpdfstring{ecore\_buffer\_provider\_consumer\_del\_cb\_set()}{ecore\_buffer\_provider\_consumer\_del\_cb\_set()}}
{\footnotesize\ttfamily EAPI void ecore\+\_\+buffer\+\_\+provider\+\_\+consumer\+\_\+del\+\_\+cb\+\_\+set (\begin{DoxyParamCaption}\item[{Ecore\+\_\+\+Buffer\+\_\+\+Provider \texorpdfstring{$\ast$}{*}}]{provider,  }\item[{Ecore\+\_\+\+Buffer\+\_\+\+Provider\+\_\+\+Consumer\+\_\+\+Del\+\_\+\+Cb}]{func,  }\item[{void \texorpdfstring{$\ast$}{*}}]{data }\end{DoxyParamCaption})}



Sets a callback for consumer disconnection events. 

\begin{DoxySince}{Since}
1.\+15
\end{DoxySince}

\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em provider} & The Ecore\+\_\+\+Buffer\+\_\+\+Provider to set callbacks on \\
\hline
\mbox{\texttt{ in}}  & {\em func} & The function to call \\
\hline
\mbox{\texttt{ in}}  & {\em data} & A pointer to the user data to store.\\
\hline
\end{DoxyParams}
A call to this function will set a callback on an Ecore\+\_\+\+Buffer\+\_\+\+Provider, causing {\ttfamily func} to be called whenever {\ttfamily provider} is disconnected with consumer. 

References \mbox{\hyperlink{group__Eina__Safety__Checks__Group_ga1ccf8538d0015b3801ff642e6156843a}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN}}.

\Hypertarget{group__Ecore__Buffer__Provider__Group_ga48f9e542bd2893ebcb576ee9c929bb92}\label{group__Ecore__Buffer__Provider__Group_ga48f9e542bd2893ebcb576ee9c929bb92} 
\index{Ecore Buffer Provider functions@{Ecore Buffer Provider functions}!ecore\_buffer\_provider\_buffer\_released\_cb\_set@{ecore\_buffer\_provider\_buffer\_released\_cb\_set}}
\index{ecore\_buffer\_provider\_buffer\_released\_cb\_set@{ecore\_buffer\_provider\_buffer\_released\_cb\_set}!Ecore Buffer Provider functions@{Ecore Buffer Provider functions}}
\doxysubsubsubsubsubsection{\texorpdfstring{ecore\_buffer\_provider\_buffer\_released\_cb\_set()}{ecore\_buffer\_provider\_buffer\_released\_cb\_set()}}
{\footnotesize\ttfamily EAPI void ecore\+\_\+buffer\+\_\+provider\+\_\+buffer\+\_\+released\+\_\+cb\+\_\+set (\begin{DoxyParamCaption}\item[{Ecore\+\_\+\+Buffer\+\_\+\+Provider \texorpdfstring{$\ast$}{*}}]{provider,  }\item[{Ecore\+\_\+\+Buffer\+\_\+\+Provider\+\_\+\+Enqueue\+\_\+\+Cb}]{func,  }\item[{void \texorpdfstring{$\ast$}{*}}]{data }\end{DoxyParamCaption})}



Sets a callback for released buffer events. 

\begin{DoxySince}{Since}
1.\+15
\end{DoxySince}

\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em provider} & The Ecore\+\_\+\+Buffer\+\_\+\+Provider to set callbacks on \\
\hline
\mbox{\texttt{ in}}  & {\em func} & The function to call \\
\hline
\mbox{\texttt{ in}}  & {\em data} & A pointer to the user data to store.\\
\hline
\end{DoxyParams}
A call to this function will set a callback on an Ecore\+\_\+\+Buffer\+\_\+\+Provider, causing {\ttfamily func} to be called whenever {\ttfamily provider} has received Ecore\+\_\+\+Buffer released from provider.

You may success dequeue the Ecore\+\_\+\+Buffer after this callback called. 

References \mbox{\hyperlink{group__Eina__Safety__Checks__Group_ga1ccf8538d0015b3801ff642e6156843a}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN}}.

