\hypertarget{a06924}{}\section{Plugin\+Connection\+Interface Class Reference}
\label{a06924}\index{Plugin\+Connection\+Interface@{Plugin\+Connection\+Interface}}


Allow to connect slots between plugins.  




{\ttfamily \#include $<$Open\+Flipper/\+Base\+Plugin/\+Plugin\+Connection\+Interface.\+hh$>$}

\subsection*{Signals}
\begin{DoxyCompactItemize}
\item 
virtual void \hyperlink{a06924_a55d83150a826583945b8dc7e8da6d0e7}{cross\+Plugin\+Connect} (Q\+String \+\_\+plugin\+Name1, const char $\ast$\+\_\+signal, Q\+String \+\_\+plugin\+Name2, const char $\ast$\+\_\+slot)=0
\begin{DoxyCompactList}\small\item\em connect signals and slots of plugins across plugins \end{DoxyCompactList}\item 
virtual void \hyperlink{a06924_a40bd6976baa8af434ec44a72be5c258c}{cross\+Plugin\+Connect\+Queued} (Q\+String \+\_\+plugin\+Name1, const char $\ast$\+\_\+signal, Q\+String \+\_\+plugin\+Name2, const char $\ast$\+\_\+slot)=0
\begin{DoxyCompactList}\small\item\em connect signals and slots of plugins across plugins using Qt\+::\+Queued\+Connection \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a06924_a0b60128301e10545424c407a2a97cca2}\label{a06924_a0b60128301e10545424c407a2a97cca2}} 
virtual \hyperlink{a06924_a0b60128301e10545424c407a2a97cca2}{$\sim$\+Plugin\+Connection\+Interface} ()
\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Allow to connect slots between plugins. 

\hyperlink{pluginConnectionInterfacePage}{Detailed description} ~\newline
 Interface Class which allows to connect signals and slots across plugins

~\newline
 {\bfseries  W\+A\+R\+N\+I\+N\+G! Never connect S\+I\+G\+N\+A\+LS and S\+L\+O\+TS which are already defined in the Interfaces!! W\+A\+R\+N\+I\+N\+G! } ~\newline
 This might result in endless loops and breaks Open\+Flippers control loops. You have to keep track of your connections yourself. If you call slots which call updated\+Oject which in turn call your original slot you get a loop and Open\+Flipper is not responsible for your endless loops! Be careful! 

Definition at line 67 of file Plugin\+Connection\+Interface.\+hh.



\subsection{Member Function Documentation}
\mbox{\Hypertarget{a06924_a55d83150a826583945b8dc7e8da6d0e7}\label{a06924_a55d83150a826583945b8dc7e8da6d0e7}} 
\index{Plugin\+Connection\+Interface@{Plugin\+Connection\+Interface}!cross\+Plugin\+Connect@{cross\+Plugin\+Connect}}
\index{cross\+Plugin\+Connect@{cross\+Plugin\+Connect}!Plugin\+Connection\+Interface@{Plugin\+Connection\+Interface}}
\subsubsection{\texorpdfstring{cross\+Plugin\+Connect}{crossPluginConnect}}
{\footnotesize\ttfamily virtual void Plugin\+Connection\+Interface\+::cross\+Plugin\+Connect (\begin{DoxyParamCaption}\item[{Q\+String}]{\+\_\+plugin\+Name1,  }\item[{const char $\ast$}]{\+\_\+signal,  }\item[{Q\+String}]{\+\_\+plugin\+Name2,  }\item[{const char $\ast$}]{\+\_\+slot }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}, {\ttfamily [signal]}}



connect signals and slots of plugins across plugins 

Connect a signal of one plugin to another plugin by its scripting name. 
\begin{DoxyParams}{Parameters}
{\em \+\_\+plugin\+Name1} & is the scripting name of the plugin containing the signal ( Use script editor to check that name) \\
\hline
{\em \+\_\+signal} & is the signal name. Use it like with regular connect ( {\ttfamily S\+I\+G\+N\+AL(...)} ) macro \\
\hline
{\em \+\_\+plugin\+Name2} & is the scripting name of the plugin containing a slot \\
\hline
{\em \+\_\+slot} & is the slot name. Use it like with regular connect ( {\ttfamily S\+L\+OT(...)} ) macro \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{a06924_a40bd6976baa8af434ec44a72be5c258c}\label{a06924_a40bd6976baa8af434ec44a72be5c258c}} 
\index{Plugin\+Connection\+Interface@{Plugin\+Connection\+Interface}!cross\+Plugin\+Connect\+Queued@{cross\+Plugin\+Connect\+Queued}}
\index{cross\+Plugin\+Connect\+Queued@{cross\+Plugin\+Connect\+Queued}!Plugin\+Connection\+Interface@{Plugin\+Connection\+Interface}}
\subsubsection{\texorpdfstring{cross\+Plugin\+Connect\+Queued}{crossPluginConnectQueued}}
{\footnotesize\ttfamily virtual void Plugin\+Connection\+Interface\+::cross\+Plugin\+Connect\+Queued (\begin{DoxyParamCaption}\item[{Q\+String}]{\+\_\+plugin\+Name1,  }\item[{const char $\ast$}]{\+\_\+signal,  }\item[{Q\+String}]{\+\_\+plugin\+Name2,  }\item[{const char $\ast$}]{\+\_\+slot }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}, {\ttfamily [signal]}}



connect signals and slots of plugins across plugins using Qt\+::\+Queued\+Connection 

Connect a signal of one plugin to another plugin by its scripting name. 
\begin{DoxyParams}{Parameters}
{\em \+\_\+plugin\+Name1} & is the scripting name of the plugin containing the signal ( Use script editor to check that name) \\
\hline
{\em \+\_\+signal} & is the signal name. Use it like with regular connect ( {\ttfamily S\+I\+G\+N\+AL(...)} ) macro \\
\hline
{\em \+\_\+plugin\+Name2} & is the scripting name of the plugin containing a slot \\
\hline
{\em \+\_\+slot} & is the slot name. Use it like with regular connect ( {\ttfamily S\+L\+OT(...)} ) macro \\
\hline
\end{DoxyParams}


The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
Open\+Flipper/\+Base\+Plugin/\hyperlink{a00056}{Plugin\+Connection\+Interface.\+hh}\end{DoxyCompactItemize}
