\hypertarget{classkdb_1_1tools_1_1Plugin}{}\section{kdb\+::tools\+::Plugin Class Reference}
\label{classkdb_1_1tools_1_1Plugin}\index{kdb::tools::Plugin@{kdb::tools::Plugin}}


This is a C++ representation of a plugin.  




{\ttfamily \#include $<$plugin.\+hpp$>$}

\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classkdb_1_1tools_1_1Plugin_a8fdab835766bab1d1a992731c6863b9f}\label{classkdb_1_1tools_1_1Plugin_a8fdab835766bab1d1a992731c6863b9f}} 
\mbox{\hyperlink{classkdb_1_1tools_1_1Plugin_a8fdab835766bab1d1a992731c6863b9f}{Plugin}} (\mbox{\hyperlink{classkdb_1_1tools_1_1PluginSpec}{Plugin\+Spec}} const \&spec, \mbox{\hyperlink{classkdb_1_1KeySet}{kdb\+::\+Key\+Set}} \&modules)
\begin{DoxyCompactList}\small\item\em Do not construct a plugin yourself, use \mbox{\hyperlink{classkdb_1_1tools_1_1Modules_ae8d8c91745c9f517e6e8a556f1664f69}{Modules.\+load}}. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classkdb_1_1tools_1_1Plugin_a3a0c6a956d1714002ef9baf8c9d99167}{load\+Info}} ()
\begin{DoxyCompactList}\small\item\em Gets the configuration for the plugin. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classkdb_1_1tools_1_1Plugin_adfcba2fbdeb436a1083410df804d5fb0}{parse}} ()
\begin{DoxyCompactList}\small\item\em Creates symbol and info table. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classkdb_1_1tools_1_1Plugin_a5bb3db65b9d87d18787da8cc65eaca65}{check}} (std\+::vector$<$ std\+::string $>$ \&warnings)
\begin{DoxyCompactList}\small\item\em Does various checks on the \mbox{\hyperlink{classkdb_1_1tools_1_1Plugin}{Plugin}} and throws exceptions if something is not ok. \end{DoxyCompactList}\item 
std\+::string \mbox{\hyperlink{classkdb_1_1tools_1_1Plugin_a5f1dc42adda8340f330eb902812e667d}{lookup\+Info}} (std\+::string item, std\+::string section=\char`\"{}infos\char`\"{})
\begin{DoxyCompactList}\small\item\em Gets the whole string of an information item. \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{classkdb_1_1tools_1_1Plugin_a7911f8c46aea6fe4ec6fcb4788b77beb}{find\+Info}} (std\+::string \mbox{\hyperlink{classkdb_1_1tools_1_1Plugin_a5bb3db65b9d87d18787da8cc65eaca65}{check}}, std\+::string item, std\+::string section=\char`\"{}infos\char`\"{})
\begin{DoxyCompactList}\small\item\em Searches within a string of an information item. \end{DoxyCompactList}\item 
\mbox{\hyperlink{classkdb_1_1KeySet}{kdb\+::\+Key\+Set}} \mbox{\hyperlink{classkdb_1_1tools_1_1Plugin_aa4eac3b2b515104a0d595c717c546ec0}{get\+Info}} ()
\begin{DoxyCompactList}\small\item\em Returns the whole keyset of information. \end{DoxyCompactList}\item 
\mbox{\hyperlink{classkdb_1_1KeySet}{kdb\+::\+Key\+Set}} \mbox{\hyperlink{classkdb_1_1tools_1_1Plugin_ad2a0a4a64d17c479e7cd8b1402275cc7}{get\+Needed\+Config}} ()
\begin{DoxyCompactList}\small\item\em In the plugin\textquotesingle{}s contract there is a description of which config is needed in order to work together with a backend properly. \end{DoxyCompactList}\item 
\mbox{\hyperlink{classkdb_1_1KeySet}{kdb\+::\+Key\+Set}} \mbox{\hyperlink{classkdb_1_1tools_1_1Plugin_af3004444f5ef05dc8106646ff2b95694}{get\+Config}} ()
\begin{DoxyCompactList}\small\item\em return the plugin config \end{DoxyCompactList}\item 
func\+\_\+t \mbox{\hyperlink{classkdb_1_1tools_1_1Plugin_aca31140802ab463d5bddd95dee73194d}{get\+Symbol}} (std\+::string which)
\begin{DoxyCompactList}\small\item\em Returns symbol to a function. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{classkdb_1_1tools_1_1Plugin_a680a490123b5290441d76ef2c1e3f1fa}{open}} (\mbox{\hyperlink{classkdb_1_1Key}{kdb\+::\+Key}} \&error\+Key)
\begin{DoxyCompactList}\small\item\em Calls the open function of the plugin. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{classkdb_1_1tools_1_1Plugin_a40b5fd413f3f6da735680ed8d7c8a6a2}{close}} (\mbox{\hyperlink{classkdb_1_1Key}{kdb\+::\+Key}} \&error\+Key)
\begin{DoxyCompactList}\small\item\em Calls the close function of the plugin. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{classkdb_1_1tools_1_1Plugin_a2aa6ff55f9cf81a59d2a8d271fe68e0f}{get}} (\mbox{\hyperlink{classkdb_1_1KeySet}{kdb\+::\+Key\+Set}} \&ks, \mbox{\hyperlink{classkdb_1_1Key}{kdb\+::\+Key}} \&parent\+Key)
\begin{DoxyCompactList}\small\item\em Calls the get function of the plugin. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{classkdb_1_1tools_1_1Plugin_abf84d512b48f6fa1b89636217537cde0}{set}} (\mbox{\hyperlink{classkdb_1_1KeySet}{kdb\+::\+Key\+Set}} \&ks, \mbox{\hyperlink{classkdb_1_1Key}{kdb\+::\+Key}} \&parent\+Key)
\begin{DoxyCompactList}\small\item\em Calls the set function of the plugin. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{classkdb_1_1tools_1_1Plugin_ac1a731f0fa0628a51ca9edf6385e8c3d}{commit}} (\mbox{\hyperlink{classkdb_1_1KeySet}{kdb\+::\+Key\+Set}} \&ks, \mbox{\hyperlink{classkdb_1_1Key}{kdb\+::\+Key}} \&parent\+Key)
\begin{DoxyCompactList}\small\item\em Calls the commit function of the plugin. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{classkdb_1_1tools_1_1Plugin_a8ec348b49a34ef17fda64cb289b8cf64}{error}} (\mbox{\hyperlink{classkdb_1_1KeySet}{kdb\+::\+Key\+Set}} \&ks, \mbox{\hyperlink{classkdb_1_1Key}{kdb\+::\+Key}} \&parent\+Key)
\begin{DoxyCompactList}\small\item\em Calls the error function of the plugin. \end{DoxyCompactList}\item 
std\+::string \mbox{\hyperlink{classkdb_1_1tools_1_1Plugin_ae4b82f943d0cdb0dd355924aa3201d6f}{name}} ()
\item 
std\+::string \mbox{\hyperlink{classkdb_1_1tools_1_1Plugin_acbe982e7bbb71aafb49b0d632e8650c9}{get\+Full\+Name}} ()
\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
bool \mbox{\hyperlink{classkdb_1_1tools_1_1Plugin_aee8ae2b5708c74d4ccdc1bf9e8794636}{first\+Ref}}
\begin{DoxyCompactList}\small\item\em Is toggled during serialization. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
This is a C++ representation of a plugin. 

