\hypertarget{group__Eldbus__Service}{\section{Service}
\label{group__Eldbus__Service}\index{Service@{Service}}
}
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{struct__Eldbus__Arg__Info}{\+\_\+\+Eldbus\+\_\+\+Arg\+\_\+\+Info}
\item 
struct \hyperlink{struct__Eldbus__Method}{\+\_\+\+Eldbus\+\_\+\+Method}
\item 
struct \hyperlink{struct__Eldbus__Method2}{\+\_\+\+Eldbus\+\_\+\+Method2}
\item 
struct \hyperlink{struct__Eldbus__Signal}{\+\_\+\+Eldbus\+\_\+\+Signal}
\item 
struct \hyperlink{struct__Eldbus__Property}{\+\_\+\+Eldbus\+\_\+\+Property}
\item 
struct \hyperlink{struct__Eldbus__Service__Interface__Desc}{\+\_\+\+Eldbus\+\_\+\+Service\+\_\+\+Interface\+\_\+\+Desc}
\item 
struct \hyperlink{struct__Eldbus__Service__Interface__Desc2}{\+\_\+\+Eldbus\+\_\+\+Service\+\_\+\+Interface\+\_\+\+Desc2}
\end{DoxyCompactItemize}
\subsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\hypertarget{group__Eldbus__Service_ga7fb31cc88516a6ef95f77ca06c151aeb}{\#define {\bfseries E\+L\+D\+B\+U\+S\+\_\+\+M\+E\+T\+H\+O\+D\+\_\+\+F\+L\+A\+G\+\_\+\+D\+E\+P\+R\+E\+C\+A\+T\+E\+D}~1}\label{group__Eldbus__Service_ga7fb31cc88516a6ef95f77ca06c151aeb}

\item 
\hypertarget{group__Eldbus__Service_gaf6e9633bddb86309737b802f06f034b3}{\#define {\bfseries E\+L\+D\+B\+U\+S\+\_\+\+M\+E\+T\+H\+O\+D\+\_\+\+F\+L\+A\+G\+\_\+\+N\+O\+R\+E\+P\+L\+Y}~(1 $<$$<$ 1)}\label{group__Eldbus__Service_gaf6e9633bddb86309737b802f06f034b3}

\item 
\hypertarget{group__Eldbus__Service_ga9a379e08d273756a6e8fd630d45dda21}{\#define {\bfseries E\+L\+D\+B\+U\+S\+\_\+\+M\+E\+T\+H\+O\+D\+\_\+\+F\+L\+A\+G\+\_\+\+H\+A\+S\+\_\+\+D\+A\+T\+A}~(1 $<$$<$ 2)}\label{group__Eldbus__Service_ga9a379e08d273756a6e8fd630d45dda21}

\item 
\hypertarget{group__Eldbus__Service_gad3127e2f4db6df6a4b781ad084fde047}{\#define {\bfseries E\+L\+D\+B\+U\+S\+\_\+\+S\+I\+G\+N\+A\+L\+\_\+\+F\+L\+A\+G\+\_\+\+D\+E\+P\+R\+E\+C\+A\+T\+E\+D}~1}\label{group__Eldbus__Service_gad3127e2f4db6df6a4b781ad084fde047}

\item 
\hypertarget{group__Eldbus__Service_gaf1e3d19356960cf56dd90d62452edaad}{\#define {\bfseries E\+L\+D\+B\+U\+S\+\_\+\+P\+R\+O\+P\+E\+R\+T\+Y\+\_\+\+F\+L\+A\+G\+\_\+\+D\+E\+P\+R\+E\+C\+A\+T\+E\+D}~1}\label{group__Eldbus__Service_gaf1e3d19356960cf56dd90d62452edaad}

\item 
\hypertarget{group__Eldbus__Service_ga297ae237729e1f2a48291997ca369a43}{\#define {\bfseries E\+L\+D\+B\+U\+S\+\_\+\+I\+N\+T\+E\+R\+F\+A\+C\+E\+\_\+\+D\+E\+S\+C\+R\+I\+P\+T\+O\+R\+\_\+\+V\+E\+R\+S\+I\+O\+N}~2}\label{group__Eldbus__Service_ga297ae237729e1f2a48291997ca369a43}

\item 
\#define \hyperlink{group__Eldbus__Service_gab77338df786b5ad2a9f86693432f23a4}{E\+L\+D\+B\+U\+S\+\_\+\+A\+R\+G\+S}(args...)~(const \hyperlink{struct__Eldbus__Arg__Info}{Eldbus\+\_\+\+Arg\+\_\+\+Info}\mbox{[}$\,$\mbox{]})\{ args, \{ N\+U\+L\+L, N\+U\+L\+L \} \}
\begin{DoxyCompactList}\small\item\em Used to insert complete types to signature of methods or signals. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
\hypertarget{group__Eldbus__Service_ga2dc3099aa077f8e6a644aceb09a7baae}{typedef struct \hyperlink{struct__Eldbus__Arg__Info}{\+\_\+\+Eldbus\+\_\+\+Arg\+\_\+\+Info} {\bfseries Eldbus\+\_\+\+Arg\+\_\+\+Info}}\label{group__Eldbus__Service_ga2dc3099aa077f8e6a644aceb09a7baae}

\item 
\hypertarget{group__Eldbus__Service_ga10a9decd266f3d36611ace4ed54520e2}{typedef struct \\*
\+\_\+\+Eldbus\+\_\+\+Service\+\_\+\+Interface {\bfseries Eldbus\+\_\+\+Service\+\_\+\+Interface}}\label{group__Eldbus__Service_ga10a9decd266f3d36611ace4ed54520e2}

\item 
\hypertarget{group__Eldbus__Service_gac2903faeec36f047e9adfa2a42a851a9}{typedef \hyperlink{group__Eldbus__Core_ga14e8c4d4b96af5fb8bb5c66dc315593a}{Eldbus\+\_\+\+Message} $\ast$($\ast$ {\bfseries Eldbus\+\_\+\+Method\+\_\+\+Cb} )(const Eldbus\+\_\+\+Service\+\_\+\+Interface $\ast$iface, const \hyperlink{group__Eldbus__Core_ga14e8c4d4b96af5fb8bb5c66dc315593a}{Eldbus\+\_\+\+Message} $\ast$message)}\label{group__Eldbus__Service_gac2903faeec36f047e9adfa2a42a851a9}

\item 
\hypertarget{group__Eldbus__Service_ga3193f669feb21c2eac4b6f919d554174}{typedef \hyperlink{group__Eldbus__Core_ga14e8c4d4b96af5fb8bb5c66dc315593a}{Eldbus\+\_\+\+Message} $\ast$($\ast$ {\bfseries Eldbus\+\_\+\+Method\+\_\+\+Data\+\_\+\+Cb} )(void $\ast$data, const Eldbus\+\_\+\+Service\+\_\+\+Interface $\ast$iface, const \hyperlink{group__Eldbus__Core_ga14e8c4d4b96af5fb8bb5c66dc315593a}{Eldbus\+\_\+\+Message} $\ast$message)}\label{group__Eldbus__Service_ga3193f669feb21c2eac4b6f919d554174}

\item 
typedef \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}($\ast$ \hyperlink{group__Eldbus__Service_ga762c9fe29393a3840168c7631c35e966}{Eldbus\+\_\+\+Property\+\_\+\+Get\+\_\+\+Cb} )(const Eldbus\+\_\+\+Service\+\_\+\+Interface $\ast$iface, const char $\ast$propname, \hyperlink{group__Eldbus__Core_ga08a70c6651064414e56d75fba2232925}{Eldbus\+\_\+\+Message\+\_\+\+Iter} $\ast$iter, const \hyperlink{group__Eldbus__Core_ga14e8c4d4b96af5fb8bb5c66dc315593a}{Eldbus\+\_\+\+Message} $\ast$request\+\_\+msg, \hyperlink{group__Eldbus__Core_ga14e8c4d4b96af5fb8bb5c66dc315593a}{Eldbus\+\_\+\+Message} $\ast$$\ast$error)
\begin{DoxyCompactList}\small\item\em Callback function to append property value to message. \end{DoxyCompactList}\item 
typedef \hyperlink{group__Eldbus__Core_ga14e8c4d4b96af5fb8bb5c66dc315593a}{Eldbus\+\_\+\+Message} $\ast$($\ast$ \hyperlink{group__Eldbus__Service_gabf4e5ece7d8f1efea3df1427b8cc508a}{Eldbus\+\_\+\+Property\+\_\+\+Set\+\_\+\+Cb} )(const Eldbus\+\_\+\+Service\+\_\+\+Interface $\ast$iface, const char $\ast$propname, \hyperlink{group__Eldbus__Core_ga08a70c6651064414e56d75fba2232925}{Eldbus\+\_\+\+Message\+\_\+\+Iter} $\ast$iter, const \hyperlink{group__Eldbus__Core_ga14e8c4d4b96af5fb8bb5c66dc315593a}{Eldbus\+\_\+\+Message} $\ast$input\+\_\+msg)
\begin{DoxyCompactList}\small\item\em Callback function to set property value from message. \end{DoxyCompactList}\item 
\hypertarget{group__Eldbus__Service_gaf7fb4b87c6ce7f8ee125f522155634b3}{typedef struct \hyperlink{struct__Eldbus__Method}{\+\_\+\+Eldbus\+\_\+\+Method} {\bfseries Eldbus\+\_\+\+Method}}\label{group__Eldbus__Service_gaf7fb4b87c6ce7f8ee125f522155634b3}

\item 
\hypertarget{group__Eldbus__Service_ga7a8c3329391a27ff33534374600fca38}{typedef struct \hyperlink{struct__Eldbus__Method2}{\+\_\+\+Eldbus\+\_\+\+Method2} {\bfseries Eldbus\+\_\+\+Method2}}\label{group__Eldbus__Service_ga7a8c3329391a27ff33534374600fca38}

\item 
\hypertarget{group__Eldbus__Service_ga56aef5d0bfd6b48e63e1c1427d6f007c}{typedef struct \hyperlink{struct__Eldbus__Signal}{\+\_\+\+Eldbus\+\_\+\+Signal} {\bfseries Eldbus\+\_\+\+Signal}}\label{group__Eldbus__Service_ga56aef5d0bfd6b48e63e1c1427d6f007c}

\item 
\hypertarget{group__Eldbus__Service_ga9366588b4712c85d61fd971f614b79ac}{typedef struct \hyperlink{struct__Eldbus__Property}{\+\_\+\+Eldbus\+\_\+\+Property} {\bfseries Eldbus\+\_\+\+Property}}\label{group__Eldbus__Service_ga9366588b4712c85d61fd971f614b79ac}

\item 
\hypertarget{group__Eldbus__Service_gabe9aa01e1536719f7c234800b158a96c}{typedef struct \\*
\hyperlink{struct__Eldbus__Service__Interface__Desc}{\+\_\+\+Eldbus\+\_\+\+Service\+\_\+\+Interface\+\_\+\+Desc} {\bfseries Eldbus\+\_\+\+Service\+\_\+\+Interface\+\_\+\+Desc}}\label{group__Eldbus__Service_gabe9aa01e1536719f7c234800b158a96c}

\item 
\hypertarget{group__Eldbus__Service_ga8245481fedebc1bcb825cfcd4036e836}{typedef struct \\*
\hyperlink{struct__Eldbus__Service__Interface__Desc2}{\+\_\+\+Eldbus\+\_\+\+Service\+\_\+\+Interface\+\_\+\+Desc2} {\bfseries Eldbus\+\_\+\+Service\+\_\+\+Interface\+\_\+\+Desc2}}\label{group__Eldbus__Service_ga8245481fedebc1bcb825cfcd4036e836}

\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
Eldbus\+\_\+\+Service\+\_\+\+Interface $\ast$ \hyperlink{group__Eldbus__Service_ga5e48c24176e0d4e845eaa24be5a89c5b}{eldbus\+\_\+service\+\_\+interface\+\_\+register} (\hyperlink{group__Eldbus__Core_ga5f0557a7e65ed263fcc1678874b8f7e7}{Eldbus\+\_\+\+Connection} $\ast$conn, const char $\ast$path, const \hyperlink{struct__Eldbus__Service__Interface__Desc}{Eldbus\+\_\+\+Service\+\_\+\+Interface\+\_\+\+Desc} $\ast$desc)
\begin{DoxyCompactList}\small\item\em Register an interface in the given path and connection. \end{DoxyCompactList}\item 
Eldbus\+\_\+\+Service\+\_\+\+Interface $\ast$ \hyperlink{group__Eldbus__Service_gadd42330ff9b149f153dc0be70fcaad81}{eldbus\+\_\+service\+\_\+interface\+\_\+fallback\+\_\+register} (\hyperlink{group__Eldbus__Core_ga5f0557a7e65ed263fcc1678874b8f7e7}{Eldbus\+\_\+\+Connection} $\ast$conn, const char $\ast$path, const \hyperlink{struct__Eldbus__Service__Interface__Desc}{Eldbus\+\_\+\+Service\+\_\+\+Interface\+\_\+\+Desc} $\ast$desc)
\begin{DoxyCompactList}\small\item\em Register a fallback interface handler for a given subsection of the object hierarchy. \end{DoxyCompactList}\item 
Eldbus\+\_\+\+Service\+\_\+\+Interface $\ast$ \hyperlink{group__Eldbus__Service_gad5a4bef948ad29ff0233768e87432c1b}{eldbus\+\_\+service\+\_\+interface\+\_\+register2} (\hyperlink{group__Eldbus__Core_ga5f0557a7e65ed263fcc1678874b8f7e7}{Eldbus\+\_\+\+Connection} $\ast$conn, const char $\ast$path, const \hyperlink{struct__Eldbus__Service__Interface__Desc2}{Eldbus\+\_\+\+Service\+\_\+\+Interface\+\_\+\+Desc2} $\ast$desc)
\begin{DoxyCompactList}\small\item\em Register an interface in the given path and connection. \end{DoxyCompactList}\item 
Eldbus\+\_\+\+Service\+\_\+\+Interface $\ast$ \hyperlink{group__Eldbus__Service_ga8e24f2c8d621bc7846ea1770f486584e}{eldbus\+\_\+service\+\_\+interface\+\_\+fallback\+\_\+register2} (\hyperlink{group__Eldbus__Core_ga5f0557a7e65ed263fcc1678874b8f7e7}{Eldbus\+\_\+\+Connection} $\ast$conn, const char $\ast$path, const \hyperlink{struct__Eldbus__Service__Interface__Desc2}{Eldbus\+\_\+\+Service\+\_\+\+Interface\+\_\+\+Desc2} $\ast$desc)
\begin{DoxyCompactList}\small\item\em Register a fallback interface handler for a given subsection of the object hierarchy. \end{DoxyCompactList}\item 
void \hyperlink{group__Eldbus__Service_ga16f7215afc4c9432c2bf639e437f193c}{eldbus\+\_\+service\+\_\+interface\+\_\+unregister} (Eldbus\+\_\+\+Service\+\_\+\+Interface $\ast$iface)
\begin{DoxyCompactList}\small\item\em Unregister a interface. \end{DoxyCompactList}\item 
\hypertarget{group__Eldbus__Service_gad93bc27e856d7747d76873edff991a3a}{void \hyperlink{group__Eldbus__Service_gad93bc27e856d7747d76873edff991a3a}{eldbus\+\_\+service\+\_\+object\+\_\+unregister} (Eldbus\+\_\+\+Service\+\_\+\+Interface $\ast$iface)}\label{group__Eldbus__Service_gad93bc27e856d7747d76873edff991a3a}

\begin{DoxyCompactList}\small\item\em Unregister all interfaces of the object path that this interface belongs and the object path. \end{DoxyCompactList}\item 
\hypertarget{group__Eldbus__Service_gada16a04bbabc219123cbac90f1aad793}{\hyperlink{group__Eldbus__Core_ga5f0557a7e65ed263fcc1678874b8f7e7}{Eldbus\+\_\+\+Connection} $\ast$ {\bfseries eldbus\+\_\+service\+\_\+connection\+\_\+get} (const Eldbus\+\_\+\+Service\+\_\+\+Interface $\ast$iface)}\label{group__Eldbus__Service_gada16a04bbabc219123cbac90f1aad793}

\item 
\hypertarget{group__Eldbus__Service_ga3633101a16cfe7d80b8649d7bf3e3884}{const char $\ast$ {\bfseries eldbus\+\_\+service\+\_\+object\+\_\+path\+\_\+get} (const Eldbus\+\_\+\+Service\+\_\+\+Interface $\ast$iface)}\label{group__Eldbus__Service_ga3633101a16cfe7d80b8649d7bf3e3884}

\item 
\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eldbus__Service_ga710a0428a3bb8d0f436a030272c9f82b}{eldbus\+\_\+service\+\_\+signal\+\_\+emit} (const Eldbus\+\_\+\+Service\+\_\+\+Interface $\ast$iface, unsigned int signal\+\_\+id,...)
\begin{DoxyCompactList}\small\item\em Emit a signal handler of the interface with non-\/complex types. \end{DoxyCompactList}\item 
\hyperlink{group__Eldbus__Core_ga14e8c4d4b96af5fb8bb5c66dc315593a}{Eldbus\+\_\+\+Message} $\ast$ \hyperlink{group__Eldbus__Service_ga6448c01e341163b5ce9593416e4e75f3}{eldbus\+\_\+service\+\_\+signal\+\_\+new} (const Eldbus\+\_\+\+Service\+\_\+\+Interface $\ast$iface, unsigned int signal\+\_\+id)
\begin{DoxyCompactList}\small\item\em Create signal message. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eldbus__Service_gabcd4af078093c616f025bc05a95c04a7}{eldbus\+\_\+service\+\_\+signal\+\_\+send} (const Eldbus\+\_\+\+Service\+\_\+\+Interface $\ast$iface, \hyperlink{group__Eldbus__Core_ga14e8c4d4b96af5fb8bb5c66dc315593a}{Eldbus\+\_\+\+Message} $\ast$signal\+\_\+msg)
\begin{DoxyCompactList}\small\item\em Send a signal message. \end{DoxyCompactList}\item 
void \hyperlink{group__Eldbus__Service_ga6f4024c9749ecba16c7f7d6c09b96b49}{eldbus\+\_\+service\+\_\+object\+\_\+data\+\_\+set} (Eldbus\+\_\+\+Service\+\_\+\+Interface $\ast$iface, const char $\ast$key, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Store data at object path, this data can be obtained from all interfaces of the same object. \end{DoxyCompactList}\item 
void $\ast$ \hyperlink{group__Eldbus__Service_gafae1334e33095b18ba4810d2653c8700}{eldbus\+\_\+service\+\_\+object\+\_\+data\+\_\+get} (const Eldbus\+\_\+\+Service\+\_\+\+Interface $\ast$iface, const char $\ast$key)
\begin{DoxyCompactList}\small\item\em Get data stored in object path. \end{DoxyCompactList}\item 
void $\ast$ \hyperlink{group__Eldbus__Service_gacfd59221d57aedf3b90a63dc206f09f4}{eldbus\+\_\+service\+\_\+object\+\_\+data\+\_\+del} (Eldbus\+\_\+\+Service\+\_\+\+Interface $\ast$iface, const char $\ast$key)
\begin{DoxyCompactList}\small\item\em Del data stored in object path. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eldbus__Service_ga51cfeabdb75e0f0413bb398f12769f67}{eldbus\+\_\+service\+\_\+property\+\_\+changed} (const Eldbus\+\_\+\+Service\+\_\+\+Interface $\ast$iface, const char $\ast$name)
\begin{DoxyCompactList}\small\item\em Add property to list of changed properties A D\+Bus.\+Properties\+Changed signal will be sent in an idler with all properties that have changed. \end{DoxyCompactList}\item 
\hypertarget{group__Eldbus__Service_ga7b22ea92cdc94d4927d2be757a3f0718}{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} {\bfseries eldbus\+\_\+service\+\_\+property\+\_\+invalidate\+\_\+set} (const Eldbus\+\_\+\+Service\+\_\+\+Interface $\ast$iface, const char $\ast$name, \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} is\+\_\+invalidate)}\label{group__Eldbus__Service_ga7b22ea92cdc94d4927d2be757a3f0718}

\item 
\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eldbus__Service_ga9ebf1302c3be4a23011477b6a2f1ae65}{eldbus\+\_\+service\+\_\+object\+\_\+manager\+\_\+attach} (Eldbus\+\_\+\+Service\+\_\+\+Interface $\ast$iface)
\begin{DoxyCompactList}\small\item\em Attach Object\+Manager interface. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eldbus__Service_gafb7c735cafee5049992283526168a108}{eldbus\+\_\+service\+\_\+object\+\_\+manager\+\_\+detach} (Eldbus\+\_\+\+Service\+\_\+\+Interface $\ast$iface)
\begin{DoxyCompactList}\small\item\em Detach Object\+Manager interface. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}


