\hypertarget{group__kdbnotification}{}\doxysection{Notification}
\label{group__kdbnotification}\index{Notification@{Notification}}


Notification feature.  


\doxysubsection*{Files}
\begin{DoxyCompactItemize}
\item 
file \mbox{\hyperlink{kdbnotification_8h}{kdbnotification.\+h}}
\begin{DoxyCompactList}\small\item\em Elektra-\/\+Notification structures and declarations for application developers. \end{DoxyCompactList}\item 
file \mbox{\hyperlink{kdbnotificationinternal_8h}{kdbnotificationinternal.\+h}}
\begin{DoxyCompactList}\small\item\em Elektra-\/\+Notification structures and declarations for developing notification and transport plugins. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef void($\ast$ \mbox{\hyperlink{group__kdbnotification_gaad19fb981cad906eb9c72bd602c7bb64}{Elektra\+Notification\+Conversion\+Error\+Callback}}) (Key $\ast$key, void $\ast$context)
\begin{DoxyCompactList}\small\item\em Callback function called when string to number conversion failed. \end{DoxyCompactList}\item 
typedef void($\ast$ \mbox{\hyperlink{group__kdbnotification_gad0d800e32a72d89780321e5723301eb9}{Elektra\+Notification\+Change\+Callback}}) (Key $\ast$key, void $\ast$context)
\begin{DoxyCompactList}\small\item\em Callback function for key changes. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
int \mbox{\hyperlink{group__kdbnotification_gab42738703162b3769b1336dcade47b18}{elektra\+Notification\+Register\+Callback}} (KDB $\ast$kdb, Key $\ast$key, \mbox{\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 
int \mbox{\hyperlink{group__kdbnotification_ga374edd4f4fff527d6511ce4d0df62681}{elektra\+Notification\+Register\+Callback\+Same\+Or\+Below}} (KDB $\ast$kdb, Key $\ast$key, \mbox{\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 changed. \end{DoxyCompactList}\end{DoxyCompactItemize}
\begin{DoxyCompactItemize}
\item 
int \mbox{\hyperlink{group__kdbnotification_ga362d557489c4199f6c765480a8a3cade}{elektra\+Notification\+Register\+Int}} (KDB $\ast$kdb, Key $\ast$key, int $\ast$variable)
\begin{DoxyCompactList}\small\item\em Subscribe for automatic updates to a given variable when the given key value is changed. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__kdbnotification_ga940c1014f72e01b4145c418e87efa492}{elektra\+Notification\+Register\+Unsigned\+Int}} (KDB $\ast$kdb, Key $\ast$key, unsigned int $\ast$variable)
\begin{DoxyCompactList}\small\item\em Subscribe for automatic updates to a given variable when the given key value is changed. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__kdbnotification_ga1130c58dc89f5838ca1c7d625e04bc92}{elektra\+Notification\+Register\+Long}} (KDB $\ast$kdb, Key $\ast$key, long $\ast$variable)
\begin{DoxyCompactList}\small\item\em Subscribe for automatic updates to a given variable when the given key value is changed. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__kdbnotification_ga8ba57c05dcd561b266f3a32aa687d4ea}{elektra\+Notification\+Register\+Unsigned\+Long}} (KDB $\ast$kdb, Key $\ast$key, unsigned long $\ast$variable)
\begin{DoxyCompactList}\small\item\em Subscribe for automatic updates to a given variable when the given key value is changed. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__kdbnotification_ga59593e7b3b2b5e32ec0d5cf611e3704c}{elektra\+Notification\+Register\+Long\+Long}} (KDB $\ast$kdb, Key $\ast$key, long long $\ast$variable)
\begin{DoxyCompactList}\small\item\em Subscribe for automatic updates to a given variable when the given key value is changed. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__kdbnotification_ga69673c57ef694bb6d5d383eaf89750dd}{elektra\+Notification\+Register\+Unsigned\+Long\+Long}} (KDB $\ast$kdb, Key $\ast$key, unsigned long long $\ast$variable)
\begin{DoxyCompactList}\small\item\em Subscribe for automatic updates to a given variable when the given key value is changed. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__kdbnotification_gad4edf91428d39b3255dffd4b01bc0754}{elektra\+Notification\+Register\+Float}} (KDB $\ast$kdb, Key $\ast$key, float $\ast$variable)
\begin{DoxyCompactList}\small\item\em Subscribe for automatic updates to a given variable when the given key value is changed. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__kdbnotification_ga03367f9caa0b6cce1579bc5d690729f4}{elektra\+Notification\+Register\+Double}} (KDB $\ast$kdb, Key $\ast$key, double $\ast$variable)
\begin{DoxyCompactList}\small\item\em Subscribe for automatic updates to a given variable when the given key value is changed. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__kdbnotification_gae6546ac973124e44c456f945086b6c3a}{elektra\+Notification\+Register\+Kdb\+Boolean}} (KDB $\ast$kdb, Key $\ast$key, kdb\+\_\+boolean\+\_\+t $\ast$variable)
\begin{DoxyCompactList}\small\item\em Subscribe for automatic updates to a given variable when the given key value is changed. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__kdbnotification_ga3a7d85507eb0afcdbf2598b9bf03b819}{elektra\+Notification\+Register\+Kdb\+Char}} (KDB $\ast$kdb, Key $\ast$key, kdb\+\_\+char\+\_\+t $\ast$variable)
\begin{DoxyCompactList}\small\item\em Subscribe for automatic updates to a given variable when the given key value is changed. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__kdbnotification_ga5f969cbf9fc58f199c91d03d2bed8e56}{elektra\+Notification\+Register\+Kdb\+Octet}} (KDB $\ast$kdb, Key $\ast$key, kdb\+\_\+octet\+\_\+t $\ast$variable)
\begin{DoxyCompactList}\small\item\em Subscribe for automatic updates to a given variable when the given key value is changed. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__kdbnotification_ga2cb436f9f56b117aed93af70d88cc29c}{elektra\+Notification\+Register\+Kdb\+Short}} (KDB $\ast$kdb, Key $\ast$key, kdb\+\_\+short\+\_\+t $\ast$variable)
\begin{DoxyCompactList}\small\item\em Subscribe for automatic updates to a given variable when the given key value is changed. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__kdbnotification_ga94b47b5810894136bbdd73279ad45490}{elektra\+Notification\+Register\+Kdb\+Unsigned\+Short}} (KDB $\ast$kdb, Key $\ast$key, kdb\+\_\+unsigned\+\_\+short\+\_\+t $\ast$variable)
\begin{DoxyCompactList}\small\item\em Subscribe for automatic updates to a given variable when the given key value is changed. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__kdbnotification_ga6c3c7e2dec0a4087ccd434bb478384d7}{elektra\+Notification\+Register\+Kdb\+Long}} (KDB $\ast$kdb, Key $\ast$key, kdb\+\_\+long\+\_\+t $\ast$variable)
\begin{DoxyCompactList}\small\item\em Subscribe for automatic updates to a given variable when the given key value is changed. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__kdbnotification_ga450849bc96f30c5ececac2d0dda51b4e}{elektra\+Notification\+Register\+Kdb\+Unsigned\+Long}} (KDB $\ast$kdb, Key $\ast$key, kdb\+\_\+unsigned\+\_\+long\+\_\+t $\ast$variable)
\begin{DoxyCompactList}\small\item\em Subscribe for automatic updates to a given variable when the given key value is changed. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__kdbnotification_ga58fdd6f2ce8237ff21687112076800ca}{elektra\+Notification\+Register\+Kdb\+Long\+Long}} (KDB $\ast$kdb, Key $\ast$key, kdb\+\_\+long\+\_\+long\+\_\+t $\ast$variable)
\begin{DoxyCompactList}\small\item\em Subscribe for automatic updates to a given variable when the given key value is changed. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__kdbnotification_gad375d4f6b35be2034bb3fa86ca5d8b49}{elektra\+Notification\+Register\+Kdb\+Unsigned\+Long\+Long}} (KDB $\ast$kdb, Key $\ast$key, kdb\+\_\+unsigned\+\_\+long\+\_\+long\+\_\+t $\ast$variable)
\begin{DoxyCompactList}\small\item\em Subscribe for automatic updates to a given variable when the given key value is changed. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__kdbnotification_ga6c83faa92467ece80470e7898dc7d08b}{elektra\+Notification\+Register\+Kdb\+Float}} (KDB $\ast$kdb, Key $\ast$key, kdb\+\_\+float\+\_\+t $\ast$variable)
\begin{DoxyCompactList}\small\item\em Subscribe for automatic updates to a given variable when the given key value is changed. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group__kdbnotification_ga99a142068ed614d7cb8b177e3b6920e4}{elektra\+Notification\+Register\+Kdb\+Double}} (KDB $\ast$kdb, Key $\ast$key, kdb\+\_\+double\+\_\+t $\ast$variable)
\begin{DoxyCompactList}\small\item\em Subscribe for automatic updates to a given variable when the given key value is changed. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Notification feature. 