It will load an Elektra plugin using the module loader from Elektra.

Then you can either check the plugins configuration using \mbox{\hyperlink{classkdb_1_1tools_1_1Plugin_a3a0c6a956d1714002ef9baf8c9d99167}{load\+Info()}}, \mbox{\hyperlink{classkdb_1_1tools_1_1Plugin_adfcba2fbdeb436a1083410df804d5fb0}{parse()}} and check. Symbols can then be retrieved with \mbox{\hyperlink{classkdb_1_1tools_1_1Plugin_aca31140802ab463d5bddd95dee73194d}{get\+Symbol()}}.

Or you can use the normal \mbox{\hyperlink{classkdb_1_1tools_1_1Plugin_a680a490123b5290441d76ef2c1e3f1fa}{open()}}, \mbox{\hyperlink{classkdb_1_1tools_1_1Plugin_a40b5fd413f3f6da735680ed8d7c8a6a2}{close()}}, \mbox{\hyperlink{classkdb_1_1tools_1_1Plugin_a2aa6ff55f9cf81a59d2a8d271fe68e0f}{get()}}, \mbox{\hyperlink{classkdb_1_1tools_1_1Plugin_abf84d512b48f6fa1b89636217537cde0}{set()}} and \mbox{\hyperlink{classkdb_1_1tools_1_1Plugin_a8ec348b49a34ef17fda64cb289b8cf64}{error()}} A\+PI which every plugin exports. 

