\hypertarget{classFinder}{
\section{Finder Class Reference}
\label{classFinder}\index{Finder@{Finder}}
}
Inheritance diagram for Finder:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classFinder}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classFinder_a99eca1f247652e9b26df1f6f3af5fc75}{
typedef list$<$ \hyperlink{classFinderMessengerBase}{FinderMessengerBase} $\ast$ $>$ {\bfseries FinderMessengerList}}
\label{classFinder_a99eca1f247652e9b26df1f6f3af5fc75}

\item 
\hypertarget{classFinder_a8a6063cad74143a33c3d6112cbbb6b06}{
typedef map$<$ \hyperlink{classFinderMessengerBase}{FinderMessengerBase} $\ast$, \hyperlink{classFinderXrlCommandQueue}{FinderXrlCommandQueue} $>$ {\bfseries OutQueueTable}}
\label{classFinder_a8a6063cad74143a33c3d6112cbbb6b06}

\item 
\hypertarget{classFinder_afba3fb70f79a4659e155376f7b830f34}{
typedef map$<$ string, \hyperlink{classFinderTarget}{FinderTarget} $>$ {\bfseries TargetTable}}
\label{classFinder_afba3fb70f79a4659e155376f7b830f34}

\item 
\hypertarget{classFinder_aeb1fbfba20a2f9fba6bc9e0c963b3c1b}{
typedef map$<$ string, \hyperlink{classFinderClass}{FinderClass} $>$ {\bfseries ClassTable}}
\label{classFinder_aeb1fbfba20a2f9fba6bc9e0c963b3c1b}

\item 
\hypertarget{classFinder_a8e787bf36c28a9032e82fff231d4a00a}{
typedef list$<$ string $>$ {\bfseries Resolveables}}
\label{classFinder_a8e787bf36c28a9032e82fff231d4a00a}

\item 
\hypertarget{classFinder_a3c28f9052619c52f6a13d5e5a3f5f4b1}{
typedef list$<$ \hyperlink{classFinderEvent}{FinderEvent} $>$ {\bfseries EventQueue}}
\label{classFinder_a3c28f9052619c52f6a13d5e5a3f5f4b1}

\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classFinder_a31655cfc65b0c5e37543e691b6973591}{
{\bfseries Finder} (\hyperlink{classEventLoop}{EventLoop} \&e)}
\label{classFinder_a31655cfc65b0c5e37543e691b6973591}

\item 
\hypertarget{classFinder_a4ce8e10e8e4174636702eb85e83937ab}{
\hyperlink{classXrlCmdMap}{XrlCmdMap} \& {\bfseries commands} ()}
\label{classFinder_a4ce8e10e8e4174636702eb85e83937ab}

\item 
\hypertarget{classFinder_a2ac6ad81aee7a05070c52215887459c0}{
bool {\bfseries add\_\-target} (const string \&class\_\-name, const string \&instance\_\-name, bool singleton, const string \&cookie)}
\label{classFinder_a2ac6ad81aee7a05070c52215887459c0}

\item 
\hypertarget{classFinder_a744243d553ad9867f727d9a5a791a699}{
bool {\bfseries active\_\-messenger\_\-represents\_\-target} (const string \&target\_\-name) const }
\label{classFinder_a744243d553ad9867f727d9a5a791a699}

\item 
\hypertarget{classFinder_a877f8c9df916df0dd4ab3330034a9d90}{
bool {\bfseries remove\_\-target} (const string \&target\_\-name)}
\label{classFinder_a877f8c9df916df0dd4ab3330034a9d90}

\item 
\hypertarget{classFinder_a85c22c136c86f1d559a46e34a6ca5397}{
bool {\bfseries remove\_\-target\_\-with\_\-cookie} (const string \&cookie)}
\label{classFinder_a85c22c136c86f1d559a46e34a6ca5397}

