\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=252pt]{classGpgFrontend_1_1SingletonFunctionObject__coll__graph} \end{center} \end{figure} \doxysubsection*{Public Member Functions} \begin{DoxyCompactItemize} \item \mbox{\Hypertarget{classGpgFrontend_1_1SingletonFunctionObject_a194e49b07d46345bdad386505d743a61}\label{classGpgFrontend_1_1SingletonFunctionObject_a194e49b07d46345bdad386505d743a61}} \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject_a194e49b07d46345bdad386505d743a61}{Singleton\+Function\+Object}} (const \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject}{Singleton\+Function\+Object}}$<$ T $>$ \&)=delete \begin{DoxyCompactList}\small\item\em prohibit copy \end{DoxyCompactList}\item \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject}{Singleton\+Function\+Object}} \& \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject_aabb190a60f7a5d4ded43cae16ab8f59e}{operator=}} (const \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject}{Singleton\+Function\+Object}}$<$ T $>$ \&)=delete \begin{DoxyCompactList}\small\item\em prohibit copy \end{DoxyCompactList}\item int \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject_aa99440b9177f5d0c18840f08a40d64b7}{Get\+Channel}} () const \begin{DoxyCompactList}\small\item\em Get the Channel object. \end{DoxyCompactList}\item \mbox{\Hypertarget{classGpgFrontend_1_1SingletonFunctionObject_aabc5fe8e5a372ac276a265286457cb9a}\label{classGpgFrontend_1_1SingletonFunctionObject_aabc5fe8e5a372ac276a265286457cb9a}} \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{\Hypertarget{classGpgFrontend_1_1SingletonFunctionObject_a7090636bed6f4bad5b99f28f6872c645}\label{classGpgFrontend_1_1SingletonFunctionObject_a7090636bed6f4bad5b99f28f6872c645}} \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\+::\+GPGFRONTEND\+\_\+\+DEFAULT\+\_\+\+CHANNEL) \begin{DoxyCompactList}\small\item\em Get the Instance object. \end{DoxyCompactList}\item static T \& \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject_a083807ff8cec58dc0aa732844edaf518}{Create\+Instance}} (int channel, std\+::function$<$ std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classGpgFrontend_1_1ChannelObject}{Channel\+Object}} $>$(void)$>$ factory) \begin{DoxyCompactList}\small\item\em Create a Instance object. \end{DoxyCompactList}\item static void \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject_ab49b1d50252e1934691a9483a6df2106}{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}\item static std\+::vector$<$ int $>$ \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject_a5f2f0474871971f86ff91fb6a2408621}{Get\+All\+Channel\+Id}} () \begin{DoxyCompactList}\small\item\em Get all the channel ids. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsection*{Protected Member Functions} \begin{DoxyCompactItemize} \item \mbox{\Hypertarget{classGpgFrontend_1_1SingletonFunctionObject_a02e76b42ab51d77588b01c7508bed258}\label{classGpgFrontend_1_1SingletonFunctionObject_a02e76b42ab51d77588b01c7508bed258}} \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 \mbox{\Hypertarget{classGpgFrontend_1_1SingletonFunctionObject_a8296be8c449f88175285186831b995bc}\label{classGpgFrontend_1_1SingletonFunctionObject_a8296be8c449f88175285186831b995bc}} 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}\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_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()}} {\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} \doxysubsection{Member Function Documentation} \mbox{\Hypertarget{classGpgFrontend_1_1SingletonFunctionObject_a083807ff8cec58dc0aa732844edaf518}\label{classGpgFrontend_1_1SingletonFunctionObject_a083807ff8cec58dc0aa732844edaf518}} \index{GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}!CreateInstance@{CreateInstance}} \index{CreateInstance@{CreateInstance}!GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}} \doxysubsubsection{\texorpdfstring{CreateInstance()}{CreateInstance()}} {\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$<$ \mbox{\hyperlink{classGpgFrontend_1_1ChannelObject}{Channel\+Object}} $>$(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} References Gpg\+Frontend\+::\+Singleton\+Storage\+Collection\+::\+Get\+Instance(), and Gpg\+Frontend\+::\+Singleton\+Storage\+Collection\+::\+Get\+Singleton\+Storage(). \mbox{\Hypertarget{classGpgFrontend_1_1SingletonFunctionObject_a5f2f0474871971f86ff91fb6a2408621}\label{classGpgFrontend_1_1SingletonFunctionObject_a5f2f0474871971f86ff91fb6a2408621}} \index{GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}!GetAllChannelId@{GetAllChannelId}} \index{GetAllChannelId@{GetAllChannelId}!GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}} \doxysubsubsection{\texorpdfstring{GetAllChannelId()}{GetAllChannelId()}} {\footnotesize\ttfamily template$<$typename T $>$ \\ static std\+::vector$<$int$>$ \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject}{Gpg\+Frontend\+::\+Singleton\+Function\+Object}}$<$ T $>$\+::Get\+All\+Channel\+Id (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}} Get all the channel ids. \begin{DoxyReturn}{Returns} std\+::vector$<$int$>$ \end{DoxyReturn} References Gpg\+Frontend\+::\+Singleton\+Storage\+::\+Get\+All\+Channel\+Id(), Gpg\+Frontend\+::\+Singleton\+Storage\+Collection\+::\+Get\+Instance(), and Gpg\+Frontend\+::\+Singleton\+Storage\+Collection\+::\+Get\+Singleton\+Storage(). \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} References Gpg\+Frontend\+::\+Channel\+Object\+::\+Get\+Channel(). \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} References Gpg\+Frontend\+::\+Channel\+Object\+::\+Get\+Default\+Channel(). \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} References Gpg\+Frontend\+::\+Singleton\+Storage\+Collection\+::\+Get\+Instance(), and Gpg\+Frontend\+::\+Singleton\+Storage\+Collection\+::\+Get\+Singleton\+Storage(). \mbox{\Hypertarget{classGpgFrontend_1_1SingletonFunctionObject_aabb190a60f7a5d4ded43cae16ab8f59e}\label{classGpgFrontend_1_1SingletonFunctionObject_aabb190a60f7a5d4ded43cae16ab8f59e}} \index{GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}!operator=@{operator=}} \index{operator=@{operator=}!GpgFrontend::SingletonFunctionObject$<$ T $>$@{GpgFrontend::SingletonFunctionObject$<$ T $>$}} \doxysubsubsection{\texorpdfstring{operator=()}{operator=()}} {\footnotesize\ttfamily template$<$typename T $>$ \\ \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject}{Singleton\+Function\+Object}}\& \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject}{Gpg\+Frontend\+::\+Singleton\+Function\+Object}}$<$ T $>$\+::operator= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject}{Singleton\+Function\+Object}}$<$ T $>$ \&}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [delete]}} prohibit copy \begin{DoxyReturn}{Returns} \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject}{Singleton\+Function\+Object}}\& \end{DoxyReturn} \mbox{\Hypertarget{classGpgFrontend_1_1SingletonFunctionObject_ab49b1d50252e1934691a9483a6df2106}\label{classGpgFrontend_1_1SingletonFunctionObject_ab49b1d50252e1934691a9483a6df2106}} \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 void \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} References Gpg\+Frontend\+::\+Singleton\+Storage\+Collection\+::\+Get\+Instance(), Gpg\+Frontend\+::\+Singleton\+Storage\+Collection\+::\+Get\+Singleton\+Storage(), and Gpg\+Frontend\+::\+Singleton\+Storage\+::\+Release\+Channel(). The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} \item src/core/Gpg\+Function\+Object.\+h\end{DoxyCompactItemize}