\subsection{Macro Definition Documentation}
\hypertarget{group__Eldbus__Service_gab77338df786b5ad2a9f86693432f23a4}{\index{Service@{Service}!E\+L\+D\+B\+U\+S\+\_\+\+A\+R\+G\+S@{E\+L\+D\+B\+U\+S\+\_\+\+A\+R\+G\+S}}
\index{E\+L\+D\+B\+U\+S\+\_\+\+A\+R\+G\+S@{E\+L\+D\+B\+U\+S\+\_\+\+A\+R\+G\+S}!Service@{Service}}
\subsubsection[{E\+L\+D\+B\+U\+S\+\_\+\+A\+R\+G\+S}]{\setlength{\rightskip}{0pt plus 5cm}\#define E\+L\+D\+B\+U\+S\+\_\+\+A\+R\+G\+S(
\begin{DoxyParamCaption}
\item[{}]{args...}
\end{DoxyParamCaption}
)~(const {\bf Eldbus\+\_\+\+Arg\+\_\+\+Info}\mbox{[}$\,$\mbox{]})\{ args, \{ N\+U\+L\+L, N\+U\+L\+L \} \}}}\label{group__Eldbus__Service_gab77338df786b5ad2a9f86693432f23a4}


Used to insert complete types to signature of methods or signals. 