For an introduction to notifications please see the \href{doc_tutorials_notifications_md.html}{\texttt{ Notification Tutorial}}.

Examples\+:


\begin{DoxyItemize}
\item \href{https://www.libelektra.org/examples/notificationpolling}{\texttt{ Basic notifications using polling}}
\item \href{https://www.libelektra.org/examples/notificationasync}{\texttt{ Using asynchronous I/O bindings}}
\item \href{https://www.libelektra.org/examples/notificationreload}{\texttt{ Reload KDB when Elektra\textquotesingle{}s configuration has changed}}
\end{DoxyItemize}

\begin{DoxyParagraph}{Hook Setup}

\end{DoxyParagraph}
\mbox{\hyperlink{kdbnotification_8h_ad9290f444f315d3eac3f7cfdaf4efcda}{elektra\+Notification\+Contract()}} returns a contract for use with \mbox{\hyperlink{group__kdb_ga844e1299a84c3fbf1d3a905c5c893ba5}{kdb\+Open()}}. The contract ensures that the internalnotification plugin is registered into the correct hook and configured correctly.

\begin{DoxyParagraph}{Transport Plugins}

\end{DoxyParagraph}
Notification transport plugins (or simply transport plugins) need access to an I/O binding, as well as a notification callback and context.

All of these can be retrieved from the global keyset. The keys are as follows\+:
\begin{DoxyItemize}
\item I/O binding\+: {\ttfamily system\+:/elektra/io/binding} Type\+: {\ttfamily Elektra\+Io\+Interface $\ast$}
\item Callback\+: {\ttfamily system\+:/elektra/notification/callback} Type\+: {\ttfamily Elektra\+Notification\+Callback}
\item Context\+: {\ttfamily system\+:/elektra/notification/context} Type\+: {\ttfamily Elektra\+Notification\+Callback\+Context $\ast$}
\end{DoxyItemize}

All of these keys are binary and store a pointer that can be read via {\ttfamily $\ast$(TYPE $\ast$$\ast$) key\+Value (key)}.

The I/O binding can be accessed at any time. It is recommended, plugins read the key once during their {\ttfamily open} function and store the pointer in their plugin data struct.

The notification callback and context are provided by the {\ttfamily internalnotification} plugin. Since it might be initialised after the transport plugin, it is not recommended to read the callback and context in the {\ttfamily open} function. Instead the plugin should read and store the values when the first notification is processed.

Transport plugins should handle missing I/O bindings, notification callbacks and notification contexts gracefully. The plugin should not report and error and instead simply log a debug or warning message. 

\doxysubsection{Typedef Documentation}
\mbox{\Hypertarget{group__kdbnotification_gad0d800e32a72d89780321e5723301eb9}\label{group__kdbnotification_gad0d800e32a72d89780321e5723301eb9}} 
\index{Notification@{Notification}!ElektraNotificationChangeCallback@{ElektraNotificationChangeCallback}}
\index{ElektraNotificationChangeCallback@{ElektraNotificationChangeCallback}!Notification@{Notification}}
\doxysubsubsection{\texorpdfstring{ElektraNotificationChangeCallback}{ElektraNotificationChangeCallback}}
{\footnotesize\ttfamily typedef void($\ast$ Elektra\+Notification\+Change\+Callback) (Key $\ast$key, void $\ast$context)}



Callback function for key changes. 


\begin{DoxyParams}{Parameters}
{\em key} & changed key \\
\hline
{\em context} & user supplied callback context \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group__kdbnotification_gaad19fb981cad906eb9c72bd602c7bb64}\label{group__kdbnotification_gaad19fb981cad906eb9c72bd602c7bb64}} 
\index{Notification@{Notification}!ElektraNotificationConversionErrorCallback@{ElektraNotificationConversionErrorCallback}}
\index{ElektraNotificationConversionErrorCallback@{ElektraNotificationConversionErrorCallback}!Notification@{Notification}}
\doxysubsubsection{\texorpdfstring{ElektraNotificationConversionErrorCallback}{ElektraNotificationConversionErrorCallback}}
{\footnotesize\ttfamily typedef void($\ast$ Elektra\+Notification\+Conversion\+Error\+Callback) (Key $\ast$key, void $\ast$context)}



Callback function called when string to number conversion failed. 


\begin{DoxyParams}{Parameters}
{\em key} & key with invalid value \\
\hline
{\em context} & user supplied callback context \\
\hline
\end{DoxyParams}


\doxysubsection{Function Documentation}
\mbox{\Hypertarget{group__kdbnotification_gab42738703162b3769b1336dcade47b18}\label{group__kdbnotification_gab42738703162b3769b1336dcade47b18}} 
\index{Notification@{Notification}!elektraNotificationRegisterCallback@{elektraNotificationRegisterCallback}}
\index{elektraNotificationRegisterCallback@{elektraNotificationRegisterCallback}!Notification@{Notification}}
\doxysubsubsection{\texorpdfstring{elektraNotificationRegisterCallback()}{elektraNotificationRegisterCallback()}}
{\footnotesize\ttfamily int elektra\+Notification\+Register\+Callback (\begin{DoxyParamCaption}\item[{KDB $\ast$}]{kdb,  }\item[{Key $\ast$}]{key,  }\item[{\mbox{\hyperlink{group__kdbnotification_gad0d800e32a72d89780321e5723301eb9}{Elektra\+Notification\+Change\+Callback}}}]{callback,  }\item[{void $\ast$}]{context }\end{DoxyParamCaption})}



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
{\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{group__kdbnotification_ga374edd4f4fff527d6511ce4d0df62681}\label{group__kdbnotification_ga374edd4f4fff527d6511ce4d0df62681}} 
\index{Notification@{Notification}!elektraNotificationRegisterCallbackSameOrBelow@{elektraNotificationRegisterCallbackSameOrBelow}}
\index{elektraNotificationRegisterCallbackSameOrBelow@{elektraNotificationRegisterCallbackSameOrBelow}!Notification@{Notification}}
\doxysubsubsection{\texorpdfstring{elektraNotificationRegisterCallbackSameOrBelow()}{elektraNotificationRegisterCallbackSameOrBelow()}}
{\footnotesize\ttfamily int elektra\+Notification\+Register\+Callback\+Same\+Or\+Below (\begin{DoxyParamCaption}\item[{KDB $\ast$}]{kdb,  }\item[{Key $\ast$}]{key,  }\item[{\mbox{\hyperlink{group__kdbnotification_gad0d800e32a72d89780321e5723301eb9}{Elektra\+Notification\+Change\+Callback}}}]{callback,  }\item[{void $\ast$}]{context }\end{DoxyParamCaption})}



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


\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{group__kdbnotification_ga03367f9caa0b6cce1579bc5d690729f4}\label{group__kdbnotification_ga03367f9caa0b6cce1579bc5d690729f4}} 
\index{Notification@{Notification}!elektraNotificationRegisterDouble@{elektraNotificationRegisterDouble}}
\index{elektraNotificationRegisterDouble@{elektraNotificationRegisterDouble}!Notification@{Notification}}
\doxysubsubsection{\texorpdfstring{elektraNotificationRegisterDouble()}{elektraNotificationRegisterDouble()}}
{\footnotesize\ttfamily int elektra\+Notification\+Register\+Double (\begin{DoxyParamCaption}\item[{KDB $\ast$}]{kdb,  }\item[{Key $\ast$}]{key,  }\item[{double $\ast$}]{variable }\end{DoxyParamCaption})}



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