\subsection{Member Function Documentation}
\mbox{\Hypertarget{classkdb_1_1tools_1_1Plugin_a5bb3db65b9d87d18787da8cc65eaca65}\label{classkdb_1_1tools_1_1Plugin_a5bb3db65b9d87d18787da8cc65eaca65}} 
\index{kdb::tools::Plugin@{kdb::tools::Plugin}!check@{check}}
\index{check@{check}!kdb::tools::Plugin@{kdb::tools::Plugin}}
\subsubsection{\texorpdfstring{check()}{check()}}
{\footnotesize\ttfamily void kdb\+::tools\+::\+Plugin\+::check (\begin{DoxyParamCaption}\item[{std\+::vector$<$ std\+::string $>$ \&}]{warnings }\end{DoxyParamCaption})}



Does various checks on the \mbox{\hyperlink{classkdb_1_1tools_1_1Plugin}{Plugin}} and throws exceptions if something is not ok. 


\begin{DoxyItemize}
\item Check if \mbox{\hyperlink{classkdb_1_1tools_1_1Plugin}{Plugin}} is compatible to current Version of Backend-\/\+A\+PI.
\end{DoxyItemize}


\begin{DoxyExceptions}{Exceptions}
{\em Plugin\+Check\+Exception} & if there are errors \\
\hline
\end{DoxyExceptions}

\begin{DoxyParams}{Parameters}
{\em warnings} & for warnings\\
\hline
\end{DoxyParams}
\begin{DoxyPrecond}{Precondition}
\mbox{\hyperlink{classkdb_1_1tools_1_1Plugin_adfcba2fbdeb436a1083410df804d5fb0}{parse()}} 
\end{DoxyPrecond}
\mbox{\Hypertarget{classkdb_1_1tools_1_1Plugin_a40b5fd413f3f6da735680ed8d7c8a6a2}\label{classkdb_1_1tools_1_1Plugin_a40b5fd413f3f6da735680ed8d7c8a6a2}} 
\index{kdb::tools::Plugin@{kdb::tools::Plugin}!close@{close}}
\index{close@{close}!kdb::tools::Plugin@{kdb::tools::Plugin}}
\subsubsection{\texorpdfstring{close()}{close()}}
{\footnotesize\ttfamily int kdb\+::tools\+::\+Plugin\+::close (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classkdb_1_1Key}{kdb\+::\+Key}} \&}]{error\+Key }\end{DoxyParamCaption})}



Calls the close function of the plugin. 

\begin{DoxyPrecond}{Precondition}
\mbox{\hyperlink{classkdb_1_1tools_1_1Plugin_adfcba2fbdeb436a1083410df804d5fb0}{parse()}} 
\end{DoxyPrecond}
\mbox{\Hypertarget{classkdb_1_1tools_1_1Plugin_ac1a731f0fa0628a51ca9edf6385e8c3d}\label{classkdb_1_1tools_1_1Plugin_ac1a731f0fa0628a51ca9edf6385e8c3d}} 
\index{kdb::tools::Plugin@{kdb::tools::Plugin}!commit@{commit}}
\index{commit@{commit}!kdb::tools::Plugin@{kdb::tools::Plugin}}
\subsubsection{\texorpdfstring{commit()}{commit()}}
{\footnotesize\ttfamily int kdb\+::tools\+::\+Plugin\+::commit (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classkdb_1_1KeySet}{kdb\+::\+Key\+Set}} \&}]{ks,  }\item[{\mbox{\hyperlink{classkdb_1_1Key}{kdb\+::\+Key}} \&}]{parent\+Key }\end{DoxyParamCaption})}



