\hypertarget{classGpgFrontend_1_1SingletonFunctionObject}{}\doxysection{Gpg\+Frontend\+::Singleton\+Function\+Object$<$ T $>$ Class Template Reference}
\label{classGpgFrontend_1_1SingletonFunctionObject}\index{GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}}


{\ttfamily \#include $<$Gpg\+Function\+Object.\+h$>$}



Inheritance diagram for Gpg\+Frontend\+::Singleton\+Function\+Object$<$ T $>$\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classGpgFrontend_1_1SingletonFunctionObject__inherit__graph}
\end{center}
\end{figure}


Collaboration diagram for Gpg\+Frontend\+::Singleton\+Function\+Object$<$ T $>$\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classGpgFrontend_1_1SingletonFunctionObject__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
int \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject_aa99440b9177f5d0c18840f08a40d64b7}{Get\+Channel}} () const
\begin{DoxyCompactList}\small\item\em Get the Channel object. \end{DoxyCompactList}\item 
\mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject_aabc5fe8e5a372ac276a265286457cb9a}{Singleton\+Function\+Object}} (T \&\&)=delete
\begin{DoxyCompactList}\small\item\em Construct a new Singleton Function Object object. \end{DoxyCompactList}\item 
\mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject_a7090636bed6f4bad5b99f28f6872c645}{Singleton\+Function\+Object}} (const T \&)=delete
\begin{DoxyCompactList}\small\item\em Construct a new Singleton Function Object object. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classGpgFrontend_1_1SingletonFunctionObject_a03ce3095a745ecbf5e6a032e7da4bc97}\label{classGpgFrontend_1_1SingletonFunctionObject_a03ce3095a745ecbf5e6a032e7da4bc97}} 
void {\bfseries operator=} (const T \&)=delete
\end{DoxyCompactItemize}
\doxysubsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static T \& \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject_a70484d7cfe9f9dcbcd5f8bb749250f36}{Get\+Instance}} (int channel=Gpg\+Frontend\+::\+G\+P\+G\+F\+R\+O\+N\+T\+E\+N\+D\+\_\+\+D\+E\+F\+A\+U\+L\+T\+\_\+\+C\+H\+A\+N\+N\+EL)
\begin{DoxyCompactList}\small\item\em Get the Instance object. \end{DoxyCompactList}\item 
static T \& \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject_a43b21fa20b4102b826e3527f7bbdf218}{Create\+Instance}} (int channel, std\+::function$<$ std\+::unique\+\_\+ptr$<$ T $>$(void)$>$ factory)
\begin{DoxyCompactList}\small\item\em Create a Instance object. \end{DoxyCompactList}\item 
static T \& \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject_a3d40217b6536ffafff8e58078d8e6b95}{Create\+Instance}} (int channel, std\+::unique\+\_\+ptr$<$ T $>$ p\+\_\+obj=nullptr)
\begin{DoxyCompactList}\small\item\em Create a Instance object. \end{DoxyCompactList}\item 
static T \& \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject_aadb8743cd8943395f5cbb631667da363}{Release\+Channel}} (int channel)
\item 
static int \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject_a50e2b3794d6553f4231eaec72d9d0a50}{Get\+Default\+Channel}} ()
\begin{DoxyCompactList}\small\item\em Get the Default Channel object. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject_a02e76b42ab51d77588b01c7508bed258}{Singleton\+Function\+Object}} ()=default
\begin{DoxyCompactList}\small\item\em Construct a new Singleton Function Object object. \end{DoxyCompactList}\item 
\mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject_a4aa7f1eb1d3281bb1fccfcbb1b416251}{Singleton\+Function\+Object}} (int channel)
\begin{DoxyCompactList}\small\item\em Construct a new Singleton Function Object object. \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject_a8296be8c449f88175285186831b995bc}{$\sim$\+Singleton\+Function\+Object}} ()=default
\begin{DoxyCompactList}\small\item\em Destroy the Singleton Function Object object. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject_a56ba12077251893e48f5ec360e8c7040}{Set\+Channel}} (int channel)
\begin{DoxyCompactList}\small\item\em Set the Channel object. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Static Private Member Functions}
\begin{DoxyCompactItemize}
\item 
static T $\ast$ \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject_a6c6c54060c4f4926adb1ee4a71ee8c89}{find\+\_\+object\+\_\+in\+\_\+channel}} (int channel)
\item 
static T $\ast$ \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject_a7377f8bddac073dbf9aa631726d8c021}{set\+\_\+object\+\_\+in\+\_\+channel}} (int channel, std\+::unique\+\_\+ptr$<$ T $>$ p\+\_\+obj)
\begin{DoxyCompactList}\small\item\em Set the object in channel object. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classGpgFrontend_1_1SingletonFunctionObject_a03629fe438e2ab6b9e278bbe36e8ba72}\label{classGpgFrontend_1_1SingletonFunctionObject_a03629fe438e2ab6b9e278bbe36e8ba72}} 
int {\bfseries channel\+\_\+} = \+\_\+default\+\_\+channel
\end{DoxyCompactItemize}
\doxysubsection*{Static Private Attributes}
\begin{DoxyCompactItemize}
\item 
static int {\bfseries \+\_\+default\+\_\+channel}
\item 
\mbox{\Hypertarget{classGpgFrontend_1_1SingletonFunctionObject_a6bf75b5dab3e8bb0f81a69df4fed4c39}\label{classGpgFrontend_1_1SingletonFunctionObject_a6bf75b5dab3e8bb0f81a69df4fed4c39}} 
static std\+::mutex {\bfseries \+\_\+instance\+\_\+mutex}
\item 
\mbox{\Hypertarget{classGpgFrontend_1_1SingletonFunctionObject_aecf86e20874606b7176bfe7063efc2e0}\label{classGpgFrontend_1_1SingletonFunctionObject_aecf86e20874606b7176bfe7063efc2e0}} 
static std\+::shared\+\_\+mutex {\bfseries \+\_\+instances\+\_\+mutex}
\item 
\mbox{\Hypertarget{classGpgFrontend_1_1SingletonFunctionObject_ac07ca33d2400724851c5e96dff4d54a4}\label{classGpgFrontend_1_1SingletonFunctionObject_ac07ca33d2400724851c5e96dff4d54a4}} 
static std\+::unique\+\_\+ptr$<$ T $>$ {\bfseries \+\_\+instance} = nullptr
\item 
\mbox{\Hypertarget{classGpgFrontend_1_1SingletonFunctionObject_a09a5ce042da5d1528bdef02932e17717}\label{classGpgFrontend_1_1SingletonFunctionObject_a09a5ce042da5d1528bdef02932e17717}} 
static std\+::map$<$ int, std\+::unique\+\_\+ptr$<$ T $>$ $>$ {\bfseries \+\_\+instances\+\_\+map}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
\subsubsection*{template$<$typename T$>$\newline
class Gpg\+Frontend\+::\+Singleton\+Function\+Object$<$ T $>$}