On kdb\+Get iff the key is present and its content is valid, the registered variable is updated.


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

\begin{DoxyRetVals}{Return values}
{\em 1} & on success \\
\hline
{\em 0} & on failure\\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{group__kdbnotification_gad4edf91428d39b3255dffd4b01bc0754}\label{group__kdbnotification_gad4edf91428d39b3255dffd4b01bc0754}} 
\index{Notification@{Notification}!elektraNotificationRegisterFloat@{elektraNotificationRegisterFloat}}
\index{elektraNotificationRegisterFloat@{elektraNotificationRegisterFloat}!Notification@{Notification}}
\doxysubsubsection{\texorpdfstring{elektraNotificationRegisterFloat()}{elektraNotificationRegisterFloat()}}
{\footnotesize\ttfamily int elektra\+Notification\+Register\+Float (\begin{DoxyParamCaption}\item[{KDB $\ast$}]{kdb,  }\item[{Key $\ast$}]{key,  }\item[{float $\ast$}]{variable }\end{DoxyParamCaption})}



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

On kdb\+Get iff the key is present and its content is valid, the registered variable is updated.


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

\begin{DoxyRetVals}{Return values}
{\em 1} & on success \\
\hline
{\em 0} & on failure\\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{group__kdbnotification_ga362d557489c4199f6c765480a8a3cade}\label{group__kdbnotification_ga362d557489c4199f6c765480a8a3cade}} 
\index{Notification@{Notification}!elektraNotificationRegisterInt@{elektraNotificationRegisterInt}}
\index{elektraNotificationRegisterInt@{elektraNotificationRegisterInt}!Notification@{Notification}}
\doxysubsubsection{\texorpdfstring{elektraNotificationRegisterInt()}{elektraNotificationRegisterInt()}}
{\footnotesize\ttfamily int elektra\+Notification\+Register\+Int (\begin{DoxyParamCaption}\item[{KDB $\ast$}]{kdb,  }\item[{Key $\ast$}]{key,  }\item[{int $\ast$}]{variable }\end{DoxyParamCaption})}



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

