\hypertarget{a00763}{\section{License\+Manager Class Reference}
\label{a00763}\index{License\+Manager@{License\+Manager}}
}


License management base class.  




{\ttfamily \#include $<$Open\+Flipper/\+License\+Manager/\+License\+Manager\+Active.\+hh$>$}

Inheritance diagram for License\+Manager\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{a00763}
\end{center}
\end{figure}
\subsection*{Public Slots}
\begin{DoxyCompactItemize}
\item 
bool \hyperlink{a00763_ac5b1ff85b9265b7a1aa00f6129b4bf8b}{authenticate} ()
\item 
Q\+String \hyperlink{a00763_a7a61dce4a9a456fd9532efe14e1c34a0}{license\+Error} ()
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{a00763_aac5a0938ed144fe0793144bab464dee0}{block\+Signals} (bool \+\_\+state)
\item 
bool \hyperlink{a00763_a1bc36855828b54e2596ffaa86d8d09ba}{authenticated} ()
\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{a00763_af217a14306c64c6643e75040793cfd23}{connect\+Notify} (const char $\ast$signal)
\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00763_a424ba2efae7aa415beac8d75adf7d5ec}{bool {\bfseries timestamp\+Ok} ()}\label{a00763_a424ba2efae7aa415beac8d75adf7d5ec}

\item 
virtual Q\+String \hyperlink{a00763_ab9d0c534557c05a18360ac8677e7edfa}{name} ()=0
\item 
virtual Q\+String \hyperlink{a00763_a31058e7aea7873346f308d2545908264}{plugin\+File\+Name} ()
\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00763_ae9944575244f3b9decb2af6c2dfb3ea8}{bool \hyperlink{a00763_ae9944575244f3b9decb2af6c2dfb3ea8}{authenticated\+\_\+}}\label{a00763_ae9944575244f3b9decb2af6c2dfb3ea8}

\begin{DoxyCompactList}\small\item\em This flag is true if authentication was successful. \end{DoxyCompactList}\item 
\hypertarget{a00763_ac4f6bbad19c8653e3d2262c1dc2ebeb9}{Q\+String \hyperlink{a00763_ac4f6bbad19c8653e3d2262c1dc2ebeb9}{authstring\+\_\+}}\label{a00763_ac4f6bbad19c8653e3d2262c1dc2ebeb9}

\begin{DoxyCompactList}\small\item\em License information string. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
License management base class. 

See \hyperlink{securityInterfacePage}{Security/\+License Interface} for Details on how to use it.

The class is used by plugins to integrate license management. It will check the license, generate license requests and prevent the plugin from loading if an invalid license or no license is found. 

Definition at line 74 of file License\+Manager\+Active.\+hh.



\subsection{Member Function Documentation}
\hypertarget{a00763_ac5b1ff85b9265b7a1aa00f6129b4bf8b}{\index{License\+Manager@{License\+Manager}!authenticate@{authenticate}}
\index{authenticate@{authenticate}!License\+Manager@{License\+Manager}}
\subsubsection[{authenticate}]{\setlength{\rightskip}{0pt plus 5cm}bool License\+Manager\+::authenticate (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [slot]}}}\label{a00763_ac5b1ff85b9265b7a1aa00f6129b4bf8b}
Call this function for plugin authentication. If it returns true, the authentication has been successful. Otherwise the core will stop loading the plugin. Additionally the plugin will make itself unusable by not allowing any signal slot connections. 

Definition at line 211 of file License\+Manager\+Active.\+cc.

\hypertarget{a00763_a1bc36855828b54e2596ffaa86d8d09ba}{\index{License\+Manager@{License\+Manager}!authenticated@{authenticated}}
\index{authenticated@{authenticated}!License\+Manager@{License\+Manager}}
\subsubsection[{authenticated}]{\setlength{\rightskip}{0pt plus 5cm}bool License\+Manager\+::authenticated (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{a00763_a1bc36855828b54e2596ffaa86d8d09ba}
Return if the plugin has successfully passed the authentication. 

Definition at line 583 of file License\+Manager\+Active.\+cc.

\hypertarget{a00763_aac5a0938ed144fe0793144bab464dee0}{\index{License\+Manager@{License\+Manager}!block\+Signals@{block\+Signals}}
\index{block\+Signals@{block\+Signals}!License\+Manager@{License\+Manager}}
\subsubsection[{block\+Signals}]{\setlength{\rightskip}{0pt plus 5cm}void License\+Manager\+::block\+Signals (
\begin{DoxyParamCaption}
\item[{bool}]{\+\_\+state}
\end{DoxyParamCaption}
)}}\label{a00763_aac5a0938ed144fe0793144bab464dee0}
This function is overloaded and will not allow to unblock signals if the plugin is not authenticated. 

Definition at line 123 of file License\+Manager\+Active.\+cc.

\hypertarget{a00763_af217a14306c64c6643e75040793cfd23}{\index{License\+Manager@{License\+Manager}!connect\+Notify@{connect\+Notify}}
\index{connect\+Notify@{connect\+Notify}!License\+Manager@{License\+Manager}}
\subsubsection[{connect\+Notify}]{\setlength{\rightskip}{0pt plus 5cm}void License\+Manager\+::connect\+Notify (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{signal}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [protected]}}}\label{a00763_af217a14306c64c6643e75040793cfd23}
This function is overloaded in the security interface. If the plugin is not authenticated, all connections will be automatically removed again. 

Definition at line 588 of file License\+Manager\+Active.\+cc.

\hypertarget{a00763_a7a61dce4a9a456fd9532efe14e1c34a0}{\index{License\+Manager@{License\+Manager}!license\+Error@{license\+Error}}
\index{license\+Error@{license\+Error}!License\+Manager@{License\+Manager}}
\subsubsection[{license\+Error}]{\setlength{\rightskip}{0pt plus 5cm}Q\+String License\+Manager\+::license\+Error (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [slot]}}}\label{a00763_a7a61dce4a9a456fd9532efe14e1c34a0}
if authenticate returns false, this string will contain the license information required to generate a license request and the error that caused the failure. 

Definition at line 579 of file License\+Manager\+Active.\+cc.

\hypertarget{a00763_ab9d0c534557c05a18360ac8677e7edfa}{\index{License\+Manager@{License\+Manager}!name@{name}}
\index{name@{name}!License\+Manager@{License\+Manager}}
\subsubsection[{name}]{\setlength{\rightskip}{0pt plus 5cm}virtual Q\+String License\+Manager\+::name (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [pure virtual]}}}\label{a00763_ab9d0c534557c05a18360ac8677e7edfa}
This is used to get the plugins Name from derived classes The plugin name is the usual name of the plugin \hypertarget{a00763_a31058e7aea7873346f308d2545908264}{\index{License\+Manager@{License\+Manager}!plugin\+File\+Name@{plugin\+File\+Name}}
\index{plugin\+File\+Name@{plugin\+File\+Name}!License\+Manager@{License\+Manager}}
\subsubsection[{plugin\+File\+Name}]{\setlength{\rightskip}{0pt plus 5cm}Q\+String License\+Manager\+::plugin\+File\+Name (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [virtual]}}}\label{a00763_a31058e7aea7873346f308d2545908264}
This function is special to the \hyperlink{a00763}{License\+Manager}. It is used to find the plugin when checking its hash value. 

Definition at line 599 of file License\+Manager\+Active.\+cc.



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
Open\+Flipper/\+License\+Manager/License\+Manager\+Active.\+hh\item 
Open\+Flipper/\+License\+Manager/License\+Manager\+Active.\+cc\end{DoxyCompactItemize}
