\hypertarget{kdbrecord_8h}{}\doxysection{kdbrecord.\+h File Reference}
\label{kdbrecord_8h}\index{kdbrecord.h@{kdbrecord.h}}


Defines for record.  


{\ttfamily \#include $<$kdb.\+h$>$}\newline
{\ttfamily \#include $<$kdbdiff.\+h$>$}\newline
{\ttfamily \#include $<$kdbplugin.\+h$>$}\newline
{\ttfamily \#include $<$kdbtypes.\+h$>$}\newline
Include dependency graph for kdbrecord.\+h\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{kdbrecord_8h__incl}
\end{center}
\end{figure}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
bool \mbox{\hyperlink{kdbrecord_8h_a1b92d5a1aaf59b0900174695ff5d283f}{elektra\+Record\+Enable\+Recording}} (KDB $\ast$handle, const Key $\ast$parent\+Key, Key $\ast$error\+Key)
\begin{DoxyCompactList}\small\item\em Enable session recording. \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{kdbrecord_8h_abe80dfba9f347420d9cb7faaadb7d490}{elektra\+Record\+Disable\+Recording}} (KDB $\ast$handle, Key $\ast$error\+Key)
\begin{DoxyCompactList}\small\item\em Disable session recording. \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{kdbrecord_8h_a1a3d793386fa198aff1033a2ef57fc31}{elektra\+Record\+Reset\+Session}} (KDB $\ast$handle, Key $\ast$error\+Key)
\begin{DoxyCompactList}\small\item\em Clears all recorded data. \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{kdbrecord_8h_a83bb662eb48848cbc6420eb43557c8e1}{elektra\+Record\+Record}} (KDB $\ast$handle, KDB $\ast$session\+Storage\+Handle, Key\+Set $\ast$new\+Keys, Key $\ast$parent\+Key, Key $\ast$error\+Key)
\begin{DoxyCompactList}\small\item\em Diff and record changes to the KDB instance in {\ttfamily handle}. \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{kdbrecord_8h_ac80f39b44acd933036cbadeec9f1d7c0}{elektra\+Record\+Undo}} (KDB $\ast$handle, KDB $\ast$session\+Storage\+Handle, Key $\ast$parent\+Key, Key $\ast$error\+Key)
\begin{DoxyCompactList}\small\item\em Undo changes that were recorded in the current recording session. \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{kdbrecord_8h_a4f802870b933162300fad30b6a3ea05a}{elektra\+Record\+Remove\+Keys}} (KDB $\ast$handle, Key\+Set $\ast$to\+Remove, bool recursive, Key $\ast$error\+Key)
\begin{DoxyCompactList}\small\item\em Removes the provided keys from the recording session. \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{kdbrecord_8h_a18bf367c28c3b8874a4560f4cac692f0}{elektra\+Record\+Is\+Active}} (KDB $\ast$handle)
\begin{DoxyCompactList}\small\item\em Check whether session recording is active in the given KDB instance. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Defines for record. 

\begin{DoxyCopyright}{Copyright}
BSD License (see doc/\+COPYING or \href{https://www.libelektra.org}{\texttt{ https\+://www.\+libelektra.\+org}}) 
\end{DoxyCopyright}


\doxysubsection{Function Documentation}
\mbox{\Hypertarget{kdbrecord_8h_abe80dfba9f347420d9cb7faaadb7d490}\label{kdbrecord_8h_abe80dfba9f347420d9cb7faaadb7d490}} 
\index{kdbrecord.h@{kdbrecord.h}!elektraRecordDisableRecording@{elektraRecordDisableRecording}}
\index{elektraRecordDisableRecording@{elektraRecordDisableRecording}!kdbrecord.h@{kdbrecord.h}}
\doxysubsubsection{\texorpdfstring{elektraRecordDisableRecording()}{elektraRecordDisableRecording()}}
{\footnotesize\ttfamily bool elektra\+Record\+Disable\+Recording (\begin{DoxyParamCaption}\item[{KDB $\ast$}]{handle,  }\item[{Key $\ast$}]{error\+Key }\end{DoxyParamCaption})}



Disable session recording. 

This affects both the given {\ttfamily handle} as well as every KDB instance that will be created after this method has been called.


\begin{DoxyParams}{Parameters}
{\em handle} & the KDB instance to use \\
\hline
{\em error\+Key} & used for reporting errors and warnings. As usual, they will be found as meta keys attached to this key. \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Return values}
{\em true} & -\/ recording has been disabled successfully @retfal false -\/ there was an error disabling recording -\/ see {\ttfamily error\+Key} for further details \\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{kdbrecord_8h_a1b92d5a1aaf59b0900174695ff5d283f}\label{kdbrecord_8h_a1b92d5a1aaf59b0900174695ff5d283f}} 
\index{kdbrecord.h@{kdbrecord.h}!elektraRecordEnableRecording@{elektraRecordEnableRecording}}
\index{elektraRecordEnableRecording@{elektraRecordEnableRecording}!kdbrecord.h@{kdbrecord.h}}
\doxysubsubsection{\texorpdfstring{elektraRecordEnableRecording()}{elektraRecordEnableRecording()}}
{\footnotesize\ttfamily bool elektra\+Record\+Enable\+Recording (\begin{DoxyParamCaption}\item[{KDB $\ast$}]{handle,  }\item[{const Key $\ast$}]{parent\+Key,  }\item[{Key $\ast$}]{error\+Key }\end{DoxyParamCaption})}