On kdb\+Get iff the key is present and its content is valid, the registered variable is updated.


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

\begin{DoxyRetVals}{Return values}
{\em 1} & on success \\
\hline
{\em 0} & on failure\\
\hline
\end{DoxyRetVals}
Subscribe for automatic updates to a given variable when the given key value is changed. On kdb\+Get iff the key is present and its content is valid, the registered variable is updated.


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

\begin{DoxyRetVals}{Return values}
{\em 1} & on success \\
\hline
{\em 0} & on failure\\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{group__kdbnotification_gae6546ac973124e44c456f945086b6c3a}\label{group__kdbnotification_gae6546ac973124e44c456f945086b6c3a}} 
\index{Notification@{Notification}!elektraNotificationRegisterKdbBoolean@{elektraNotificationRegisterKdbBoolean}}
\index{elektraNotificationRegisterKdbBoolean@{elektraNotificationRegisterKdbBoolean}!Notification@{Notification}}
\doxysubsubsection{\texorpdfstring{elektraNotificationRegisterKdbBoolean()}{elektraNotificationRegisterKdbBoolean()}}
{\footnotesize\ttfamily int elektra\+Notification\+Register\+Kdb\+Boolean (\begin{DoxyParamCaption}\item[{KDB $\ast$}]{kdb,  }\item[{Key $\ast$}]{key,  }\item[{kdb\+\_\+boolean\+\_\+t $\ast$}]{variable }\end{DoxyParamCaption})}



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