\item 
\hypertarget{classFinder_a8d2ba80d98c57531fda5832ea532ea19}{
bool {\bfseries set\_\-target\_\-enabled} (const string \&target\_\-name, bool en)}
\label{classFinder_a8d2ba80d98c57531fda5832ea532ea19}

\item 
\hypertarget{classFinder_aecb678c5608afc9ca61cd76c16da6f3c}{
bool {\bfseries target\_\-enabled} (const string \&target\_\-name, bool \&is\_\-enabled) const }
\label{classFinder_aecb678c5608afc9ca61cd76c16da6f3c}

\item 
\hypertarget{classFinder_ab4a1b5e9f872f890b991b948b4b3cd34}{
bool {\bfseries add\_\-resolution} (const string \&target, const string \&key, const string \&value)}
\label{classFinder_ab4a1b5e9f872f890b991b948b4b3cd34}

\item 
\hypertarget{classFinder_a5bbc6f967e4ee31edb250cb2f0bc66d3}{
bool {\bfseries remove\_\-resolutions} (const string \&target, const string \&key)}
\label{classFinder_a5bbc6f967e4ee31edb250cb2f0bc66d3}

\item 
\hypertarget{classFinder_a27f7d6ae1cf2484f5957d3b396d7b88e}{
bool {\bfseries add\_\-class\_\-watch} (const string \&target, const string \&class\_\-to\_\-watch, string \&err\_\-msg)}
\label{classFinder_a27f7d6ae1cf2484f5957d3b396d7b88e}

\item 
\hypertarget{classFinder_a4ccd82d8ffb74ce35c650e8fbdd78dfe}{
bool {\bfseries remove\_\-class\_\-watch} (const string \&target, const string \&class\_\-to\_\-watch)}
\label{classFinder_a4ccd82d8ffb74ce35c650e8fbdd78dfe}

\item 
\hypertarget{classFinder_af131283f7fcd1b689d728187cc1c510d}{
bool {\bfseries add\_\-instance\_\-watch} (const string \&target, const string \&instance\_\-to\_\-watch, string \&err\_\-msg)}
\label{classFinder_af131283f7fcd1b689d728187cc1c510d}

\item 
\hypertarget{classFinder_a3d1ce1d7e253d86d370461ac74b518e4}{
bool {\bfseries remove\_\-instance\_\-watch} (const string \&target, const string \&instance\_\-to\_\-watch)}
\label{classFinder_a3d1ce1d7e253d86d370461ac74b518e4}

\item 
\hypertarget{classFinder_ad8e5a0e4affe7f92a57284b01d30ca54}{
const string \& {\bfseries primary\_\-instance} (const string \&instance\_\-or\_\-class) const }
\label{classFinder_ad8e5a0e4affe7f92a57284b01d30ca54}

\item 
\hypertarget{classFinder_a5144ada70482e01a1de60b982cc8dcf2}{
const Resolveables $\ast$ {\bfseries resolve} (const string \&target, const string \&key)}
\label{classFinder_a5144ada70482e01a1de60b982cc8dcf2}

\item 
\hypertarget{classFinder_ade070c6e0164888af0e022fdf5c32dd6}{
size\_\-t {\bfseries messengers} () const }
\label{classFinder_ade070c6e0164888af0e022fdf5c32dd6}

\item 
\hypertarget{classFinder_a6867f8b7d1af741b0c24d43bff02a09d}{
bool {\bfseries fill\_\-target\_\-list} (list$<$ string $>$ \&target\_\-list) const }
\label{classFinder_a6867f8b7d1af741b0c24d43bff02a09d}

\item 
\hypertarget{classFinder_a4a309eca0aa54fbaf0cb252078b94b86}{
bool {\bfseries fill\_\-targets\_\-xrl\_\-list} (const string \&target, list$<$ string $>$ \&xrl\_\-list) const }
\label{classFinder_a4a309eca0aa54fbaf0cb252078b94b86}