\begin{DoxyTemplParams}{Template Parameters}
{\em T} & \\
\hline
\end{DoxyTemplParams}


\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classGpgFrontend_1_1SingletonFunctionObject_aabc5fe8e5a372ac276a265286457cb9a}\label{classGpgFrontend_1_1SingletonFunctionObject_aabc5fe8e5a372ac276a265286457cb9a}} 
\index{GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}!SingletonFunctionObject@{SingletonFunctionObject}}
\index{SingletonFunctionObject@{SingletonFunctionObject}!GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{SingletonFunctionObject()}{SingletonFunctionObject()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
\mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject}{Gpg\+Frontend\+::\+Singleton\+Function\+Object}}$<$ T $>$\+::\mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject}{Singleton\+Function\+Object}} (\begin{DoxyParamCaption}\item[{T \&\&}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [delete]}}



Construct a new Singleton Function Object object. 

\mbox{\Hypertarget{classGpgFrontend_1_1SingletonFunctionObject_a7090636bed6f4bad5b99f28f6872c645}\label{classGpgFrontend_1_1SingletonFunctionObject_a7090636bed6f4bad5b99f28f6872c645}} 
\index{GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}!SingletonFunctionObject@{SingletonFunctionObject}}
\index{SingletonFunctionObject@{SingletonFunctionObject}!GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{SingletonFunctionObject()}{SingletonFunctionObject()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
\mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject}{Gpg\+Frontend\+::\+Singleton\+Function\+Object}}$<$ T $>$\+::\mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject}{Singleton\+Function\+Object}} (\begin{DoxyParamCaption}\item[{const T \&}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [delete]}}