On kdb\+Get iff the key is present and its content is valid, the registered variable is updated.


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

\begin{DoxyRetVals}{Return values}
{\em 1} & on success \\
\hline
{\em 0} & on failure\\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{group__kdbnotification_ga3a7d85507eb0afcdbf2598b9bf03b819}\label{group__kdbnotification_ga3a7d85507eb0afcdbf2598b9bf03b819}} 
\index{Notification@{Notification}!elektraNotificationRegisterKdbChar@{elektraNotificationRegisterKdbChar}}
\index{elektraNotificationRegisterKdbChar@{elektraNotificationRegisterKdbChar}!Notification@{Notification}}
\doxysubsubsection{\texorpdfstring{elektraNotificationRegisterKdbChar()}{elektraNotificationRegisterKdbChar()}}
{\footnotesize\ttfamily int elektra\+Notification\+Register\+Kdb\+Char (\begin{DoxyParamCaption}\item[{KDB $\ast$}]{kdb,  }\item[{Key $\ast$}]{key,  }\item[{kdb\+\_\+char\+\_\+t $\ast$}]{variable }\end{DoxyParamCaption})}



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

On kdb\+Get iff the key is present and its content is valid, the registered variable is updated.


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

\begin{DoxyRetVals}{Return values}
{\em 1} & on success \\
\hline
{\em 0} & on failure\\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{group__kdbnotification_ga99a142068ed614d7cb8b177e3b6920e4}\label{group__kdbnotification_ga99a142068ed614d7cb8b177e3b6920e4}} 
\index{Notification@{Notification}!elektraNotificationRegisterKdbDouble@{elektraNotificationRegisterKdbDouble}}
\index{elektraNotificationRegisterKdbDouble@{elektraNotificationRegisterKdbDouble}!Notification@{Notification}}
\doxysubsubsection{\texorpdfstring{elektraNotificationRegisterKdbDouble()}{elektraNotificationRegisterKdbDouble()}}
{\footnotesize\ttfamily int elektra\+Notification\+Register\+Kdb\+Double (\begin{DoxyParamCaption}\item[{KDB $\ast$}]{kdb,  }\item[{Key $\ast$}]{key,  }\item[{kdb\+\_\+double\+\_\+t $\ast$}]{variable }\end{DoxyParamCaption})}



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

On kdb\+Get iff the key is present and its content is valid, the registered variable is updated.


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

\begin{DoxyRetVals}{Return values}
{\em 1} & on success \\
\hline
{\em 0} & on failure\\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{group__kdbnotification_ga6c83faa92467ece80470e7898dc7d08b}\label{group__kdbnotification_ga6c83faa92467ece80470e7898dc7d08b}} 
\index{Notification@{Notification}!elektraNotificationRegisterKdbFloat@{elektraNotificationRegisterKdbFloat}}
\index{elektraNotificationRegisterKdbFloat@{elektraNotificationRegisterKdbFloat}!Notification@{Notification}}
\doxysubsubsection{\texorpdfstring{elektraNotificationRegisterKdbFloat()}{elektraNotificationRegisterKdbFloat()}}
{\footnotesize\ttfamily int elektra\+Notification\+Register\+Kdb\+Float (\begin{DoxyParamCaption}\item[{KDB $\ast$}]{kdb,  }\item[{Key $\ast$}]{key,  }\item[{kdb\+\_\+float\+\_\+t $\ast$}]{variable }\end{DoxyParamCaption})}



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