\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classFinder_a22b24fb1afbb382c4d3c591d01d5aca1}{
void \hyperlink{classFinder_a22b24fb1afbb382c4d3c591d01d5aca1}{messenger\_\-active\_\-event} (\hyperlink{classFinderMessengerBase}{FinderMessengerBase} $\ast$)}
\label{classFinder_a22b24fb1afbb382c4d3c591d01d5aca1}

\begin{DoxyCompactList}\small\item\em Method called before \hyperlink{classXrl}{Xrl} is dispatched. \item\end{DoxyCompactList}\item 
\hypertarget{classFinder_af78381fe2c501595787d2df31be15ecc}{
void \hyperlink{classFinder_af78381fe2c501595787d2df31be15ecc}{messenger\_\-inactive\_\-event} (\hyperlink{classFinderMessengerBase}{FinderMessengerBase} $\ast$)}
\label{classFinder_af78381fe2c501595787d2df31be15ecc}

\begin{DoxyCompactList}\small\item\em Method called immediately after \hyperlink{classXrl}{Xrl} is dispatched. \item\end{DoxyCompactList}\item 
void \hyperlink{classFinder_aacc5d93ac76f3e0ab473a731ee3e953e}{messenger\_\-stopped\_\-event} (\hyperlink{classFinderMessengerBase}{FinderMessengerBase} $\ast$)
\begin{DoxyCompactList}\small\item\em Method called when Messenger is unable to continue. \item\end{DoxyCompactList}\item 
\hypertarget{classFinder_a0be2f11a236e741ac7db10469785d54d}{
void \hyperlink{classFinder_a0be2f11a236e741ac7db10469785d54d}{messenger\_\-birth\_\-event} (\hyperlink{classFinderMessengerBase}{FinderMessengerBase} $\ast$)}
\label{classFinder_a0be2f11a236e741ac7db10469785d54d}

\begin{DoxyCompactList}\small\item\em Method called by messenger constructor. \item\end{DoxyCompactList}\item 
\hypertarget{classFinder_a1627d583f0c6df346e5601657e402907}{
void \hyperlink{classFinder_a1627d583f0c6df346e5601657e402907}{messenger\_\-death\_\-event} (\hyperlink{classFinderMessengerBase}{FinderMessengerBase} $\ast$)}
\label{classFinder_a1627d583f0c6df346e5601657e402907}

\begin{DoxyCompactList}\small\item\em Method called by messenger destructor. \item\end{DoxyCompactList}\item 
\hypertarget{classFinder_a153d9af0abd668a7a3fa16945bb2fbb1}{
bool \hyperlink{classFinder_a153d9af0abd668a7a3fa16945bb2fbb1}{manages} (const \hyperlink{classFinderMessengerBase}{FinderMessengerBase} $\ast$) const }
\label{classFinder_a153d9af0abd668a7a3fa16945bb2fbb1}

\begin{DoxyCompactList}\small\item\em Method called to tell if \hyperlink{classFinderMessengerManager}{FinderMessengerManager} instance manages a particular messenger. \item\end{DoxyCompactList}\item 
\hypertarget{classFinder_a58e497267422344ae2e6e2cdf7dc1004}{
void \hyperlink{classFinder_a58e497267422344ae2e6e2cdf7dc1004}{log\_\-arrival\_\-event} (const string \&class\_\-name, const string \&instance\_\-name)}
\label{classFinder_a58e497267422344ae2e6e2cdf7dc1004}

\begin{DoxyCompactList}\small\item\em \hyperlink{classBuffer}{Buffer} event of instance becoming externally visible. \item\end{DoxyCompactList}\item 
\hypertarget{classFinder_ac898f41b5074ab17ab5045adba8f0dd2}{
void \hyperlink{classFinder_ac898f41b5074ab17ab5045adba8f0dd2}{log\_\-departure\_\-event} (const string \&class\_\-name, const string \&instance\_\-name)}
\label{classFinder_ac898f41b5074ab17ab5045adba8f0dd2}