Calls the commit function of the plugin. 

\begin{DoxyPrecond}{Precondition}
\mbox{\hyperlink{classkdb_1_1tools_1_1Plugin_adfcba2fbdeb436a1083410df804d5fb0}{parse()}} 
\end{DoxyPrecond}
\mbox{\Hypertarget{classkdb_1_1tools_1_1Plugin_a8ec348b49a34ef17fda64cb289b8cf64}\label{classkdb_1_1tools_1_1Plugin_a8ec348b49a34ef17fda64cb289b8cf64}} 
\index{kdb::tools::Plugin@{kdb::tools::Plugin}!error@{error}}
\index{error@{error}!kdb::tools::Plugin@{kdb::tools::Plugin}}
\subsubsection{\texorpdfstring{error()}{error()}}
{\footnotesize\ttfamily int kdb\+::tools\+::\+Plugin\+::error (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classkdb_1_1KeySet}{kdb\+::\+Key\+Set}} \&}]{ks,  }\item[{\mbox{\hyperlink{classkdb_1_1Key}{kdb\+::\+Key}} \&}]{parent\+Key }\end{DoxyParamCaption})}



Calls the error function of the plugin. 

\begin{DoxyPrecond}{Precondition}
\mbox{\hyperlink{classkdb_1_1tools_1_1Plugin_adfcba2fbdeb436a1083410df804d5fb0}{parse()}} 
\end{DoxyPrecond}
\mbox{\Hypertarget{classkdb_1_1tools_1_1Plugin_a7911f8c46aea6fe4ec6fcb4788b77beb}\label{classkdb_1_1tools_1_1Plugin_a7911f8c46aea6fe4ec6fcb4788b77beb}} 
\index{kdb::tools::Plugin@{kdb::tools::Plugin}!findInfo@{findInfo}}
\index{findInfo@{findInfo}!kdb::tools::Plugin@{kdb::tools::Plugin}}
\subsubsection{\texorpdfstring{findInfo()}{findInfo()}}
{\footnotesize\ttfamily bool kdb\+::tools\+::\+Plugin\+::find\+Info (\begin{DoxyParamCaption}\item[{std\+::string}]{check,  }\item[{std\+::string}]{item,  }\item[{std\+::string}]{section = {\ttfamily \char`\"{}infos\char`\"{}} }\end{DoxyParamCaption})}



Searches within a string of an information item. 

\begin{DoxyPrecond}{Precondition}
\mbox{\hyperlink{classkdb_1_1tools_1_1Plugin_a3a0c6a956d1714002ef9baf8c9d99167}{load\+Info()}} 
\end{DoxyPrecond}
\mbox{\Hypertarget{classkdb_1_1tools_1_1Plugin_a2aa6ff55f9cf81a59d2a8d271fe68e0f}\label{classkdb_1_1tools_1_1Plugin_a2aa6ff55f9cf81a59d2a8d271fe68e0f}} 
\index{kdb::tools::Plugin@{kdb::tools::Plugin}!get@{get}}
\index{get@{get}!kdb::tools::Plugin@{kdb::tools::Plugin}}
\subsubsection{\texorpdfstring{get()}{get()}}
{\footnotesize\ttfamily int kdb\+::tools\+::\+Plugin\+::get (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classkdb_1_1KeySet}{kdb\+::\+Key\+Set}} \&}]{ks,  }\item[{\mbox{\hyperlink{classkdb_1_1Key}{kdb\+::\+Key}} \&}]{parent\+Key }\end{DoxyParamCaption})}