On kdb\+Get iff the key is present and its content is valid, the registered variable is updated.


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

\begin{DoxyRetVals}{Return values}
{\em 1} & on success \\
\hline
{\em 0} & on failure\\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{group__kdbnotification_ga6c3c7e2dec0a4087ccd434bb478384d7}\label{group__kdbnotification_ga6c3c7e2dec0a4087ccd434bb478384d7}} 
\index{Notification@{Notification}!elektraNotificationRegisterKdbLong@{elektraNotificationRegisterKdbLong}}
\index{elektraNotificationRegisterKdbLong@{elektraNotificationRegisterKdbLong}!Notification@{Notification}}
\doxysubsubsection{\texorpdfstring{elektraNotificationRegisterKdbLong()}{elektraNotificationRegisterKdbLong()}}
{\footnotesize\ttfamily int elektra\+Notification\+Register\+Kdb\+Long (\begin{DoxyParamCaption}\item[{KDB $\ast$}]{kdb,  }\item[{Key $\ast$}]{key,  }\item[{kdb\+\_\+long\+\_\+t $\ast$}]{variable }\end{DoxyParamCaption})}



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

On kdb\+Get iff the key is present and its content is valid, the registered variable is updated.


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

\begin{DoxyRetVals}{Return values}
{\em 1} & on success \\
\hline
{\em 0} & on failure\\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{group__kdbnotification_ga58fdd6f2ce8237ff21687112076800ca}\label{group__kdbnotification_ga58fdd6f2ce8237ff21687112076800ca}} 
\index{Notification@{Notification}!elektraNotificationRegisterKdbLongLong@{elektraNotificationRegisterKdbLongLong}}
\index{elektraNotificationRegisterKdbLongLong@{elektraNotificationRegisterKdbLongLong}!Notification@{Notification}}
\doxysubsubsection{\texorpdfstring{elektraNotificationRegisterKdbLongLong()}{elektraNotificationRegisterKdbLongLong()}}
{\footnotesize\ttfamily int elektra\+Notification\+Register\+Kdb\+Long\+Long (\begin{DoxyParamCaption}\item[{KDB $\ast$}]{kdb,  }\item[{Key $\ast$}]{key,  }\item[{kdb\+\_\+long\+\_\+long\+\_\+t $\ast$}]{variable }\end{DoxyParamCaption})}



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

On kdb\+Get iff the key is present and its content is valid, the registered variable is updated.


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

\begin{DoxyRetVals}{Return values}
{\em 1} & on success \\
\hline
{\em 0} & on failure\\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{group__kdbnotification_ga5f969cbf9fc58f199c91d03d2bed8e56}\label{group__kdbnotification_ga5f969cbf9fc58f199c91d03d2bed8e56}} 
\index{Notification@{Notification}!elektraNotificationRegisterKdbOctet@{elektraNotificationRegisterKdbOctet}}
\index{elektraNotificationRegisterKdbOctet@{elektraNotificationRegisterKdbOctet}!Notification@{Notification}}
\doxysubsubsection{\texorpdfstring{elektraNotificationRegisterKdbOctet()}{elektraNotificationRegisterKdbOctet()}}
{\footnotesize\ttfamily int elektra\+Notification\+Register\+Kdb\+Octet (\begin{DoxyParamCaption}\item[{KDB $\ast$}]{kdb,  }\item[{Key $\ast$}]{key,  }\item[{kdb\+\_\+octet\+\_\+t $\ast$}]{variable }\end{DoxyParamCaption})}



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

On kdb\+Get iff the key is present and its content is valid, the registered variable is updated.


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

\begin{DoxyRetVals}{Return values}
{\em 1} & on success \\
\hline
{\em 0} & on failure\\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{group__kdbnotification_ga2cb436f9f56b117aed93af70d88cc29c}\label{group__kdbnotification_ga2cb436f9f56b117aed93af70d88cc29c}} 
\index{Notification@{Notification}!elektraNotificationRegisterKdbShort@{elektraNotificationRegisterKdbShort}}
\index{elektraNotificationRegisterKdbShort@{elektraNotificationRegisterKdbShort}!Notification@{Notification}}
\doxysubsubsection{\texorpdfstring{elektraNotificationRegisterKdbShort()}{elektraNotificationRegisterKdbShort()}}
{\footnotesize\ttfamily int elektra\+Notification\+Register\+Kdb\+Short (\begin{DoxyParamCaption}\item[{KDB $\ast$}]{kdb,  }\item[{Key $\ast$}]{key,  }\item[{kdb\+\_\+short\+\_\+t $\ast$}]{variable }\end{DoxyParamCaption})}



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