Enable session recording. 

This affects both the given {\ttfamily handle} as well as every KDB instance that will be created after this method has been called.


\begin{DoxyParams}{Parameters}
{\em handle} & the KDB instance to use \\
\hline
{\em parent\+Key} & recording will be enabled for every key that is same or below this key \\
\hline
{\em error\+Key} & used for reporting errors and warnings. As usual, they will be found as meta keys attached to this key. \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Return values}
{\em true} & -\/ recording has been enabled successfully @retfal false -\/ there was an error enabling recording -\/ see {\ttfamily error\+Key} for further details \\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{kdbrecord_8h_a18bf367c28c3b8874a4560f4cac692f0}\label{kdbrecord_8h_a18bf367c28c3b8874a4560f4cac692f0}} 
\index{kdbrecord.h@{kdbrecord.h}!elektraRecordIsActive@{elektraRecordIsActive}}
\index{elektraRecordIsActive@{elektraRecordIsActive}!kdbrecord.h@{kdbrecord.h}}
\doxysubsubsection{\texorpdfstring{elektraRecordIsActive()}{elektraRecordIsActive()}}
{\footnotesize\ttfamily bool elektra\+Record\+Is\+Active (\begin{DoxyParamCaption}\item[{KDB $\ast$}]{handle }\end{DoxyParamCaption})}



Check whether session recording is active in the given KDB instance. 


\begin{DoxyParams}{Parameters}
{\em handle} & the KDB instance to check \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Return values}
{\em } & \\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{kdbrecord_8h_a83bb662eb48848cbc6420eb43557c8e1}\label{kdbrecord_8h_a83bb662eb48848cbc6420eb43557c8e1}} 
\index{kdbrecord.h@{kdbrecord.h}!elektraRecordRecord@{elektraRecordRecord}}
\index{elektraRecordRecord@{elektraRecordRecord}!kdbrecord.h@{kdbrecord.h}}
\doxysubsubsection{\texorpdfstring{elektraRecordRecord()}{elektraRecordRecord()}}
{\footnotesize\ttfamily bool elektra\+Record\+Record (\begin{DoxyParamCaption}\item[{KDB $\ast$}]{handle,  }\item[{KDB $\ast$}]{session\+Storage\+Handle,  }\item[{Key\+Set $\ast$}]{new\+Keys,  }\item[{Key $\ast$}]{parent\+Key,  }\item[{Key $\ast$}]{error\+Key }\end{DoxyParamCaption})}



Diff and record changes to the KDB instance in {\ttfamily handle}. 

This function is mainly intended for use in the recorder plugin.