Construct a new Singleton Function Object object. 

\mbox{\Hypertarget{classGpgFrontend_1_1SingletonFunctionObject_a02e76b42ab51d77588b01c7508bed258}\label{classGpgFrontend_1_1SingletonFunctionObject_a02e76b42ab51d77588b01c7508bed258}} 
\index{GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}!SingletonFunctionObject@{SingletonFunctionObject}}
\index{SingletonFunctionObject@{SingletonFunctionObject}!GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{SingletonFunctionObject()}{SingletonFunctionObject()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
\mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject}{Gpg\+Frontend\+::\+Singleton\+Function\+Object}}$<$ T $>$\+::\mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject}{Singleton\+Function\+Object}} (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [default]}}



Construct a new Singleton Function Object object. 

\mbox{\Hypertarget{classGpgFrontend_1_1SingletonFunctionObject_a4aa7f1eb1d3281bb1fccfcbb1b416251}\label{classGpgFrontend_1_1SingletonFunctionObject_a4aa7f1eb1d3281bb1fccfcbb1b416251}} 
\index{GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}!SingletonFunctionObject@{SingletonFunctionObject}}
\index{SingletonFunctionObject@{SingletonFunctionObject}!GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{SingletonFunctionObject()}{SingletonFunctionObject()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
\mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject}{Gpg\+Frontend\+::\+Singleton\+Function\+Object}}$<$ T $>$\+::\mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject}{Singleton\+Function\+Object}} (\begin{DoxyParamCaption}\item[{int}]{channel }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}, {\ttfamily [protected]}}



Construct a new Singleton Function Object object. 


\begin{DoxyParams}{Parameters}
{\em channel} & \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classGpgFrontend_1_1SingletonFunctionObject_a8296be8c449f88175285186831b995bc}\label{classGpgFrontend_1_1SingletonFunctionObject_a8296be8c449f88175285186831b995bc}} 
\index{GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}!````~SingletonFunctionObject@{$\sim$SingletonFunctionObject}}
\index{````~SingletonFunctionObject@{$\sim$SingletonFunctionObject}!GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{$\sim$SingletonFunctionObject()}{~SingletonFunctionObject()}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
virtual \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject}{Gpg\+Frontend\+::\+Singleton\+Function\+Object}}$<$ T $>$\+::$\sim$\mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject}{Singleton\+Function\+Object}} (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}, {\ttfamily [default]}}



Destroy the Singleton Function Object object. 