Example\+: E\+L\+D\+B\+U\+S\+\_\+\+A\+R\+G\+S(\{\char`\"{}s\char`\"{}, \char`\"{}interface\char`\"{}\}, \{\char`\"{}s\char`\"{}, \char`\"{}property\char`\"{}\}) The signature will be \char`\"{}ss\char`\"{} and each string will have a tag name on introspect X\+M\+L with the respective name. \begin{Desc}
\item[Examples\+: ]\par
\hyperlink{complex-types-server_8c-example}{complex-\/types-\/server.\+c}, \hyperlink{server_8c-example}{server.\+c}, and \hyperlink{simple-signal-emit_8c-example}{simple-\/signal-\/emit.\+c}.\end{Desc}


\subsection{Typedef Documentation}
\hypertarget{group__Eldbus__Service_ga762c9fe29393a3840168c7631c35e966}{\index{Service@{Service}!Eldbus\+\_\+\+Property\+\_\+\+Get\+\_\+\+Cb@{Eldbus\+\_\+\+Property\+\_\+\+Get\+\_\+\+Cb}}
\index{Eldbus\+\_\+\+Property\+\_\+\+Get\+\_\+\+Cb@{Eldbus\+\_\+\+Property\+\_\+\+Get\+\_\+\+Cb}!Service@{Service}}
\subsubsection[{Eldbus\+\_\+\+Property\+\_\+\+Get\+\_\+\+Cb}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Eina\+\_\+\+Bool}($\ast$ Eldbus\+\_\+\+Property\+\_\+\+Get\+\_\+\+Cb)(const Eldbus\+\_\+\+Service\+\_\+\+Interface $\ast$iface, const char $\ast$propname, {\bf Eldbus\+\_\+\+Message\+\_\+\+Iter} $\ast$iter, const {\bf Eldbus\+\_\+\+Message} $\ast$request\+\_\+msg, {\bf Eldbus\+\_\+\+Message} $\ast$$\ast$error)}}\label{group__Eldbus__Service_ga762c9fe29393a3840168c7631c35e966}


Callback function to append property value to message. 


\begin{DoxyParams}{Parameters}
{\em iface} & interface of property \\
\hline
{\em propname} & name of property \\
\hline
{\em iter} & variant iterator in which value must be appended \\
\hline
{\em request\+\_\+msg} & message that request property \\
\hline
{\em error} & if a error happen you must set a message error to be send caller\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
E\+I\+N\+A\+\_\+\+T\+R\+U\+E if success
\end{DoxyReturn}
\begin{DoxyNote}{Note}
request\+\_\+msg and error arguments are only different from N\+U\+L\+L when a client request a property with Properties.\+Get or Properties.\+Get\+All. Upon calls to \hyperlink{group__Eldbus__Service_ga51cfeabdb75e0f0413bb398f12769f67}{eldbus\+\_\+service\+\_\+property\+\_\+changed()}, this callback will also be called. It's a mistake to return an error in this case because if a property changed, it must have a new value set and it should be able to be read. 
\end{DoxyNote}
\hypertarget{group__Eldbus__Service_gabf4e5ece7d8f1efea3df1427b8cc508a}{\index{Service@{Service}!Eldbus\+\_\+\+Property\+\_\+\+Set\+\_\+\+Cb@{Eldbus\+\_\+\+Property\+\_\+\+Set\+\_\+\+Cb}}
\index{Eldbus\+\_\+\+Property\+\_\+\+Set\+\_\+\+Cb@{Eldbus\+\_\+\+Property\+\_\+\+Set\+\_\+\+Cb}!Service@{Service}}
\subsubsection[{Eldbus\+\_\+\+Property\+\_\+\+Set\+\_\+\+Cb}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Eldbus\+\_\+\+Message}$\ast$($\ast$ Eldbus\+\_\+\+Property\+\_\+\+Set\+\_\+\+Cb)(const Eldbus\+\_\+\+Service\+\_\+\+Interface $\ast$iface, const char $\ast$propname, {\bf Eldbus\+\_\+\+Message\+\_\+\+Iter} $\ast$iter, const {\bf Eldbus\+\_\+\+Message} $\ast$input\+\_\+msg)}}\label{group__Eldbus__Service_gabf4e5ece7d8f1efea3df1427b8cc508a}


