\hypertarget{kdbnotificationinternal_8h}{}\section{kdbnotificationinternal.\+h File Reference}
\label{kdbnotificationinternal_8h}\index{kdbnotificationinternal.\+h@{kdbnotificationinternal.\+h}}


Elektra-\/\+Notification structures and declarations for developing notification and transport plugins.  


{\ttfamily \#include \char`\"{}kdb.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}kdbnotification.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}kdbplugin.\+h\char`\"{}}\newline
Include dependency graph for kdbnotificationinternal.\+h\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{kdbnotificationinternal_8h__incl}
\end{center}
\end{figure}
This graph shows which files directly or indirectly include this file\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{kdbnotificationinternal_8h__dep__incl}
\end{center}
\end{figure}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef int($\ast$ \hyperlink{kdbnotificationinternal_8h_ad517b6f5b6c06859f9f8cfee7f5ef9bd}{Elektra\+Notification\+Plugin\+Register\+Int}) (Plugin $\ast$handle, Key $\ast$key, int $\ast$variable)
\begin{DoxyCompactList}\small\item\em Subscribe for automatic updates to a given integer variable when the given key value is changed. \end{DoxyCompactList}\item 
typedef int($\ast$ \hyperlink{kdbnotificationinternal_8h_a52b0b0567d489d37c3ca31b20a65e10a}{Elektra\+Notification\+Plugin\+Register\+Callback}) (Plugin $\ast$handle, Key $\ast$key, \hyperlink{kdbnotification_8h_ab5fc8807478f28217df170b86a85fd19}{Elektra\+Notification\+Change\+Callback} callback)
\begin{DoxyCompactList}\small\item\em Subscribe for updates via callback when a given key value is changed. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{kdbnotificationinternal_8h_aebda57a78b594b7d250afeb38d528aae}\label{kdbnotificationinternal_8h_aebda57a78b594b7d250afeb38d528aae}} 
typedef struct \+\_\+\+Elektra\+Notification\+Callback\+Context \hyperlink{kdbnotificationinternal_8h_aebda57a78b594b7d250afeb38d528aae}{Elektra\+Notification\+Callback\+Context}
\begin{DoxyCompactList}\small\item\em Context for notification callbacks. \end{DoxyCompactList}\item 
typedef void($\ast$ \hyperlink{kdbnotificationinternal_8h_a786567c76edbd32fd5922bc575f221bb}{Elektra\+Notification\+Callback}) (Key $\ast$key, \hyperlink{kdbnotificationinternal_8h_aebda57a78b594b7d250afeb38d528aae}{Elektra\+Notification\+Callback\+Context} $\ast$context)
\begin{DoxyCompactList}\small\item\em Notify notification library of changes to a key. \end{DoxyCompactList}\item 
typedef void($\ast$ \hyperlink{kdbnotificationinternal_8h_adf7cf73a2740a3852b73d607b911a254}{Elektra\+Notification\+Open\+Notification}) (Plugin $\ast$handle, Key\+Set $\ast$parameters)
\begin{DoxyCompactList}\small\item\em Initialize plugin\textquotesingle{}s notification capabilities. \end{DoxyCompactList}\item 
typedef void($\ast$ \hyperlink{kdbnotificationinternal_8h_adc260d2c576df585aaa965cf97bc9284}{Elektra\+Notification\+Close\+Notification}) (Plugin $\ast$handle, Key\+Set $\ast$parameters)
\begin{DoxyCompactList}\small\item\em Teardown plugin\textquotesingle{}s notification capabilities. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Elektra-\/\+Notification structures and declarations for developing notification and transport plugins. 

Only used by elektra-\/notification library, notification plugins (e.\+g. internalnotification) and transport plugins.

