\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_a421a8547fbaed87e33ae64730f22a169}{Elektra\+Notification\+Plugin\+Register\+Callback}) (Plugin $\ast$handle, Key $\ast$key, \hyperlink{group__kdbnotification_gad0d800e32a72d89780321e5723301eb9}{Elektra\+Notification\+Change\+Callback} callback, void $\ast$context)
\begin{DoxyCompactList}\small\item\em Subscribe for updates via callback when a given key value is changed. \end{DoxyCompactList}\item 
typedef int($\ast$ \hyperlink{kdbnotificationinternal_8h_a18405d18a0c79684955b0569eeaeded7}{Elektra\+Notification\+Plugin\+Register\+Callback\+Same\+Or\+Below}) (Plugin $\ast$handle, Key $\ast$key, \hyperlink{group__kdbnotification_gad0d800e32a72d89780321e5723301eb9}{Elektra\+Notification\+Change\+Callback} callback, void $\ast$context)
\begin{DoxyCompactList}\small\item\em Subscribe for updates via callback when a given key or a key below is changed. \end{DoxyCompactList}\item 
typedef void($\ast$ \hyperlink{kdbnotificationinternal_8h_adbe7347d8fa8a323b9ec363c1a21aef6}{Elektra\+Notification\+Set\+Conversion\+Error\+Callback}) (Plugin $\ast$handle, \hyperlink{group__kdbnotification_gaad19fb981cad906eb9c72bd602c7bb64}{Elektra\+Notification\+Conversion\+Error\+Callback} callback, void $\ast$context)
\begin{DoxyCompactList}\small\item\em Allow setting a callback that is called when a value conversion failed. \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}\item 
typedef void($\ast$ \hyperlink{kdbnotificationinternal_8h_a7328fc35d4c31ac459519371f9024494}{Elektra\+Notification\+Kdb\+Update}) (K\+DB $\ast$kdb, Key $\ast$changed\+Key)
\begin{DoxyCompactList}\small\item\em Used by notification plugins to get values from the key database. \end{DoxyCompactList}\end{DoxyCompactItemize}


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

Only available in Elektra\textquotesingle{}s source.

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_a7328fc35d4c31ac459519371f9024494}\label{kdbnotificationinternal_8h_a7328fc35d4c31ac459519371f9024494}} 
\index{kdbnotificationinternal.\+h@{kdbnotificationinternal.\+h}!Elektra\+Notification\+Kdb\+Update@{Elektra\+Notification\+Kdb\+Update}}
\index{Elektra\+Notification\+Kdb\+Update@{Elektra\+Notification\+Kdb\+Update}!kdbnotificationinternal.\+h@{kdbnotificationinternal.\+h}}
\subsubsection{\texorpdfstring{Elektra\+Notification\+Kdb\+Update}{ElektraNotificationKdbUpdate}}
{\footnotesize\ttfamily typedef void($\ast$ Elektra\+Notification\+Kdb\+Update) (K\+DB $\ast$kdb, Key $\ast$changed\+Key)}



Used by notification plugins to get values from the key database. 


\begin{DoxyParams}{Parameters}
{\em kdb} & kdb handle \\
\hline
{\em changed\+Key} & which key was updated \\
\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) and \char`\"{}/context\char`\"{} (Elektra\+Notification\+Callback\+Context $\ast$). \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{kdbnotificationinternal_8h_a421a8547fbaed87e33ae64730f22a169}\label{kdbnotificationinternal_8h_a421a8547fbaed87e33ae64730f22a169}} 
\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{group__kdbnotification_gad0d800e32a72d89780321e5723301eb9}{Elektra\+Notification\+Change\+Callback} callback, void $\ast$context)}



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

Exported as \char`\"{}register\+Callback\char`\"{} by notification plugins.


\begin{DoxyParams}{Parameters}
{\em handle} & plugin handle \\
\hline
{\em key} & key to watch for changes \\
\hline
{\em callback} & callback function \\
\hline
{\em context} & user supplied context passed to 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_a18405d18a0c79684955b0569eeaeded7}\label{kdbnotificationinternal_8h_a18405d18a0c79684955b0569eeaeded7}} 
\index{kdbnotificationinternal.\+h@{kdbnotificationinternal.\+h}!Elektra\+Notification\+Plugin\+Register\+Callback\+Same\+Or\+Below@{Elektra\+Notification\+Plugin\+Register\+Callback\+Same\+Or\+Below}}
\index{Elektra\+Notification\+Plugin\+Register\+Callback\+Same\+Or\+Below@{Elektra\+Notification\+Plugin\+Register\+Callback\+Same\+Or\+Below}!kdbnotificationinternal.\+h@{kdbnotificationinternal.\+h}}
\subsubsection{\texorpdfstring{Elektra\+Notification\+Plugin\+Register\+Callback\+Same\+Or\+Below}{ElektraNotificationPluginRegisterCallbackSameOrBelow}}
{\footnotesize\ttfamily typedef int($\ast$ Elektra\+Notification\+Plugin\+Register\+Callback\+Same\+Or\+Below) (Plugin $\ast$handle, Key $\ast$key, \hyperlink{group__kdbnotification_gad0d800e32a72d89780321e5723301eb9}{Elektra\+Notification\+Change\+Callback} callback, void $\ast$context)}



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

Exported as \char`\"{}register\+Callback\+Same\+Or\+Below\char`\"{} by notification plugins.


\begin{DoxyParams}{Parameters}
{\em handle} & plugin handle \\
\hline
{\em key} & key to watch for changes \\
\hline
{\em callback} & callback function \\
\hline
{\em context} & user supplied context passed to 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_adbe7347d8fa8a323b9ec363c1a21aef6}\label{kdbnotificationinternal_8h_adbe7347d8fa8a323b9ec363c1a21aef6}} 
\index{kdbnotificationinternal.\+h@{kdbnotificationinternal.\+h}!Elektra\+Notification\+Set\+Conversion\+Error\+Callback@{Elektra\+Notification\+Set\+Conversion\+Error\+Callback}}
\index{Elektra\+Notification\+Set\+Conversion\+Error\+Callback@{Elektra\+Notification\+Set\+Conversion\+Error\+Callback}!kdbnotificationinternal.\+h@{kdbnotificationinternal.\+h}}
\subsubsection{\texorpdfstring{Elektra\+Notification\+Set\+Conversion\+Error\+Callback}{ElektraNotificationSetConversionErrorCallback}}
{\footnotesize\ttfamily typedef void($\ast$ Elektra\+Notification\+Set\+Conversion\+Error\+Callback) (Plugin $\ast$handle, \hyperlink{group__kdbnotification_gaad19fb981cad906eb9c72bd602c7bb64}{Elektra\+Notification\+Conversion\+Error\+Callback} callback, void $\ast$context)}



Allow setting a callback that is called when a value conversion failed. 

Exported as \char`\"{}set\+Conversion\+Error\+Callback\char`\"{} notification plugins.


\begin{DoxyParams}{Parameters}
{\em kdb} & kdb handle \\
\hline
{\em callback} & callback \\
\hline
{\em context} & context \\
\hline
\end{DoxyParams}