\begin{DoxyCompactList}\small\item\em \hyperlink{classBuffer}{Buffer} event of instance ceasing to be externally visible. \item\end{DoxyCompactList}\item 
\hypertarget{classFinder_aaf5d325d90036d483b3b1d6b6aff3cb7}{
void {\bfseries announce\_\-xrl\_\-departure} (const string \&target, const string \&key)}
\label{classFinder_aaf5d325d90036d483b3b1d6b6aff3cb7}

\item 
\hypertarget{classFinder_a8567a387ecaac2e6cb6c6facef8235ed}{
void {\bfseries announce\_\-events\_\-externally} ()}
\label{classFinder_a8567a387ecaac2e6cb6c6facef8235ed}

\item 
\hypertarget{classFinder_a55f82ca12266c23ba1f9b7f0880789c2}{
void {\bfseries announce\_\-class\_\-instances} (const string \&recv\_\-instance\_\-name, const string \&class\_\-name)}
\label{classFinder_a55f82ca12266c23ba1f9b7f0880789c2}

\item 
\hypertarget{classFinder_a934fda3cbe8392d25f27f21939b251f9}{
void {\bfseries announce\_\-new\_\-instance} (const string \&recv\_\-instance\_\-name, \hyperlink{classFinderXrlCommandQueue}{FinderXrlCommandQueue} \&out\_\-queue, const string \&class\_\-name, const string \&instance\_\-name)}
\label{classFinder_a934fda3cbe8392d25f27f21939b251f9}

\item 
\hypertarget{classFinder_ac805d1cded99acabf0c23b9ddaf75bee}{
bool {\bfseries hello\_\-timer\_\-running} () const }
\label{classFinder_ac805d1cded99acabf0c23b9ddaf75bee}

\item 
\hypertarget{classFinder_adc1d2c47bb2faf4a7530eee8bf972333}{
void {\bfseries start\_\-hello\_\-timer} ()}
\label{classFinder_adc1d2c47bb2faf4a7530eee8bf972333}

\item 
\hypertarget{classFinder_a50016d886c13b30fb0c6602029023ea5}{
bool {\bfseries send\_\-hello} ()}
\label{classFinder_a50016d886c13b30fb0c6602029023ea5}

\item 
\hypertarget{classFinder_a2bee11e8d061511b6bebed8f0749d795}{
void {\bfseries remove\_\-target} (TargetTable::iterator \&i)}
\label{classFinder_a2bee11e8d061511b6bebed8f0749d795}

\item 
\hypertarget{classFinder_abd504533c9ee13629e71b9a5c487942e}{
bool {\bfseries add\_\-class\_\-instance} (const string \&class\_\-name, const string \&instance, bool singleton)}
\label{classFinder_abd504533c9ee13629e71b9a5c487942e}

\item 
\hypertarget{classFinder_aa50a2b9b9b37ce87fc586424c5db4f6e}{
bool {\bfseries remove\_\-class\_\-instance} (const string \&class\_\-name, const string \&instance)}
\label{classFinder_aa50a2b9b9b37ce87fc586424c5db4f6e}

\item 
\hypertarget{classFinder_a847946ec69e5a6cf0f2a0c23a9ae59bc}{
bool {\bfseries class\_\-default\_\-instance} (const string \&class\_\-name, string \&instance) const }
\label{classFinder_a847946ec69e5a6cf0f2a0c23a9ae59bc}

\item 
\hypertarget{classFinder_a01e43cfa304fcc4d1ad01e4871f17682}{
bool {\bfseries class\_\-exists} (const string \&class\_\-name) const }
\label{classFinder_a01e43cfa304fcc4d1ad01e4871f17682}