Callback function to set property value from message. 


\begin{DoxyParams}{Parameters}
{\em iface} & interface of property \\
\hline
{\em propname} & name of property \\
\hline
{\em input\+\_\+msg} & message call where you have to get value\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Message of response, could be a simple method\+\_\+return, error or N\+U\+L\+L to send response later. 
\end{DoxyReturn}


\subsection{Function Documentation}
\hypertarget{group__Eldbus__Service_ga5e48c24176e0d4e845eaa24be5a89c5b}{\index{Service@{Service}!eldbus\+\_\+service\+\_\+interface\+\_\+register@{eldbus\+\_\+service\+\_\+interface\+\_\+register}}
\index{eldbus\+\_\+service\+\_\+interface\+\_\+register@{eldbus\+\_\+service\+\_\+interface\+\_\+register}!Service@{Service}}
\subsubsection[{eldbus\+\_\+service\+\_\+interface\+\_\+register}]{\setlength{\rightskip}{0pt plus 5cm}Eldbus\+\_\+\+Service\+\_\+\+Interface$\ast$ eldbus\+\_\+service\+\_\+interface\+\_\+register (
\begin{DoxyParamCaption}
\item[{{\bf Eldbus\+\_\+\+Connection} $\ast$}]{conn, }
\item[{const char $\ast$}]{path, }
\item[{const {\bf Eldbus\+\_\+\+Service\+\_\+\+Interface\+\_\+\+Desc} $\ast$}]{desc}
\end{DoxyParamCaption}
)}}\label{group__Eldbus__Service_ga5e48c24176e0d4e845eaa24be5a89c5b}