\begin{DoxyParams}{Parameters}
{\em handle} & the KDB instance that changes occured on \\
\hline
{\em session\+Storage\+Handle} & the KDB instances that shall be used to persist the session diff. You can use the same as for {\ttfamily handle}. \\
\hline
{\em new\+Keys} & the keyset with changed keys \\
\hline
{\em parent\+Key} & only changes same or below this key will be determined \\
\hline
{\em error\+Key} & used for reporting errors and warnings. As usual, they will be found as meta keys attached to this key. \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Return values}
{\em true} & -\/ changes were recorded successfully @retfal false -\/ there was an error during recording -\/ see {\ttfamily error\+Key} for further details \\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{kdbrecord_8h_a4f802870b933162300fad30b6a3ea05a}\label{kdbrecord_8h_a4f802870b933162300fad30b6a3ea05a}} 
\index{kdbrecord.h@{kdbrecord.h}!elektraRecordRemoveKeys@{elektraRecordRemoveKeys}}
\index{elektraRecordRemoveKeys@{elektraRecordRemoveKeys}!kdbrecord.h@{kdbrecord.h}}
\doxysubsubsection{\texorpdfstring{elektraRecordRemoveKeys()}{elektraRecordRemoveKeys()}}
{\footnotesize\ttfamily bool elektra\+Record\+Remove\+Keys (\begin{DoxyParamCaption}\item[{KDB $\ast$}]{handle,  }\item[{Key\+Set $\ast$}]{to\+Remove,  }\item[{bool}]{recursive,  }\item[{Key $\ast$}]{error\+Key }\end{DoxyParamCaption})}



Removes the provided keys from the recording session. 


\begin{DoxyParams}{Parameters}
{\em handle} & the KDB instance to use for accessing recording data. \\
\hline
{\em to\+Remove} & the keys in this keyset will be removed. \\
\hline
{\em recursive} & if {\ttfamily true}, also the keys below every specified key will be removed. \\
\hline
{\em error\+Key} & used for reporting errors and warnings. As usual, they will be found as meta keys attached to this key. \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Return values}
{\em true} & -\/ removal was successful @retfal false -\/ there was an error during the removal operation -\/ see {\ttfamily error\+Key} for further details \\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{kdbrecord_8h_a1a3d793386fa198aff1033a2ef57fc31}\label{kdbrecord_8h_a1a3d793386fa198aff1033a2ef57fc31}} 
\index{kdbrecord.h@{kdbrecord.h}!elektraRecordResetSession@{elektraRecordResetSession}}
\index{elektraRecordResetSession@{elektraRecordResetSession}!kdbrecord.h@{kdbrecord.h}}
\doxysubsubsection{\texorpdfstring{elektraRecordResetSession()}{elektraRecordResetSession()}}
{\footnotesize\ttfamily bool elektra\+Record\+Reset\+Session (\begin{DoxyParamCaption}\item[{KDB $\ast$}]{handle,  }\item[{Key $\ast$}]{error\+Key }\end{DoxyParamCaption})}



Clears all recorded data. 


\begin{DoxyParams}{Parameters}
{\em handle} & the KDB instance to use \\
\hline
{\em error\+Key} & used for reporting errors and warnings. As usual, they will be found as meta keys attached to this key. \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Return values}
{\em true} & -\/ recording session has been cleared successfully @retfal false -\/ there was an error clearing the recording session -\/ see {\ttfamily error\+Key} for further details \\
\hline
\end{DoxyRetVals}
\mbox{\Hypertarget{kdbrecord_8h_ac80f39b44acd933036cbadeec9f1d7c0}\label{kdbrecord_8h_ac80f39b44acd933036cbadeec9f1d7c0}} 
\index{kdbrecord.h@{kdbrecord.h}!elektraRecordUndo@{elektraRecordUndo}}
\index{elektraRecordUndo@{elektraRecordUndo}!kdbrecord.h@{kdbrecord.h}}
\doxysubsubsection{\texorpdfstring{elektraRecordUndo()}{elektraRecordUndo()}}
{\footnotesize\ttfamily bool elektra\+Record\+Undo (\begin{DoxyParamCaption}\item[{KDB $\ast$}]{handle,  }\item[{KDB $\ast$}]{session\+Storage\+Handle,  }\item[{Key $\ast$}]{parent\+Key,  }\item[{Key $\ast$}]{error\+Key }\end{DoxyParamCaption})}



Undo changes that were recorded in the current recording session. 

After executing this function, the state of KDB should be the same as it was before starting the recording session.


\begin{DoxyParams}{Parameters}
{\em handle} & the KDB instance to use for accessing configuration data \\
\hline
{\em session\+Storage\+Handle} & the KDB instance to use for accessing recording data. This can be the same as for {\ttfamily handle} \\
\hline
{\em parent\+Key} & only changes same or below this key are undone. \\
\hline
{\em error\+Key} & used for reporting errors and warnings. As usual, they will be found as meta keys attached to this key. \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Return values}
{\em true} & -\/ changes were undone successfully @retfal false -\/ there was an error during the undo operation -\/ see {\ttfamily error\+Key} for further details \\
\hline
\end{DoxyRetVals}