Calls the get function of the plugin. 

\begin{DoxyPrecond}{Precondition}
\mbox{\hyperlink{classkdb_1_1tools_1_1Plugin_adfcba2fbdeb436a1083410df804d5fb0}{parse()}} 
\end{DoxyPrecond}
\mbox{\Hypertarget{classkdb_1_1tools_1_1Plugin_af3004444f5ef05dc8106646ff2b95694}\label{classkdb_1_1tools_1_1Plugin_af3004444f5ef05dc8106646ff2b95694}} 
\index{kdb::tools::Plugin@{kdb::tools::Plugin}!getConfig@{getConfig}}
\index{getConfig@{getConfig}!kdb::tools::Plugin@{kdb::tools::Plugin}}
\subsubsection{\texorpdfstring{getConfig()}{getConfig()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classkdb_1_1KeySet}{kdb\+::\+Key\+Set}} kdb\+::tools\+::\+Plugin\+::get\+Config (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



return the plugin config 

\begin{DoxyReturn}{Returns}
the config supplied with constructor 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{classkdb_1_1tools_1_1Plugin_ad2a0a4a64d17c479e7cd8b1402275cc7}{get\+Needed\+Config()}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{classkdb_1_1tools_1_1Plugin_acbe982e7bbb71aafb49b0d632e8650c9}\label{classkdb_1_1tools_1_1Plugin_acbe982e7bbb71aafb49b0d632e8650c9}} 
\index{kdb::tools::Plugin@{kdb::tools::Plugin}!getFullName@{getFullName}}
\index{getFullName@{getFullName}!kdb::tools::Plugin@{kdb::tools::Plugin}}
\subsubsection{\texorpdfstring{getFullName()}{getFullName()}}
{\footnotesize\ttfamily std\+::string kdb\+::tools\+::\+Plugin\+::get\+Full\+Name (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

\begin{DoxyReturn}{Returns}
the fullname of the plugin 
\end{DoxyReturn}
\mbox{\Hypertarget{classkdb_1_1tools_1_1Plugin_aa4eac3b2b515104a0d595c717c546ec0}\label{classkdb_1_1tools_1_1Plugin_aa4eac3b2b515104a0d595c717c546ec0}} 
\index{kdb::tools::Plugin@{kdb::tools::Plugin}!getInfo@{getInfo}}
\index{getInfo@{getInfo}!kdb::tools::Plugin@{kdb::tools::Plugin}}
\subsubsection{\texorpdfstring{getInfo()}{getInfo()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classkdb_1_1KeySet}{kdb\+::\+Key\+Set}} kdb\+::tools\+::\+Plugin\+::get\+Info (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Returns the whole keyset of information. 

\begin{DoxyPrecond}{Precondition}
\mbox{\hyperlink{classkdb_1_1tools_1_1Plugin_a3a0c6a956d1714002ef9baf8c9d99167}{load\+Info()}} 
\end{DoxyPrecond}
\mbox{\Hypertarget{classkdb_1_1tools_1_1Plugin_ad2a0a4a64d17c479e7cd8b1402275cc7}\label{classkdb_1_1tools_1_1Plugin_ad2a0a4a64d17c479e7cd8b1402275cc7}} 
\index{kdb::tools::Plugin@{kdb::tools::Plugin}!getNeededConfig@{getNeededConfig}}
\index{getNeededConfig@{getNeededConfig}!kdb::tools::Plugin@{kdb::tools::Plugin}}
\subsubsection{\texorpdfstring{getNeededConfig()}{getNeededConfig()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classkdb_1_1KeySet}{kdb\+::\+Key\+Set}} kdb\+::tools\+::\+Plugin\+::get\+Needed\+Config (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



In the plugin\textquotesingle{}s contract there is a description of which config is needed in order to work together with a backend properly. 

\begin{DoxyReturn}{Returns}
the keyset with the config needed for the backend. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{classkdb_1_1tools_1_1Plugin_af3004444f5ef05dc8106646ff2b95694}{get\+Config()}} 
\end{DoxySeeAlso}
\begin{DoxyPrecond}{Precondition}
\mbox{\hyperlink{classkdb_1_1tools_1_1Plugin_a3a0c6a956d1714002ef9baf8c9d99167}{load\+Info()}} 
\end{DoxyPrecond}
\mbox{\Hypertarget{classkdb_1_1tools_1_1Plugin_aca31140802ab463d5bddd95dee73194d}\label{classkdb_1_1tools_1_1Plugin_aca31140802ab463d5bddd95dee73194d}} 
\index{kdb::tools::Plugin@{kdb::tools::Plugin}!getSymbol@{getSymbol}}
\index{getSymbol@{getSymbol}!kdb::tools::Plugin@{kdb::tools::Plugin}}
\subsubsection{\texorpdfstring{getSymbol()}{getSymbol()}}
{\footnotesize\ttfamily func\+\_\+t kdb\+::tools\+::\+Plugin\+::get\+Symbol (\begin{DoxyParamCaption}\item[{std\+::string}]{which }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Returns symbol to a function. 

\begin{DoxyPrecond}{Precondition}
\mbox{\hyperlink{classkdb_1_1tools_1_1Plugin_adfcba2fbdeb436a1083410df804d5fb0}{parse()}} 
\end{DoxyPrecond}
\mbox{\Hypertarget{classkdb_1_1tools_1_1Plugin_a3a0c6a956d1714002ef9baf8c9d99167}\label{classkdb_1_1tools_1_1Plugin_a3a0c6a956d1714002ef9baf8c9d99167}} 
\index{kdb::tools::Plugin@{kdb::tools::Plugin}!loadInfo@{loadInfo}}
\index{loadInfo@{loadInfo}!kdb::tools::Plugin@{kdb::tools::Plugin}}
\subsubsection{\texorpdfstring{loadInfo()}{loadInfo()}}
{\footnotesize\ttfamily void kdb\+::tools\+::\+Plugin\+::load\+Info (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Gets the configuration for the plugin. 

(will be done in \mbox{\hyperlink{classkdb_1_1tools_1_1Modules_ae8d8c91745c9f517e6e8a556f1664f69}{Modules.\+load}}) \mbox{\Hypertarget{classkdb_1_1tools_1_1Plugin_a5f1dc42adda8340f330eb902812e667d}\label{classkdb_1_1tools_1_1Plugin_a5f1dc42adda8340f330eb902812e667d}} 
\index{kdb::tools::Plugin@{kdb::tools::Plugin}!lookupInfo@{lookupInfo}}
\index{lookupInfo@{lookupInfo}!kdb::tools::Plugin@{kdb::tools::Plugin}}
\subsubsection{\texorpdfstring{lookupInfo()}{lookupInfo()}}
{\footnotesize\ttfamily std\+::string kdb\+::tools\+::\+Plugin\+::lookup\+Info (\begin{DoxyParamCaption}\item[{std\+::string}]{item,  }\item[{std\+::string}]{section = {\ttfamily \char`\"{}infos\char`\"{}} }\end{DoxyParamCaption})}



Gets the whole string of an information item. 

\begin{DoxyPrecond}{Precondition}
\mbox{\hyperlink{classkdb_1_1tools_1_1Plugin_a3a0c6a956d1714002ef9baf8c9d99167}{load\+Info()}} 
\end{DoxyPrecond}
\mbox{\Hypertarget{classkdb_1_1tools_1_1Plugin_ae4b82f943d0cdb0dd355924aa3201d6f}\label{classkdb_1_1tools_1_1Plugin_ae4b82f943d0cdb0dd355924aa3201d6f}} 
\index{kdb::tools::Plugin@{kdb::tools::Plugin}!name@{name}}
\index{name@{name}!kdb::tools::Plugin@{kdb::tools::Plugin}}
\subsubsection{\texorpdfstring{name()}{name()}}
{\footnotesize\ttfamily std\+::string kdb\+::tools\+::\+Plugin\+::name (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

\begin{DoxyReturn}{Returns}
the name of the plugin (module) 
\end{DoxyReturn}
\mbox{\Hypertarget{classkdb_1_1tools_1_1Plugin_a680a490123b5290441d76ef2c1e3f1fa}\label{classkdb_1_1tools_1_1Plugin_a680a490123b5290441d76ef2c1e3f1fa}} 
\index{kdb::tools::Plugin@{kdb::tools::Plugin}!open@{open}}
\index{open@{open}!kdb::tools::Plugin@{kdb::tools::Plugin}}
\subsubsection{\texorpdfstring{open()}{open()}}
{\footnotesize\ttfamily int kdb\+::tools\+::\+Plugin\+::open (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classkdb_1_1Key}{kdb\+::\+Key}} \&}]{error\+Key }\end{DoxyParamCaption})}



Calls the open function of the plugin. 

\begin{DoxyPrecond}{Precondition}
\mbox{\hyperlink{classkdb_1_1tools_1_1Plugin_adfcba2fbdeb436a1083410df804d5fb0}{parse()}} 
\end{DoxyPrecond}
\mbox{\Hypertarget{classkdb_1_1tools_1_1Plugin_adfcba2fbdeb436a1083410df804d5fb0}\label{classkdb_1_1tools_1_1Plugin_adfcba2fbdeb436a1083410df804d5fb0}} 
\index{kdb::tools::Plugin@{kdb::tools::Plugin}!parse@{parse}}
\index{parse@{parse}!kdb::tools::Plugin@{kdb::tools::Plugin}}
\subsubsection{\texorpdfstring{parse()}{parse()}}
{\footnotesize\ttfamily void kdb\+::tools\+::\+Plugin\+::parse (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Creates symbol and info table. 

(will be done in \mbox{\hyperlink{classkdb_1_1tools_1_1Modules_ae8d8c91745c9f517e6e8a556f1664f69}{Modules.\+load}}) \mbox{\Hypertarget{classkdb_1_1tools_1_1Plugin_abf84d512b48f6fa1b89636217537cde0}\label{classkdb_1_1tools_1_1Plugin_abf84d512b48f6fa1b89636217537cde0}} 
\index{kdb::tools::Plugin@{kdb::tools::Plugin}!set@{set}}
\index{set@{set}!kdb::tools::Plugin@{kdb::tools::Plugin}}
\subsubsection{\texorpdfstring{set()}{set()}}
{\footnotesize\ttfamily int kdb\+::tools\+::\+Plugin\+::set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classkdb_1_1KeySet}{kdb\+::\+Key\+Set}} \&}]{ks,  }\item[{\mbox{\hyperlink{classkdb_1_1Key}{kdb\+::\+Key}} \&}]{parent\+Key }\end{DoxyParamCaption})}



Calls the set function of the plugin. 

\begin{DoxyPrecond}{Precondition}
\mbox{\hyperlink{classkdb_1_1tools_1_1Plugin_adfcba2fbdeb436a1083410df804d5fb0}{parse()}} 
\end{DoxyPrecond}


\subsection{Member Data Documentation}
\mbox{\Hypertarget{classkdb_1_1tools_1_1Plugin_aee8ae2b5708c74d4ccdc1bf9e8794636}\label{classkdb_1_1tools_1_1Plugin_aee8ae2b5708c74d4ccdc1bf9e8794636}} 
\index{kdb::tools::Plugin@{kdb::tools::Plugin}!firstRef@{firstRef}}
\index{firstRef@{firstRef}!kdb::tools::Plugin@{kdb::tools::Plugin}}
\subsubsection{\texorpdfstring{firstRef}{firstRef}}
{\footnotesize\ttfamily bool kdb\+::tools\+::\+Plugin\+::first\+Ref}



Is toggled during serialization. 

(is a hack, only allows a single serialization!) 

The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{plugin_8hpp}{plugin.\+hpp}}\item 
\mbox{\hyperlink{plugin_8cpp}{plugin.\+cpp}}\end{DoxyCompactItemize}