Register an interface in the given path and connection. 


\begin{DoxyParams}{Parameters}
{\em conn} & where the interface should listen \\
\hline
{\em path} & object path \\
\hline
{\em desc} & description of interface\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Interface 
\end{DoxyReturn}
\hypertarget{group__Eldbus__Service_gadd42330ff9b149f153dc0be70fcaad81}{\index{Service@{Service}!eldbus\+\_\+service\+\_\+interface\+\_\+fallback\+\_\+register@{eldbus\+\_\+service\+\_\+interface\+\_\+fallback\+\_\+register}}
\index{eldbus\+\_\+service\+\_\+interface\+\_\+fallback\+\_\+register@{eldbus\+\_\+service\+\_\+interface\+\_\+fallback\+\_\+register}!Service@{Service}}
\subsubsection[{eldbus\+\_\+service\+\_\+interface\+\_\+fallback\+\_\+register}]{\setlength{\rightskip}{0pt plus 5cm}Eldbus\+\_\+\+Service\+\_\+\+Interface$\ast$ eldbus\+\_\+service\+\_\+interface\+\_\+fallback\+\_\+register (
\begin{DoxyParamCaption}
\item[{{\bf Eldbus\+\_\+\+Connection} $\ast$}]{conn, }
\item[{const char $\ast$}]{path, }
\item[{const {\bf Eldbus\+\_\+\+Service\+\_\+\+Interface\+\_\+\+Desc} $\ast$}]{desc}
\end{DoxyParamCaption}
)}}\label{group__Eldbus__Service_gadd42330ff9b149f153dc0be70fcaad81}


Register a fallback interface handler for a given subsection of the object hierarchy. 