On kdb\+Get iff the key is present and its content is valid, the registered variable is updated.


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

\begin{DoxyRetVals}{Return values}
{\em 1} & on success \\
\hline
{\em 0} & on failure\\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{group__kdbnotification_ga450849bc96f30c5ececac2d0dda51b4e}\label{group__kdbnotification_ga450849bc96f30c5ececac2d0dda51b4e}} 
\index{Notification@{Notification}!elektraNotificationRegisterKdbUnsignedLong@{elektraNotificationRegisterKdbUnsignedLong}}
\index{elektraNotificationRegisterKdbUnsignedLong@{elektraNotificationRegisterKdbUnsignedLong}!Notification@{Notification}}
\doxysubsubsection{\texorpdfstring{elektraNotificationRegisterKdbUnsignedLong()}{elektraNotificationRegisterKdbUnsignedLong()}}
{\footnotesize\ttfamily int elektra\+Notification\+Register\+Kdb\+Unsigned\+Long (\begin{DoxyParamCaption}\item[{KDB $\ast$}]{kdb,  }\item[{Key $\ast$}]{key,  }\item[{kdb\+\_\+unsigned\+\_\+long\+\_\+t $\ast$}]{variable }\end{DoxyParamCaption})}



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

On kdb\+Get iff the key is present and its content is valid, the registered variable is updated.


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

\begin{DoxyRetVals}{Return values}
{\em 1} & on success \\
\hline
{\em 0} & on failure\\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{group__kdbnotification_gad375d4f6b35be2034bb3fa86ca5d8b49}\label{group__kdbnotification_gad375d4f6b35be2034bb3fa86ca5d8b49}} 
\index{Notification@{Notification}!elektraNotificationRegisterKdbUnsignedLongLong@{elektraNotificationRegisterKdbUnsignedLongLong}}
\index{elektraNotificationRegisterKdbUnsignedLongLong@{elektraNotificationRegisterKdbUnsignedLongLong}!Notification@{Notification}}
\doxysubsubsection{\texorpdfstring{elektraNotificationRegisterKdbUnsignedLongLong()}{elektraNotificationRegisterKdbUnsignedLongLong()}}
{\footnotesize\ttfamily int elektra\+Notification\+Register\+Kdb\+Unsigned\+Long\+Long (\begin{DoxyParamCaption}\item[{KDB $\ast$}]{kdb,  }\item[{Key $\ast$}]{key,  }\item[{kdb\+\_\+unsigned\+\_\+long\+\_\+long\+\_\+t $\ast$}]{variable }\end{DoxyParamCaption})}



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

On kdb\+Get iff the key is present and its content is valid, the registered variable is updated.


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

\begin{DoxyRetVals}{Return values}
{\em 1} & on success \\
\hline
{\em 0} & on failure\\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{group__kdbnotification_ga94b47b5810894136bbdd73279ad45490}\label{group__kdbnotification_ga94b47b5810894136bbdd73279ad45490}} 
\index{Notification@{Notification}!elektraNotificationRegisterKdbUnsignedShort@{elektraNotificationRegisterKdbUnsignedShort}}
\index{elektraNotificationRegisterKdbUnsignedShort@{elektraNotificationRegisterKdbUnsignedShort}!Notification@{Notification}}
\doxysubsubsection{\texorpdfstring{elektraNotificationRegisterKdbUnsignedShort()}{elektraNotificationRegisterKdbUnsignedShort()}}
{\footnotesize\ttfamily int elektra\+Notification\+Register\+Kdb\+Unsigned\+Short (\begin{DoxyParamCaption}\item[{KDB $\ast$}]{kdb,  }\item[{Key $\ast$}]{key,  }\item[{kdb\+\_\+unsigned\+\_\+short\+\_\+t $\ast$}]{variable }\end{DoxyParamCaption})}



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

On kdb\+Get iff the key is present and its content is valid, the registered variable is updated.


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

\begin{DoxyRetVals}{Return values}
{\em 1} & on success \\
\hline
{\em 0} & on failure\\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{group__kdbnotification_ga1130c58dc89f5838ca1c7d625e04bc92}\label{group__kdbnotification_ga1130c58dc89f5838ca1c7d625e04bc92}} 
\index{Notification@{Notification}!elektraNotificationRegisterLong@{elektraNotificationRegisterLong}}
\index{elektraNotificationRegisterLong@{elektraNotificationRegisterLong}!Notification@{Notification}}
\doxysubsubsection{\texorpdfstring{elektraNotificationRegisterLong()}{elektraNotificationRegisterLong()}}
{\footnotesize\ttfamily int elektra\+Notification\+Register\+Long (\begin{DoxyParamCaption}\item[{KDB $\ast$}]{kdb,  }\item[{Key $\ast$}]{key,  }\item[{long $\ast$}]{variable }\end{DoxyParamCaption})}



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