\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classGpgFrontend_1_1SingletonFunctionObject_a43b21fa20b4102b826e3527f7bbdf218}\label{classGpgFrontend_1_1SingletonFunctionObject_a43b21fa20b4102b826e3527f7bbdf218}} 
\index{GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}!CreateInstance@{CreateInstance}}
\index{CreateInstance@{CreateInstance}!GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{CreateInstance()}{CreateInstance()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
static T\& \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject}{Gpg\+Frontend\+::\+Singleton\+Function\+Object}}$<$ T $>$\+::Create\+Instance (\begin{DoxyParamCaption}\item[{int}]{channel,  }\item[{std\+::function$<$ std\+::unique\+\_\+ptr$<$ T $>$(void)$>$}]{factory }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Create a Instance object. 


\begin{DoxyParams}{Parameters}
{\em channel} & \\
\hline
{\em factory} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
T\& 
\end{DoxyReturn}
\mbox{\Hypertarget{classGpgFrontend_1_1SingletonFunctionObject_a3d40217b6536ffafff8e58078d8e6b95}\label{classGpgFrontend_1_1SingletonFunctionObject_a3d40217b6536ffafff8e58078d8e6b95}} 
\index{GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}!CreateInstance@{CreateInstance}}
\index{CreateInstance@{CreateInstance}!GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{CreateInstance()}{CreateInstance()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
static T\& \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject}{Gpg\+Frontend\+::\+Singleton\+Function\+Object}}$<$ T $>$\+::Create\+Instance (\begin{DoxyParamCaption}\item[{int}]{channel,  }\item[{std\+::unique\+\_\+ptr$<$ T $>$}]{p\+\_\+obj = {\ttfamily nullptr} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Create a Instance object. 


\begin{DoxyParams}{Parameters}
{\em channel} & \\
\hline
{\em p\+\_\+obj} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
T\& 
\end{DoxyReturn}
\mbox{\Hypertarget{classGpgFrontend_1_1SingletonFunctionObject_a6c6c54060c4f4926adb1ee4a71ee8c89}\label{classGpgFrontend_1_1SingletonFunctionObject_a6c6c54060c4f4926adb1ee4a71ee8c89}} 
\index{GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}!find\_object\_in\_channel@{find\_object\_in\_channel}}
\index{find\_object\_in\_channel@{find\_object\_in\_channel}!GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{find\_object\_in\_channel()}{find\_object\_in\_channel()}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
static T$\ast$ \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject}{Gpg\+Frontend\+::\+Singleton\+Function\+Object}}$<$ T $>$\+::find\+\_\+object\+\_\+in\+\_\+channel (\begin{DoxyParamCaption}\item[{int}]{channel }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}, {\ttfamily [private]}}


\begin{DoxyParams}{Parameters}
{\em channel} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
T$\ast$ 
\end{DoxyReturn}


Referenced by Gpg\+Frontend\+::\+Singleton\+Function\+Object$<$ Gpg\+Context $>$\+::\+Create\+Instance(), and Gpg\+Frontend\+::\+Singleton\+Function\+Object$<$ Gpg\+Context $>$\+::\+Get\+Instance().

\mbox{\Hypertarget{classGpgFrontend_1_1SingletonFunctionObject_aa99440b9177f5d0c18840f08a40d64b7}\label{classGpgFrontend_1_1SingletonFunctionObject_aa99440b9177f5d0c18840f08a40d64b7}} 
\index{GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}!GetChannel@{GetChannel}}
\index{GetChannel@{GetChannel}!GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{GetChannel()}{GetChannel()}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
int \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject}{Gpg\+Frontend\+::\+Singleton\+Function\+Object}}$<$ T $>$\+::Get\+Channel (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Get the Channel object. 

\begin{DoxyReturn}{Returns}
int 
\end{DoxyReturn}
\mbox{\Hypertarget{classGpgFrontend_1_1SingletonFunctionObject_a50e2b3794d6553f4231eaec72d9d0a50}\label{classGpgFrontend_1_1SingletonFunctionObject_a50e2b3794d6553f4231eaec72d9d0a50}} 
\index{GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}!GetDefaultChannel@{GetDefaultChannel}}
\index{GetDefaultChannel@{GetDefaultChannel}!GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{GetDefaultChannel()}{GetDefaultChannel()}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
static int \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject}{Gpg\+Frontend\+::\+Singleton\+Function\+Object}}$<$ T $>$\+::Get\+Default\+Channel (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Get the Default Channel object. 

\begin{DoxyReturn}{Returns}
int 
\end{DoxyReturn}
\mbox{\Hypertarget{classGpgFrontend_1_1SingletonFunctionObject_a70484d7cfe9f9dcbcd5f8bb749250f36}\label{classGpgFrontend_1_1SingletonFunctionObject_a70484d7cfe9f9dcbcd5f8bb749250f36}} 
\index{GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}!GetInstance@{GetInstance}}
\index{GetInstance@{GetInstance}!GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{GetInstance()}{GetInstance()}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
static T\& \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject}{Gpg\+Frontend\+::\+Singleton\+Function\+Object}}$<$ T $>$\+::Get\+Instance (\begin{DoxyParamCaption}\item[{int}]{channel = {\ttfamily GpgFrontend\+:\+:GPGFRONTEND\+\_\+DEFAULT\+\_\+CHANNEL} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Get the Instance object. 


\begin{DoxyParams}{Parameters}
{\em channel} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
T\& 
\end{DoxyReturn}
\mbox{\Hypertarget{classGpgFrontend_1_1SingletonFunctionObject_aadb8743cd8943395f5cbb631667da363}\label{classGpgFrontend_1_1SingletonFunctionObject_aadb8743cd8943395f5cbb631667da363}} 
\index{GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}!ReleaseChannel@{ReleaseChannel}}
\index{ReleaseChannel@{ReleaseChannel}!GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{ReleaseChannel()}{ReleaseChannel()}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
static T\& \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject}{Gpg\+Frontend\+::\+Singleton\+Function\+Object}}$<$ T $>$\+::Release\+Channel (\begin{DoxyParamCaption}\item[{int}]{channel }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}