Note\+: Use \hyperlink{group__Eldbus__Service_ga16f7215afc4c9432c2bf639e437f193c}{eldbus\+\_\+service\+\_\+interface\+\_\+unregister()} to unregister a interface. 
\begin{DoxyParams}{Parameters}
{\em conn} & where the interface should listen \\
\hline
{\em path} & a '/' delimited string of path elements \\
\hline
{\em desc} & description of interface \\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Eldbus__Service_ga16f7215afc4c9432c2bf639e437f193c}{eldbus\+\_\+service\+\_\+interface\+\_\+unregister()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+9
\end{DoxySince}
\begin{DoxyReturn}{Returns}
Interface 
\end{DoxyReturn}


References E\+I\+N\+A\+\_\+\+T\+R\+U\+E.

\hypertarget{group__Eldbus__Service_gad5a4bef948ad29ff0233768e87432c1b}{\index{Service@{Service}!eldbus\+\_\+service\+\_\+interface\+\_\+register2@{eldbus\+\_\+service\+\_\+interface\+\_\+register2}}
\index{eldbus\+\_\+service\+\_\+interface\+\_\+register2@{eldbus\+\_\+service\+\_\+interface\+\_\+register2}!Service@{Service}}
\subsubsection[{eldbus\+\_\+service\+\_\+interface\+\_\+register2}]{\setlength{\rightskip}{0pt plus 5cm}Eldbus\+\_\+\+Service\+\_\+\+Interface$\ast$ eldbus\+\_\+service\+\_\+interface\+\_\+register2 (
\begin{DoxyParamCaption}
\item[{{\bf Eldbus\+\_\+\+Connection} $\ast$}]{conn, }
\item[{const char $\ast$}]{path, }
\item[{const {\bf Eldbus\+\_\+\+Service\+\_\+\+Interface\+\_\+\+Desc2} $\ast$}]{desc}
\end{DoxyParamCaption}
)}}\label{group__Eldbus__Service_gad5a4bef948ad29ff0233768e87432c1b}


Register an interface in the given path and connection. 

This extended register function allows the registration of stateful methods, with void$\ast$ data.

Note\+: Use \hyperlink{group__Eldbus__Service_ga16f7215afc4c9432c2bf639e437f193c}{eldbus\+\_\+service\+\_\+interface\+\_\+unregister()} to unregister a interface.


\begin{DoxyParams}{Parameters}
{\em conn} & where the interface should listen \\
\hline
{\em path} & object path \\
\hline
{\em desc} & description of interface\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+11
\end{DoxySince}
\begin{DoxyReturn}{Returns}
Interface 
\end{DoxyReturn}


References \+\_\+\+Eldbus\+\_\+\+Service\+\_\+\+Interface\+\_\+\+Desc2\+::version.

\hypertarget{group__Eldbus__Service_ga8e24f2c8d621bc7846ea1770f486584e}{\index{Service@{Service}!eldbus\+\_\+service\+\_\+interface\+\_\+fallback\+\_\+register2@{eldbus\+\_\+service\+\_\+interface\+\_\+fallback\+\_\+register2}}
\index{eldbus\+\_\+service\+\_\+interface\+\_\+fallback\+\_\+register2@{eldbus\+\_\+service\+\_\+interface\+\_\+fallback\+\_\+register2}!Service@{Service}}
\subsubsection[{eldbus\+\_\+service\+\_\+interface\+\_\+fallback\+\_\+register2}]{\setlength{\rightskip}{0pt plus 5cm}Eldbus\+\_\+\+Service\+\_\+\+Interface$\ast$ eldbus\+\_\+service\+\_\+interface\+\_\+fallback\+\_\+register2 (
\begin{DoxyParamCaption}
\item[{{\bf Eldbus\+\_\+\+Connection} $\ast$}]{conn, }
\item[{const char $\ast$}]{path, }
\item[{const {\bf Eldbus\+\_\+\+Service\+\_\+\+Interface\+\_\+\+Desc2} $\ast$}]{desc}
\end{DoxyParamCaption}
)}}\label{group__Eldbus__Service_ga8e24f2c8d621bc7846ea1770f486584e}


Register a fallback interface handler for a given subsection of the object hierarchy. 

This extended register function allows the registration of stateful methods, with void$\ast$ data.

Note\+: Use \hyperlink{group__Eldbus__Service_ga16f7215afc4c9432c2bf639e437f193c}{eldbus\+\_\+service\+\_\+interface\+\_\+unregister()} to unregister a interface.


\begin{DoxyParams}{Parameters}
{\em conn} & where the interface should listen \\
\hline
{\em path} & a '/' delimited string of path elements \\
\hline
{\em desc} & description of interface \\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Eldbus__Service_ga16f7215afc4c9432c2bf639e437f193c}{eldbus\+\_\+service\+\_\+interface\+\_\+unregister()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+11
\end{DoxySince}
\begin{DoxyReturn}{Returns}
Interface 
\end{DoxyReturn}


References E\+I\+N\+A\+\_\+\+T\+R\+U\+E, and \+\_\+\+Eldbus\+\_\+\+Service\+\_\+\+Interface\+\_\+\+Desc2\+::version.

\hypertarget{group__Eldbus__Service_ga16f7215afc4c9432c2bf639e437f193c}{\index{Service@{Service}!eldbus\+\_\+service\+\_\+interface\+\_\+unregister@{eldbus\+\_\+service\+\_\+interface\+\_\+unregister}}
\index{eldbus\+\_\+service\+\_\+interface\+\_\+unregister@{eldbus\+\_\+service\+\_\+interface\+\_\+unregister}!Service@{Service}}
\subsubsection[{eldbus\+\_\+service\+\_\+interface\+\_\+unregister}]{\setlength{\rightskip}{0pt plus 5cm}void eldbus\+\_\+service\+\_\+interface\+\_\+unregister (
\begin{DoxyParamCaption}
\item[{Eldbus\+\_\+\+Service\+\_\+\+Interface $\ast$}]{iface}
\end{DoxyParamCaption}
)}}\label{group__Eldbus__Service_ga16f7215afc4c9432c2bf639e437f193c}


Unregister a interface. 

Note\+: This doesn't unregister the object path if interface count reaches 0. Use \hyperlink{group__Eldbus__Service_gad93bc27e856d7747d76873edff991a3a}{eldbus\+\_\+service\+\_\+object\+\_\+unregister()} to unregister the object. 

References eina\+\_\+hash\+\_\+del(), and E\+I\+N\+A\+\_\+\+T\+R\+U\+E.

\hypertarget{group__Eldbus__Service_ga710a0428a3bb8d0f436a030272c9f82b}{\index{Service@{Service}!eldbus\+\_\+service\+\_\+signal\+\_\+emit@{eldbus\+\_\+service\+\_\+signal\+\_\+emit}}
\index{eldbus\+\_\+service\+\_\+signal\+\_\+emit@{eldbus\+\_\+service\+\_\+signal\+\_\+emit}!Service@{Service}}
\subsubsection[{eldbus\+\_\+service\+\_\+signal\+\_\+emit}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Eina\+\_\+\+Bool} eldbus\+\_\+service\+\_\+signal\+\_\+emit (
\begin{DoxyParamCaption}
\item[{const Eldbus\+\_\+\+Service\+\_\+\+Interface $\ast$}]{iface, }
\item[{unsigned int}]{signal\+\_\+id, }
\item[{}]{...}
\end{DoxyParamCaption}
)}}\label{group__Eldbus__Service_ga710a0428a3bb8d0f436a030272c9f82b}