On kdb\+Get iff the key is present and its content is valid, the registered variable is updated.


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

\begin{DoxyRetVals}{Return values}
{\em 1} & on success \\
\hline
{\em 0} & on failure\\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{group__kdbnotification_ga59593e7b3b2b5e32ec0d5cf611e3704c}\label{group__kdbnotification_ga59593e7b3b2b5e32ec0d5cf611e3704c}} 
\index{Notification@{Notification}!elektraNotificationRegisterLongLong@{elektraNotificationRegisterLongLong}}
\index{elektraNotificationRegisterLongLong@{elektraNotificationRegisterLongLong}!Notification@{Notification}}
\doxysubsubsection{\texorpdfstring{elektraNotificationRegisterLongLong()}{elektraNotificationRegisterLongLong()}}
{\footnotesize\ttfamily int elektra\+Notification\+Register\+Long\+Long (\begin{DoxyParamCaption}\item[{KDB $\ast$}]{kdb,  }\item[{Key $\ast$}]{key,  }\item[{long long $\ast$}]{variable }\end{DoxyParamCaption})}



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

On kdb\+Get iff the key is present and its content is valid, the registered variable is updated.


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

\begin{DoxyRetVals}{Return values}
{\em 1} & on success \\
\hline
{\em 0} & on failure\\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{group__kdbnotification_ga940c1014f72e01b4145c418e87efa492}\label{group__kdbnotification_ga940c1014f72e01b4145c418e87efa492}} 
\index{Notification@{Notification}!elektraNotificationRegisterUnsignedInt@{elektraNotificationRegisterUnsignedInt}}
\index{elektraNotificationRegisterUnsignedInt@{elektraNotificationRegisterUnsignedInt}!Notification@{Notification}}
\doxysubsubsection{\texorpdfstring{elektraNotificationRegisterUnsignedInt()}{elektraNotificationRegisterUnsignedInt()}}
{\footnotesize\ttfamily int elektra\+Notification\+Register\+Unsigned\+Int (\begin{DoxyParamCaption}\item[{KDB $\ast$}]{kdb,  }\item[{Key $\ast$}]{key,  }\item[{unsigned int $\ast$}]{variable }\end{DoxyParamCaption})}



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

On kdb\+Get iff the key is present and its content is valid, the registered variable is updated.


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

\begin{DoxyRetVals}{Return values}
{\em 1} & on success \\
\hline
{\em 0} & on failure\\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{group__kdbnotification_ga8ba57c05dcd561b266f3a32aa687d4ea}\label{group__kdbnotification_ga8ba57c05dcd561b266f3a32aa687d4ea}} 
\index{Notification@{Notification}!elektraNotificationRegisterUnsignedLong@{elektraNotificationRegisterUnsignedLong}}
\index{elektraNotificationRegisterUnsignedLong@{elektraNotificationRegisterUnsignedLong}!Notification@{Notification}}
\doxysubsubsection{\texorpdfstring{elektraNotificationRegisterUnsignedLong()}{elektraNotificationRegisterUnsignedLong()}}
{\footnotesize\ttfamily int elektra\+Notification\+Register\+Unsigned\+Long (\begin{DoxyParamCaption}\item[{KDB $\ast$}]{kdb,  }\item[{Key $\ast$}]{key,  }\item[{unsigned long $\ast$}]{variable }\end{DoxyParamCaption})}



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

On kdb\+Get iff the key is present and its content is valid, the registered variable is updated.


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

\begin{DoxyRetVals}{Return values}
{\em 1} & on success \\
\hline
{\em 0} & on failure\\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{group__kdbnotification_ga69673c57ef694bb6d5d383eaf89750dd}\label{group__kdbnotification_ga69673c57ef694bb6d5d383eaf89750dd}} 
\index{Notification@{Notification}!elektraNotificationRegisterUnsignedLongLong@{elektraNotificationRegisterUnsignedLongLong}}
\index{elektraNotificationRegisterUnsignedLongLong@{elektraNotificationRegisterUnsignedLongLong}!Notification@{Notification}}
\doxysubsubsection{\texorpdfstring{elektraNotificationRegisterUnsignedLongLong()}{elektraNotificationRegisterUnsignedLongLong()}}
{\footnotesize\ttfamily int elektra\+Notification\+Register\+Unsigned\+Long\+Long (\begin{DoxyParamCaption}\item[{KDB $\ast$}]{kdb,  }\item[{Key $\ast$}]{key,  }\item[{unsigned long long $\ast$}]{variable }\end{DoxyParamCaption})}



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

On kdb\+Get iff the key is present and its content is valid, the registered variable is updated.


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

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