\item 
\hypertarget{classFinder_afaa4180d5efb93651bd63e79e8382d31}{
\hyperlink{classEventLoop}{EventLoop} \& {\bfseries eventloop} () const }
\label{classFinder_afaa4180d5efb93651bd63e79e8382d31}

\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classFinder_ae3ec51d92abb1e0d8ed30fdb6b03eb05}{
\hyperlink{classEventLoop}{EventLoop} \& {\bfseries \_\-e}}
\label{classFinder_ae3ec51d92abb1e0d8ed30fdb6b03eb05}

\item 
\hypertarget{classFinder_aa514a59d6ed91c2f084168208c9b8a94}{
\hyperlink{classXrlCmdMap}{XrlCmdMap} {\bfseries \_\-cmds}}
\label{classFinder_aa514a59d6ed91c2f084168208c9b8a94}

\item 
\hypertarget{classFinder_af331fa0be993a5ebf647c6f53a44ee00}{
\hyperlink{classFinderMessengerBase}{FinderMessengerBase} $\ast$ {\bfseries \_\-active\_\-messenger}}
\label{classFinder_af331fa0be993a5ebf647c6f53a44ee00}

\item 
\hypertarget{classFinder_ac47af8ca15a96c8fd7e25beb212106dc}{
FinderMessengerList {\bfseries \_\-messengers}}
\label{classFinder_ac47af8ca15a96c8fd7e25beb212106dc}

\item 
\hypertarget{classFinder_a3661d788e67db7fbd5f255af7cb809e9}{
TargetTable {\bfseries \_\-targets}}
\label{classFinder_a3661d788e67db7fbd5f255af7cb809e9}

\item 
\hypertarget{classFinder_a16fa838e2b6c1354e73893f7a9ef9833}{
ClassTable {\bfseries \_\-classes}}
\label{classFinder_a16fa838e2b6c1354e73893f7a9ef9833}

\item 
\hypertarget{classFinder_a9ff88e6c2fabef3238847d42d79c88c3}{
OutQueueTable {\bfseries \_\-out\_\-queues}}
\label{classFinder_a9ff88e6c2fabef3238847d42d79c88c3}

\item 
\hypertarget{classFinder_a03236eae6ae1d0e14075dbf6ac6ffa54}{
EventQueue {\bfseries \_\-event\_\-queue}}
\label{classFinder_a03236eae6ae1d0e14075dbf6ac6ffa54}

\item 
\hypertarget{classFinder_a2500127508a01914bca79b8b645d61a4}{
\hyperlink{classXorpTimer}{XorpTimer} {\bfseries \_\-hello}}
\label{classFinder_a2500127508a01914bca79b8b645d61a4}

\end{DoxyCompactItemize}


\subsection{Member Function Documentation}
\hypertarget{classFinder_aacc5d93ac76f3e0ab473a731ee3e953e}{
\index{Finder@{Finder}!messenger\_\-stopped\_\-event@{messenger\_\-stopped\_\-event}}
\index{messenger\_\-stopped\_\-event@{messenger\_\-stopped\_\-event}!Finder@{Finder}}
\subsubsection[{messenger\_\-stopped\_\-event}]{\setlength{\rightskip}{0pt plus 5cm}void Finder::messenger\_\-stopped\_\-event (
\begin{DoxyParamCaption}
\item[{{\bf FinderMessengerBase} $\ast$}]{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classFinder_aacc5d93ac76f3e0ab473a731ee3e953e}


Method called when Messenger is unable to continue. 

For instance, network connection lost. 

Implements \hyperlink{classFinderMessengerManager_a3c3b9572819175b8f9f6f2097abbfc43}{FinderMessengerManager}.



The documentation for this class was generated from the following files:\begin{DoxyCompactItemize}
\item 
/home/greearb/git/xorp.ct.github/xorp/libxipc/finder.hh\item 
/home/greearb/git/xorp.ct.github/xorp/libxipc/finder.cc\end{DoxyCompactItemize}