Emit a signal handler of the interface with non-\/complex types. 

Each signal handler have a internal id, the first signal handler of interface is = 0 the second = 1 and go on.


\begin{DoxyParams}{Parameters}
{\em iface} & interface of the signal \\
\hline
{\em signal\+\_\+id} & id of signal \\
\hline
{\em ...} & values that will be send on signal \\
\hline
\end{DoxyParams}


References eina\+\_\+array\+\_\+count(), eina\+\_\+array\+\_\+data\+\_\+get(), E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E, E\+I\+N\+A\+\_\+\+T\+R\+U\+E, eldbus\+\_\+message\+\_\+arguments\+\_\+vappend(), eldbus\+\_\+message\+\_\+unref(), eldbus\+\_\+service\+\_\+signal\+\_\+new(), and eldbus\+\_\+service\+\_\+signal\+\_\+send().

\hypertarget{group__Eldbus__Service_ga6448c01e341163b5ce9593416e4e75f3}{\index{Service@{Service}!eldbus\+\_\+service\+\_\+signal\+\_\+new@{eldbus\+\_\+service\+\_\+signal\+\_\+new}}
\index{eldbus\+\_\+service\+\_\+signal\+\_\+new@{eldbus\+\_\+service\+\_\+signal\+\_\+new}!Service@{Service}}
\subsubsection[{eldbus\+\_\+service\+\_\+signal\+\_\+new}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Eldbus\+\_\+\+Message}$\ast$ eldbus\+\_\+service\+\_\+signal\+\_\+new (
\begin{DoxyParamCaption}
\item[{const Eldbus\+\_\+\+Service\+\_\+\+Interface $\ast$}]{iface, }
\item[{unsigned int}]{signal\+\_\+id}
\end{DoxyParamCaption}
)}}\label{group__Eldbus__Service_ga6448c01e341163b5ce9593416e4e75f3}


Create signal message. 

Each signal handler have a internal id, the first signal handler of interface is = 0 the second = 1 and go on. This function is used when the signal has complex types.


\begin{DoxyParams}{Parameters}
{\em iface} & interface of the signal \\
\hline
{\em signal\+\_\+id} & id of signal \\
\hline
\end{DoxyParams}


References eina\+\_\+array\+\_\+count().



Referenced by eldbus\+\_\+service\+\_\+signal\+\_\+emit().

\hypertarget{group__Eldbus__Service_gabcd4af078093c616f025bc05a95c04a7}{\index{Service@{Service}!eldbus\+\_\+service\+\_\+signal\+\_\+send@{eldbus\+\_\+service\+\_\+signal\+\_\+send}}
\index{eldbus\+\_\+service\+\_\+signal\+\_\+send@{eldbus\+\_\+service\+\_\+signal\+\_\+send}!Service@{Service}}
\subsubsection[{eldbus\+\_\+service\+\_\+signal\+\_\+send}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Eina\+\_\+\+Bool} eldbus\+\_\+service\+\_\+signal\+\_\+send (
\begin{DoxyParamCaption}
\item[{const Eldbus\+\_\+\+Service\+\_\+\+Interface $\ast$}]{iface, }
\item[{{\bf Eldbus\+\_\+\+Message} $\ast$}]{signal\+\_\+msg}
\end{DoxyParamCaption}
)}}\label{group__Eldbus__Service_gabcd4af078093c616f025bc05a95c04a7}


Send a signal message. 

On success this will call \hyperlink{group__Eldbus__Message_ga25e968b4f10dc8ee3ab31cbb66a0b8af}{eldbus\+\_\+message\+\_\+unref()} on the 
\begin{DoxyParams}{Parameters}
{\em signal\+\_\+msg,which} & is the intended behavior in 99\% of the cases. Remember to increment the refcount if you want to keep it alive. \\
\hline
\end{DoxyParams}


References E\+I\+N\+A\+\_\+\+T\+R\+U\+E.



Referenced by eldbus\+\_\+service\+\_\+signal\+\_\+emit().

\hypertarget{group__Eldbus__Service_ga6f4024c9749ecba16c7f7d6c09b96b49}{\index{Service@{Service}!eldbus\+\_\+service\+\_\+object\+\_\+data\+\_\+set@{eldbus\+\_\+service\+\_\+object\+\_\+data\+\_\+set}}
\index{eldbus\+\_\+service\+\_\+object\+\_\+data\+\_\+set@{eldbus\+\_\+service\+\_\+object\+\_\+data\+\_\+set}!Service@{Service}}
\subsubsection[{eldbus\+\_\+service\+\_\+object\+\_\+data\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}void eldbus\+\_\+service\+\_\+object\+\_\+data\+\_\+set (
\begin{DoxyParamCaption}
\item[{Eldbus\+\_\+\+Service\+\_\+\+Interface $\ast$}]{iface, }
\item[{const char $\ast$}]{key, }
\item[{const void $\ast$}]{data}
\end{DoxyParamCaption}
)}}\label{group__Eldbus__Service_ga6f4024c9749ecba16c7f7d6c09b96b49}


Store data at object path, this data can be obtained from all interfaces of the same object. 


\begin{DoxyParams}{Parameters}
{\em iface} & interface that belong to the object path where data will be stored \\
\hline
{\em key} & to identify data \\
\hline
{\em data} & \\
\hline
\end{DoxyParams}
\hypertarget{group__Eldbus__Service_gafae1334e33095b18ba4810d2653c8700}{\index{Service@{Service}!eldbus\+\_\+service\+\_\+object\+\_\+data\+\_\+get@{eldbus\+\_\+service\+\_\+object\+\_\+data\+\_\+get}}
\index{eldbus\+\_\+service\+\_\+object\+\_\+data\+\_\+get@{eldbus\+\_\+service\+\_\+object\+\_\+data\+\_\+get}!Service@{Service}}
\subsubsection[{eldbus\+\_\+service\+\_\+object\+\_\+data\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}void$\ast$ eldbus\+\_\+service\+\_\+object\+\_\+data\+\_\+get (
\begin{DoxyParamCaption}
\item[{const Eldbus\+\_\+\+Service\+\_\+\+Interface $\ast$}]{iface, }
\item[{const char $\ast$}]{key}
\end{DoxyParamCaption}
)}}\label{group__Eldbus__Service_gafae1334e33095b18ba4810d2653c8700}


