\hypertarget{a02463}{\section{Open\+Flipper/\+Base\+Plugin/\+R\+P\+C\+Wrappers.hh File Reference}
\label{a02463}\index{Open\+Flipper/\+Base\+Plugin/\+R\+P\+C\+Wrappers.\+hh@{Open\+Flipper/\+Base\+Plugin/\+R\+P\+C\+Wrappers.\+hh}}
}
{\ttfamily \#include $<$Qt\+Script$>$}\\*
{\ttfamily \#include $<$vector$>$}\\*
{\ttfamily \#include $<$Open\+Flipper/common/\+Types.\+hh$>$}\\*
\subsection*{Namespaces}
\begin{DoxyCompactItemize}
\item 
 \hyperlink{a03396}{R\+P\+C}
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{Indent}{\bf Script Engine Controls}\par
{\em Functions to get the scripting engine. Normally you don't need them. And \hyperlink{a03396_a4c32a6894256909edea68b61fa858852}{R\+P\+C\+::set\+Script\+Engine} should never be used! }\begin{DoxyCompactItemize}
\item 
Q\+Script\+Engine $\ast$ \hyperlink{a03396_a2e7f801c03bcd2bd84f41f2e22180554}{R\+P\+C\+::get\+Script\+Engine} ()
\begin{DoxyCompactList}\small\item\em get a pointer to Open\+Flippers core scripting engine \end{DoxyCompactList}\item 
void \hyperlink{a03396_a4c32a6894256909edea68b61fa858852}{R\+P\+C\+::set\+Script\+Engine} (Q\+Script\+Engine $\ast$\+\_\+engine)
\begin{DoxyCompactList}\small\item\em D\+O\+N\+T U\+S\+E! (Function to set the internal reference to the script Engine) \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}{\bf Call functions across plugins (simple calls)}\par
{\em These functions can be used to call functions in other plugins. }\begin{DoxyCompactItemize}
\item 
Q\+Script\+Value \hyperlink{a03396_afbba6e32e1c64fa3305d54e4be4626c5}{R\+P\+C\+::call\+Function} (Q\+String \+\_\+plugin, Q\+String \+\_\+function\+Name)
\begin{DoxyCompactList}\small\item\em call a function provided by a plugin \end{DoxyCompactList}\item 
Q\+Script\+Value \hyperlink{a03396_a738f9f8746ac261ad6f5c656e2790cd0}{R\+P\+C\+::call\+Function} (Q\+String \+\_\+plugin, Q\+String \+\_\+function\+Name, std\+::vector$<$ Q\+Script\+Value $>$ \+\_\+parameters)
\begin{DoxyCompactList}\small\item\em Call a function provided by a plugin getting multiple parameters. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}{\bf Call functions across plugins}\par
{\em These templates can be used to call functions in other plugins. }\begin{DoxyCompactItemize}
\item 
{\footnotesize template$<$typename T0 $>$ }\\void \hyperlink{a03396_a82b16a4bd1d86cdd0ef51d30da8b93c6}{R\+P\+C\+::call\+Function} (Q\+String \+\_\+plugin, Q\+String \+\_\+function\+Name, T0 \+\_\+t0)
\begin{DoxyCompactList}\small\item\em call a function in another plugin \end{DoxyCompactList}\item 
{\footnotesize template$<$typename T0 , typename T1 $>$ }\\void \hyperlink{a03396_a4e2b277cf226479d75000a0188e1a8d5}{R\+P\+C\+::call\+Function} (Q\+String \+\_\+plugin, Q\+String \+\_\+function\+Name, T0 \+\_\+t0, T1 \+\_\+t1)
\begin{DoxyCompactList}\small\item\em call a function in another plugin \end{DoxyCompactList}\item 
{\footnotesize template$<$typename T0 , typename T1 , typename T2 $>$ }\\void \hyperlink{a03396_a9adf2087495f325aa7167efdea71cfe7}{R\+P\+C\+::call\+Function} (Q\+String \+\_\+plugin, Q\+String \+\_\+function\+Name, T0 \+\_\+t0, T1 \+\_\+t1, T2 \+\_\+t2)
\begin{DoxyCompactList}\small\item\em call a function in another plugin \end{DoxyCompactList}\item 
{\footnotesize template$<$typename T0 , typename T1 , typename T2 , typename T3 $>$ }\\void \hyperlink{a03396_ad41301494a5d960a6901cdeda1f7dceb}{R\+P\+C\+::call\+Function} (Q\+String \+\_\+plugin, Q\+String \+\_\+function\+Name, T0 \+\_\+t0, T1 \+\_\+t1, T2 \+\_\+t2, T3 \+\_\+t3)
\begin{DoxyCompactList}\small\item\em call a function in another plugin \end{DoxyCompactList}\item 
{\footnotesize template$<$typename T0 , typename T1 , typename T2 , typename T3 , typename T4 $>$ }\\void \hyperlink{a03396_a4195932b3690b5c2633f29454d4c94ee}{R\+P\+C\+::call\+Function} (Q\+String \+\_\+plugin, Q\+String \+\_\+function\+Name, T0 \+\_\+t0, T1 \+\_\+t1, T2 \+\_\+t2, T3 \+\_\+t3, T4 \+\_\+t4)
\begin{DoxyCompactList}\small\item\em call a function in another plugin \end{DoxyCompactList}\item 
{\footnotesize template$<$typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 $>$ }\\void \hyperlink{a03396_a20298df6fc8c6e10f8fb31b2860ff0e0}{R\+P\+C\+::call\+Function} (Q\+String \+\_\+plugin, Q\+String \+\_\+function\+Name, T0 \+\_\+t0, T1 \+\_\+t1, T2 \+\_\+t2, T3 \+\_\+t3, T4 \+\_\+t4, T5 \+\_\+t5)
\begin{DoxyCompactList}\small\item\em call a function in another plugin \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}{\bf Call functions across plugins which return a value}\par
{\em These templates can be used to call functions that return a value. You have to pass the type of return value as the first template parameter. }\begin{DoxyCompactItemize}
\item 
{\footnotesize template$<$typename Return\+Value $>$ }\\Return\+Value \hyperlink{a03396_aa259c2dd994e39a983163e93ac441c9f}{R\+P\+C\+::call\+Function\+Value} (Q\+String \+\_\+plugin, Q\+String \+\_\+function\+Name)
\begin{DoxyCompactList}\small\item\em call a function in another plugin and get a return parameter \end{DoxyCompactList}\item 
{\footnotesize template$<$typename Return\+Value , typename T0 $>$ }\\Return\+Value \hyperlink{a03396_a2f083cde8a1a9472f4f1a57a8bc476dc}{R\+P\+C\+::call\+Function\+Value} (Q\+String \+\_\+plugin, Q\+String \+\_\+function\+Name, T0 \+\_\+t0)
\begin{DoxyCompactList}\small\item\em call a function in another plugin and get a return parameter \end{DoxyCompactList}\item 
{\footnotesize template$<$typename Return\+Value , typename T0 , typename T1 $>$ }\\Return\+Value \hyperlink{a03396_af829f6bf46c7b0ca5d158bf80d910941}{R\+P\+C\+::call\+Function\+Value} (Q\+String \+\_\+plugin, Q\+String \+\_\+function\+Name, T0 \+\_\+t0, T1 \+\_\+t1)
\begin{DoxyCompactList}\small\item\em call a function in another plugin and get a return parameter \end{DoxyCompactList}\item 
{\footnotesize template$<$typename Return\+Value , typename T0 , typename T1 , typename T2 $>$ }\\Return\+Value \hyperlink{a03396_a18bcbc5e9ff10db2fa3d9da22060e5c7}{R\+P\+C\+::call\+Function\+Value} (Q\+String \+\_\+plugin, Q\+String \+\_\+function\+Name, T0 \+\_\+t0, T1 \+\_\+t1, T2 \+\_\+t2)
\begin{DoxyCompactList}\small\item\em call a function in another plugin and get a return parameter \end{DoxyCompactList}\item 
{\footnotesize template$<$typename Return\+Value , typename T0 , typename T1 , typename T2 , typename T3 $>$ }\\Return\+Value \hyperlink{a03396_a56e04a560da630b646db6f67cc33d586}{R\+P\+C\+::call\+Function\+Value} (Q\+String \+\_\+plugin, Q\+String \+\_\+function\+Name, T0 \+\_\+t0, T1 \+\_\+t1, T2 \+\_\+t2, T3 \+\_\+t3)
\begin{DoxyCompactList}\small\item\em call a function in another plugin and get a return parameter \end{DoxyCompactList}\item 
{\footnotesize template$<$typename Return\+Value , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 $>$ }\\Return\+Value \hyperlink{a03396_a4573fa9d34efeb7764ab4cabfe0eb58d}{R\+P\+C\+::call\+Function\+Value} (Q\+String \+\_\+plugin, Q\+String \+\_\+function\+Name, T0 \+\_\+t0, T1 \+\_\+t1, T2 \+\_\+t2, T3 \+\_\+t3, T4 \+\_\+t4)
\begin{DoxyCompactList}\small\item\em call a function in another plugin and get a return parameter \end{DoxyCompactList}\item 
{\footnotesize template$<$typename Return\+Value , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 $>$ }\\Return\+Value \hyperlink{a03396_a923546aebc495d97fe85ad2408e78d4f}{R\+P\+C\+::call\+Function\+Value} (Q\+String \+\_\+plugin, Q\+String \+\_\+function\+Name, T0 \+\_\+t0, T1 \+\_\+t1, T2 \+\_\+t2, T3 \+\_\+t3, T4 \+\_\+t4, T5 \+\_\+t5)
\begin{DoxyCompactList}\small\item\em call a function in another plugin and get a return parameter \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}


\subsection{Detailed Description}
This file contains functions to call functions and procedures across plugins. The Q\+T Scripting system is used to pass the calls between different plugins.

Usage is described in \hyperlink{RPCInterfacePage}{R\+P\+C Interface} 

Definition in file \hyperlink{a02463_source}{R\+P\+C\+Wrappers.\+hh}.