\begin{DoxyParams}{Parameters}
{\em channel} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
T\& 
\end{DoxyReturn}
\mbox{\Hypertarget{classGpgFrontend_1_1SingletonFunctionObject_a7377f8bddac073dbf9aa631726d8c021}\label{classGpgFrontend_1_1SingletonFunctionObject_a7377f8bddac073dbf9aa631726d8c021}} 
\index{GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}!set\_object\_in\_channel@{set\_object\_in\_channel}}
\index{set\_object\_in\_channel@{set\_object\_in\_channel}!GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{set\_object\_in\_channel()}{set\_object\_in\_channel()}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
static T$\ast$ \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject}{Gpg\+Frontend\+::\+Singleton\+Function\+Object}}$<$ T $>$\+::set\+\_\+object\+\_\+in\+\_\+channel (\begin{DoxyParamCaption}\item[{int}]{channel,  }\item[{std\+::unique\+\_\+ptr$<$ T $>$}]{p\+\_\+obj }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}, {\ttfamily [private]}}



Set the object in channel object. 


\begin{DoxyParams}{Parameters}
{\em channel} & \\
\hline
{\em p\+\_\+obj} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
T$\ast$ 
\end{DoxyReturn}


Referenced by Gpg\+Frontend\+::\+Singleton\+Function\+Object$<$ Gpg\+Context $>$\+::\+Create\+Instance(), and Gpg\+Frontend\+::\+Singleton\+Function\+Object$<$ Gpg\+Context $>$\+::\+Get\+Instance().

\mbox{\Hypertarget{classGpgFrontend_1_1SingletonFunctionObject_a56ba12077251893e48f5ec360e8c7040}\label{classGpgFrontend_1_1SingletonFunctionObject_a56ba12077251893e48f5ec360e8c7040}} 
\index{GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}!SetChannel@{SetChannel}}
\index{SetChannel@{SetChannel}!GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{SetChannel()}{SetChannel()}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
void \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject}{Gpg\+Frontend\+::\+Singleton\+Function\+Object}}$<$ T $>$\+::Set\+Channel (\begin{DoxyParamCaption}\item[{int}]{channel }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}}



Set the Channel object. 


\begin{DoxyParams}{Parameters}
{\em channel} & \\
\hline
\end{DoxyParams}


\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{classGpgFrontend_1_1SingletonFunctionObject_ae22a3ffbf6ef1adde906178a022c973c}\label{classGpgFrontend_1_1SingletonFunctionObject_ae22a3ffbf6ef1adde906178a022c973c}} 
\index{GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}!\_default\_channel@{\_default\_channel}}
\index{\_default\_channel@{\_default\_channel}!GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{\_default\_channel}{\_default\_channel}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
int \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject}{Gpg\+Frontend\+::\+Singleton\+Function\+Object}}$<$ T $>$\+::\+\_\+default\+\_\+channel\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [private]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{=}
\DoxyCodeLine{    GpgFrontend::GPGFRONTEND\_DEFAULT\_CHANNEL}

\end{DoxyCode}


The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
src/core/Gpg\+Function\+Object.\+h\end{DoxyCompactItemize}