\begin{DoxyCopyright}{Copyright}
B\+SD License (see L\+I\+C\+E\+N\+S\+E.\+md or \href{https://www.libelektra.org}{\tt https\+://www.\+libelektra.\+org}) 
\end{DoxyCopyright}


\subsection{Typedef Documentation}
\mbox{\Hypertarget{kdbnotificationinternal_8h_a786567c76edbd32fd5922bc575f221bb}\label{kdbnotificationinternal_8h_a786567c76edbd32fd5922bc575f221bb}} 
\index{kdbnotificationinternal.\+h@{kdbnotificationinternal.\+h}!Elektra\+Notification\+Callback@{Elektra\+Notification\+Callback}}
\index{Elektra\+Notification\+Callback@{Elektra\+Notification\+Callback}!kdbnotificationinternal.\+h@{kdbnotificationinternal.\+h}}
\subsubsection{\texorpdfstring{Elektra\+Notification\+Callback}{ElektraNotificationCallback}}
{\footnotesize\ttfamily typedef void($\ast$ Elektra\+Notification\+Callback) (Key $\ast$key, \hyperlink{kdbnotificationinternal_8h_aebda57a78b594b7d250afeb38d528aae}{Elektra\+Notification\+Callback\+Context} $\ast$context)}



Notify notification library of changes to a key. 

This callback is passed by {\ttfamily elektra\+Notification\+Open} to plugins exporting a {\ttfamily open\+Notification} function.


\begin{DoxyParams}{Parameters}
{\em key} & changed key \\
\hline
{\em context} & context passed by Elektra\+Notification\+Open\+Notification \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{kdbnotificationinternal_8h_adc260d2c576df585aaa965cf97bc9284}\label{kdbnotificationinternal_8h_adc260d2c576df585aaa965cf97bc9284}} 
\index{kdbnotificationinternal.\+h@{kdbnotificationinternal.\+h}!Elektra\+Notification\+Close\+Notification@{Elektra\+Notification\+Close\+Notification}}
\index{Elektra\+Notification\+Close\+Notification@{Elektra\+Notification\+Close\+Notification}!kdbnotificationinternal.\+h@{kdbnotificationinternal.\+h}}
\subsubsection{\texorpdfstring{Elektra\+Notification\+Close\+Notification}{ElektraNotificationCloseNotification}}
{\footnotesize\ttfamily typedef void($\ast$ Elektra\+Notification\+Close\+Notification) (Plugin $\ast$handle, Key\+Set $\ast$parameters)}



Teardown plugin\textquotesingle{}s notification capabilities. 

Exported as \char`\"{}close\+Notification\char`\"{} by transport plugins.


\begin{DoxyParams}{Parameters}
{\em handle} & plugin handle \\
\hline
{\em parameters} & unused \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{kdbnotificationinternal_8h_adf7cf73a2740a3852b73d607b911a254}\label{kdbnotificationinternal_8h_adf7cf73a2740a3852b73d607b911a254}} 
\index{kdbnotificationinternal.\+h@{kdbnotificationinternal.\+h}!Elektra\+Notification\+Open\+Notification@{Elektra\+Notification\+Open\+Notification}}
\index{Elektra\+Notification\+Open\+Notification@{Elektra\+Notification\+Open\+Notification}!kdbnotificationinternal.\+h@{kdbnotificationinternal.\+h}}
\subsubsection{\texorpdfstring{Elektra\+Notification\+Open\+Notification}{ElektraNotificationOpenNotification}}
{\footnotesize\ttfamily typedef void($\ast$ Elektra\+Notification\+Open\+Notification) (Plugin $\ast$handle, Key\+Set $\ast$parameters)}



Initialize plugin\textquotesingle{}s notification capabilities. 

Exported as \char`\"{}open\+Notification\char`\"{} by transport plugins.


\begin{DoxyParams}{Parameters}
{\em handle} & plugin handle \\
\hline
{\em parameters} & contains the keys \char`\"{}/callback\char`\"{} (Elektra\+Notification\+Callback $\ast$ ) and \char`\"{}/context\char`\"{} (Elektra\+Notification\+Callback\+Context $\ast$). \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{kdbnotificationinternal_8h_a52b0b0567d489d37c3ca31b20a65e10a}\label{kdbnotificationinternal_8h_a52b0b0567d489d37c3ca31b20a65e10a}} 
\index{kdbnotificationinternal.\+h@{kdbnotificationinternal.\+h}!Elektra\+Notification\+Plugin\+Register\+Callback@{Elektra\+Notification\+Plugin\+Register\+Callback}}
\index{Elektra\+Notification\+Plugin\+Register\+Callback@{Elektra\+Notification\+Plugin\+Register\+Callback}!kdbnotificationinternal.\+h@{kdbnotificationinternal.\+h}}
\subsubsection{\texorpdfstring{Elektra\+Notification\+Plugin\+Register\+Callback}{ElektraNotificationPluginRegisterCallback}}
{\footnotesize\ttfamily typedef int($\ast$ Elektra\+Notification\+Plugin\+Register\+Callback) (Plugin $\ast$handle, Key $\ast$key, \hyperlink{kdbnotification_8h_ab5fc8807478f28217df170b86a85fd19}{Elektra\+Notification\+Change\+Callback} callback)}



Subscribe for updates via callback when a given key value is changed. 


\begin{DoxyParams}{Parameters}
{\em handle} & plugin handle \\
\hline
{\em key} & key to watch for changes \\
\hline
{\em callback} & callback function\\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Return values}
{\em 1} & on success \\
\hline
{\em 0} & on failure \\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{kdbnotificationinternal_8h_ad517b6f5b6c06859f9f8cfee7f5ef9bd}\label{kdbnotificationinternal_8h_ad517b6f5b6c06859f9f8cfee7f5ef9bd}} 
\index{kdbnotificationinternal.\+h@{kdbnotificationinternal.\+h}!Elektra\+Notification\+Plugin\+Register\+Int@{Elektra\+Notification\+Plugin\+Register\+Int}}
\index{Elektra\+Notification\+Plugin\+Register\+Int@{Elektra\+Notification\+Plugin\+Register\+Int}!kdbnotificationinternal.\+h@{kdbnotificationinternal.\+h}}
\subsubsection{\texorpdfstring{Elektra\+Notification\+Plugin\+Register\+Int}{ElektraNotificationPluginRegisterInt}}
{\footnotesize\ttfamily typedef int($\ast$ Elektra\+Notification\+Plugin\+Register\+Int) (Plugin $\ast$handle, Key $\ast$key, int $\ast$variable)}



Subscribe for automatic updates to a given integer variable when the given key value is changed. 


\begin{DoxyParams}{Parameters}
{\em handle} & plugin handle \\
\hline
{\em key} & key to watch for changes \\
\hline
{\em variable} & integer variable\\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Return values}
{\em 1} & on success \\
\hline
{\em 0} & on failure \\
\hline
\end{DoxyRetVals}