Get data stored in object path. 


\begin{DoxyParams}{Parameters}
{\em iface} & interface that belongs to the object path where data are stored \\
\hline
{\em key} & that identify data\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
pointer to data if found otherwise N\+U\+L\+L 
\end{DoxyReturn}
\hypertarget{group__Eldbus__Service_gacfd59221d57aedf3b90a63dc206f09f4}{\index{Service@{Service}!eldbus\+\_\+service\+\_\+object\+\_\+data\+\_\+del@{eldbus\+\_\+service\+\_\+object\+\_\+data\+\_\+del}}
\index{eldbus\+\_\+service\+\_\+object\+\_\+data\+\_\+del@{eldbus\+\_\+service\+\_\+object\+\_\+data\+\_\+del}!Service@{Service}}
\subsubsection[{eldbus\+\_\+service\+\_\+object\+\_\+data\+\_\+del}]{\setlength{\rightskip}{0pt plus 5cm}void$\ast$ eldbus\+\_\+service\+\_\+object\+\_\+data\+\_\+del (
\begin{DoxyParamCaption}
\item[{Eldbus\+\_\+\+Service\+\_\+\+Interface $\ast$}]{iface, }
\item[{const char $\ast$}]{key}
\end{DoxyParamCaption}
)}}\label{group__Eldbus__Service_gacfd59221d57aedf3b90a63dc206f09f4}


Del data stored in object path. 


\begin{DoxyParams}{Parameters}
{\em iface} & interface that belongs to the object path where data are stored \\
\hline
{\em key} & that identify data\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
pointer to data if found otherwise N\+U\+L\+L 
\end{DoxyReturn}
\hypertarget{group__Eldbus__Service_ga51cfeabdb75e0f0413bb398f12769f67}{\index{Service@{Service}!eldbus\+\_\+service\+\_\+property\+\_\+changed@{eldbus\+\_\+service\+\_\+property\+\_\+changed}}
\index{eldbus\+\_\+service\+\_\+property\+\_\+changed@{eldbus\+\_\+service\+\_\+property\+\_\+changed}!Service@{Service}}
\subsubsection[{eldbus\+\_\+service\+\_\+property\+\_\+changed}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Eina\+\_\+\+Bool} eldbus\+\_\+service\+\_\+property\+\_\+changed (
\begin{DoxyParamCaption}
\item[{const Eldbus\+\_\+\+Service\+\_\+\+Interface $\ast$}]{iface, }
\item[{const char $\ast$}]{name}
\end{DoxyParamCaption}
)}}\label{group__Eldbus__Service_ga51cfeabdb75e0f0413bb398f12769f67}


Add property to list of changed properties A D\+Bus.\+Properties\+Changed signal will be sent in an idler with all properties that have changed. 


\begin{DoxyParams}{Parameters}
{\em iface} & Interface containing the changed property \\
\hline
{\em name} & Property name \\
\hline
\end{DoxyParams}


References ecore\+\_\+idler\+\_\+add(), eina\+\_\+array\+\_\+new(), eina\+\_\+array\+\_\+push(), and eina\+\_\+hash\+\_\+find().

\hypertarget{group__Eldbus__Service_ga9ebf1302c3be4a23011477b6a2f1ae65}{\index{Service@{Service}!eldbus\+\_\+service\+\_\+object\+\_\+manager\+\_\+attach@{eldbus\+\_\+service\+\_\+object\+\_\+manager\+\_\+attach}}
\index{eldbus\+\_\+service\+\_\+object\+\_\+manager\+\_\+attach@{eldbus\+\_\+service\+\_\+object\+\_\+manager\+\_\+attach}!Service@{Service}}
\subsubsection[{eldbus\+\_\+service\+\_\+object\+\_\+manager\+\_\+attach}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Eina\+\_\+\+Bool} eldbus\+\_\+service\+\_\+object\+\_\+manager\+\_\+attach (
\begin{DoxyParamCaption}
\item[{Eldbus\+\_\+\+Service\+\_\+\+Interface $\ast$}]{iface}
\end{DoxyParamCaption}
)}}\label{group__Eldbus__Service_ga9ebf1302c3be4a23011477b6a2f1ae65}


Attach Object\+Manager interface. 


\begin{DoxyParams}{Parameters}
{\em iface} & Object\+Manager will be attach in object path of this interface. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
E\+I\+N\+A\+\_\+\+T\+R\+U\+E if success 
\end{DoxyReturn}


References ecore\+\_\+idler\+\_\+del(), E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E, eina\+\_\+hash\+\_\+add(), eina\+\_\+hash\+\_\+find(), and E\+I\+N\+A\+\_\+\+T\+R\+U\+E.

\hypertarget{group__Eldbus__Service_gafb7c735cafee5049992283526168a108}{\index{Service@{Service}!eldbus\+\_\+service\+\_\+object\+\_\+manager\+\_\+detach@{eldbus\+\_\+service\+\_\+object\+\_\+manager\+\_\+detach}}
\index{eldbus\+\_\+service\+\_\+object\+\_\+manager\+\_\+detach@{eldbus\+\_\+service\+\_\+object\+\_\+manager\+\_\+detach}!Service@{Service}}
\subsubsection[{eldbus\+\_\+service\+\_\+object\+\_\+manager\+\_\+detach}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Eina\+\_\+\+Bool} eldbus\+\_\+service\+\_\+object\+\_\+manager\+\_\+detach (
\begin{DoxyParamCaption}
\item[{Eldbus\+\_\+\+Service\+\_\+\+Interface $\ast$}]{iface}
\end{DoxyParamCaption}
)}}\label{group__Eldbus__Service_gafb7c735cafee5049992283526168a108}


Detach Object\+Manager interface. 


\begin{DoxyParams}{Parameters}
{\em iface} & Object\+Manager of object path of this interface will be detach. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
E\+I\+N\+A\+\_\+\+T\+R\+U\+E if success 
\end{DoxyReturn}
Flush the iface\+\_\+add/removed of all children objects that this object is the Object\+Manager

References eina\+\_\+hash\+\_\+del(), E\+I\+N\+A\+\_\+\+I\+N\+L\+I\+S\+T\+\_\+\+F\+O\+R\+E\+A\+C\+H, and E\+I\+N\+A\+\_\+\+T\+R\+U\+E.

