\hypertarget{hs-helper_8h}{}\section{src/hs-\/helper.h File Reference}
\label{hs-helper_8h}\index{src/hs-\/helper.\+h@{src/hs-\/helper.\+h}}
{\ttfamily \#include $<$afb/afb-\/binding.\+h$>$}\\*
{\ttfamily \#include $<$json-\/c/json.\+h$>$}\\*
\subsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \hyperlink{hs-helper_8h_ad2c1fbc92ba364fcf83f15e6d0af66f0}{A\+F\+B\+\_\+\+B\+I\+N\+D\+I\+N\+G\+\_\+\+V\+E\+R\+S\+I\+ON}~3
\item 
\#define \hyperlink{hs-helper_8h_aa611e2ec24ef295bd87825889fe2ce5e}{A\+F\+B\+\_\+\+E\+V\+E\+N\+T\+\_\+\+B\+A\+D\+\_\+\+R\+E\+Q\+U\+E\+ST}~100
\item 
\#define \hyperlink{hs-helper_8h_a995612de89db4df1483c16e4b9b70571}{A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+S\+U\+B\+S\+C\+R\+I\+B\+E\+\_\+\+E\+R\+R\+OR}~101
\item 
\#define \hyperlink{hs-helper_8h_a78e930a97920b821706a80ca8f430034}{A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+U\+N\+S\+U\+B\+S\+C\+R\+I\+B\+E\+\_\+\+E\+R\+R\+OR}~102
\item 
\#define \hyperlink{hs-helper_8h_a057fc88b8445828c261305cf9107d99d}{A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+S\+H\+O\+W\+N\+O\+T\+I\+F\+I\+C\+A\+T\+I\+O\+N\+\_\+\+E\+R\+R\+OR}~103
\item 
\#define \hyperlink{hs-helper_8h_aefe0d7ff8202f954693c235c1fb8e310}{A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+S\+H\+O\+W\+I\+N\+F\+O\+R\+M\+A\+T\+I\+O\+N\+\_\+\+E\+R\+R\+OR}~104
\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef enum \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899}{R\+E\+Q\+\_\+\+E\+R\+R\+OR} \hyperlink{hs-helper_8h_ab0d62ccfa9c3ab87f090f67c3d50adce}{R\+E\+Q\+\_\+\+E\+R\+R\+OR}
\end{DoxyCompactItemize}
\subsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899}{R\+E\+Q\+\_\+\+E\+R\+R\+OR} \{ \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1}{R\+E\+Q\+\_\+\+F\+A\+IL} = -\/1, 
\hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee}{R\+E\+Q\+\_\+\+OK} =0, 
\hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a}{N\+O\+T\+\_\+\+N\+U\+M\+B\+ER}, 
\hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b}{O\+U\+T\+\_\+\+R\+A\+N\+GE}
 \}
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899}{R\+E\+Q\+\_\+\+E\+R\+R\+OR} \hyperlink{hs-helper_8h_aba9ca63f68b1991f8650871f4eae8e0b}{get\+\_\+value\+\_\+uint16} (const afb\+\_\+req\+\_\+t request, const char $\ast$source, uint16\+\_\+t $\ast$out\+\_\+id)
\item 
\hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899}{R\+E\+Q\+\_\+\+E\+R\+R\+OR} \hyperlink{hs-helper_8h_af3043612cf74bb92cb073e10cacd594a}{get\+\_\+value\+\_\+int16} (const afb\+\_\+req\+\_\+t request, const char $\ast$source, int16\+\_\+t $\ast$out\+\_\+id)
\item 
\hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899}{R\+E\+Q\+\_\+\+E\+R\+R\+OR} \hyperlink{hs-helper_8h_a8121d965b6fd795c16b8576ab03dcaf1}{get\+\_\+value\+\_\+int32} (const afb\+\_\+req\+\_\+t request, const char $\ast$source, int32\+\_\+t $\ast$out\+\_\+id)
\item 
void \hyperlink{hs-helper_8h_a1ba31a6a94515ff1730ba0043a67d59e}{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object} (struct json\+\_\+object $\ast$j\+\_\+obj, int count,...)
\item 
void \hyperlink{hs-helper_8h_a8777c53f1d4d5412f19b134ad85ffedf}{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+str} (struct json\+\_\+object $\ast$j\+\_\+obj, int count,...)
\item 
void \hyperlink{hs-helper_8h_ae83604a37134e7bdee3ce4f10bb0b47a}{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+func} (struct json\+\_\+object $\ast$j\+\_\+obj, const char $\ast$verb\+\_\+name, int count,...)
\item 
int \hyperlink{hs-helper_8h_a2ff1b894941c3b461ca8119079c4146a}{hs\+\_\+search\+\_\+event\+\_\+name\+\_\+index} (const char $\ast$value)
\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
const char $\ast$ \hyperlink{hs-helper_8h_a0cd84b1a2184c9b84d1b7bf24582f28e}{evlist} \mbox{[}$\,$\mbox{]}
\item 
const char \hyperlink{hs-helper_8h_aed1c5296a2e6d34945507a0fca17a376}{\+\_\+error} \mbox{[}$\,$\mbox{]}
\item 
const char \hyperlink{hs-helper_8h_a6a0e1db2562b442f8131ddf64b61d1ba}{\+\_\+application\+\_\+id} \mbox{[}$\,$\mbox{]}
\item 
const char \hyperlink{hs-helper_8h_abfd6c1d6f316fa952b11553f8f275e92}{\+\_\+display\+\_\+message} \mbox{[}$\,$\mbox{]}
\item 
const char \hyperlink{hs-helper_8h_a79b0f0b481161527ccb80e83da143219}{\+\_\+reply\+\_\+message} \mbox{[}$\,$\mbox{]}
\end{DoxyCompactItemize}


\subsection{Macro Definition Documentation}
\index{hs-\/helper.\+h@{hs-\/helper.\+h}!A\+F\+B\+\_\+\+B\+I\+N\+D\+I\+N\+G\+\_\+\+V\+E\+R\+S\+I\+ON@{A\+F\+B\+\_\+\+B\+I\+N\+D\+I\+N\+G\+\_\+\+V\+E\+R\+S\+I\+ON}}
\index{A\+F\+B\+\_\+\+B\+I\+N\+D\+I\+N\+G\+\_\+\+V\+E\+R\+S\+I\+ON@{A\+F\+B\+\_\+\+B\+I\+N\+D\+I\+N\+G\+\_\+\+V\+E\+R\+S\+I\+ON}!hs-\/helper.\+h@{hs-\/helper.\+h}}
\subsubsection[{\texorpdfstring{A\+F\+B\+\_\+\+B\+I\+N\+D\+I\+N\+G\+\_\+\+V\+E\+R\+S\+I\+ON}{AFB_BINDING_VERSION}}]{\setlength{\rightskip}{0pt plus 5cm}\#define A\+F\+B\+\_\+\+B\+I\+N\+D\+I\+N\+G\+\_\+\+V\+E\+R\+S\+I\+ON~3}\hypertarget{hs-helper_8h_ad2c1fbc92ba364fcf83f15e6d0af66f0}{}\label{hs-helper_8h_ad2c1fbc92ba364fcf83f15e6d0af66f0}


Definition at line 19 of file hs-\/helper.\+h.

\index{hs-\/helper.\+h@{hs-\/helper.\+h}!A\+F\+B\+\_\+\+E\+V\+E\+N\+T\+\_\+\+B\+A\+D\+\_\+\+R\+E\+Q\+U\+E\+ST@{A\+F\+B\+\_\+\+E\+V\+E\+N\+T\+\_\+\+B\+A\+D\+\_\+\+R\+E\+Q\+U\+E\+ST}}
\index{A\+F\+B\+\_\+\+E\+V\+E\+N\+T\+\_\+\+B\+A\+D\+\_\+\+R\+E\+Q\+U\+E\+ST@{A\+F\+B\+\_\+\+E\+V\+E\+N\+T\+\_\+\+B\+A\+D\+\_\+\+R\+E\+Q\+U\+E\+ST}!hs-\/helper.\+h@{hs-\/helper.\+h}}
\subsubsection[{\texorpdfstring{A\+F\+B\+\_\+\+E\+V\+E\+N\+T\+\_\+\+B\+A\+D\+\_\+\+R\+E\+Q\+U\+E\+ST}{AFB_EVENT_BAD_REQUEST}}]{\setlength{\rightskip}{0pt plus 5cm}\#define A\+F\+B\+\_\+\+E\+V\+E\+N\+T\+\_\+\+B\+A\+D\+\_\+\+R\+E\+Q\+U\+E\+ST~100}\hypertarget{hs-helper_8h_aa611e2ec24ef295bd87825889fe2ce5e}{}\label{hs-helper_8h_aa611e2ec24ef295bd87825889fe2ce5e}


Definition at line 23 of file hs-\/helper.\+h.

\index{hs-\/helper.\+h@{hs-\/helper.\+h}!A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+S\+H\+O\+W\+I\+N\+F\+O\+R\+M\+A\+T\+I\+O\+N\+\_\+\+E\+R\+R\+OR@{A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+S\+H\+O\+W\+I\+N\+F\+O\+R\+M\+A\+T\+I\+O\+N\+\_\+\+E\+R\+R\+OR}}
\index{A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+S\+H\+O\+W\+I\+N\+F\+O\+R\+M\+A\+T\+I\+O\+N\+\_\+\+E\+R\+R\+OR@{A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+S\+H\+O\+W\+I\+N\+F\+O\+R\+M\+A\+T\+I\+O\+N\+\_\+\+E\+R\+R\+OR}!hs-\/helper.\+h@{hs-\/helper.\+h}}
\subsubsection[{\texorpdfstring{A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+S\+H\+O\+W\+I\+N\+F\+O\+R\+M\+A\+T\+I\+O\+N\+\_\+\+E\+R\+R\+OR}{AFB_REQ_SHOWINFORMATION_ERROR}}]{\setlength{\rightskip}{0pt plus 5cm}\#define A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+S\+H\+O\+W\+I\+N\+F\+O\+R\+M\+A\+T\+I\+O\+N\+\_\+\+E\+R\+R\+OR~104}\hypertarget{hs-helper_8h_aefe0d7ff8202f954693c235c1fb8e310}{}\label{hs-helper_8h_aefe0d7ff8202f954693c235c1fb8e310}


Definition at line 27 of file hs-\/helper.\+h.

\index{hs-\/helper.\+h@{hs-\/helper.\+h}!A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+S\+H\+O\+W\+N\+O\+T\+I\+F\+I\+C\+A\+T\+I\+O\+N\+\_\+\+E\+R\+R\+OR@{A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+S\+H\+O\+W\+N\+O\+T\+I\+F\+I\+C\+A\+T\+I\+O\+N\+\_\+\+E\+R\+R\+OR}}
\index{A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+S\+H\+O\+W\+N\+O\+T\+I\+F\+I\+C\+A\+T\+I\+O\+N\+\_\+\+E\+R\+R\+OR@{A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+S\+H\+O\+W\+N\+O\+T\+I\+F\+I\+C\+A\+T\+I\+O\+N\+\_\+\+E\+R\+R\+OR}!hs-\/helper.\+h@{hs-\/helper.\+h}}
\subsubsection[{\texorpdfstring{A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+S\+H\+O\+W\+N\+O\+T\+I\+F\+I\+C\+A\+T\+I\+O\+N\+\_\+\+E\+R\+R\+OR}{AFB_REQ_SHOWNOTIFICATION_ERROR}}]{\setlength{\rightskip}{0pt plus 5cm}\#define A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+S\+H\+O\+W\+N\+O\+T\+I\+F\+I\+C\+A\+T\+I\+O\+N\+\_\+\+E\+R\+R\+OR~103}\hypertarget{hs-helper_8h_a057fc88b8445828c261305cf9107d99d}{}\label{hs-helper_8h_a057fc88b8445828c261305cf9107d99d}


Definition at line 26 of file hs-\/helper.\+h.

\index{hs-\/helper.\+h@{hs-\/helper.\+h}!A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+S\+U\+B\+S\+C\+R\+I\+B\+E\+\_\+\+E\+R\+R\+OR@{A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+S\+U\+B\+S\+C\+R\+I\+B\+E\+\_\+\+E\+R\+R\+OR}}
\index{A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+S\+U\+B\+S\+C\+R\+I\+B\+E\+\_\+\+E\+R\+R\+OR@{A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+S\+U\+B\+S\+C\+R\+I\+B\+E\+\_\+\+E\+R\+R\+OR}!hs-\/helper.\+h@{hs-\/helper.\+h}}
\subsubsection[{\texorpdfstring{A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+S\+U\+B\+S\+C\+R\+I\+B\+E\+\_\+\+E\+R\+R\+OR}{AFB_REQ_SUBSCRIBE_ERROR}}]{\setlength{\rightskip}{0pt plus 5cm}\#define A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+S\+U\+B\+S\+C\+R\+I\+B\+E\+\_\+\+E\+R\+R\+OR~101}\hypertarget{hs-helper_8h_a995612de89db4df1483c16e4b9b70571}{}\label{hs-helper_8h_a995612de89db4df1483c16e4b9b70571}


Definition at line 24 of file hs-\/helper.\+h.

\index{hs-\/helper.\+h@{hs-\/helper.\+h}!A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+U\+N\+S\+U\+B\+S\+C\+R\+I\+B\+E\+\_\+\+E\+R\+R\+OR@{A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+U\+N\+S\+U\+B\+S\+C\+R\+I\+B\+E\+\_\+\+E\+R\+R\+OR}}
\index{A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+U\+N\+S\+U\+B\+S\+C\+R\+I\+B\+E\+\_\+\+E\+R\+R\+OR@{A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+U\+N\+S\+U\+B\+S\+C\+R\+I\+B\+E\+\_\+\+E\+R\+R\+OR}!hs-\/helper.\+h@{hs-\/helper.\+h}}
\subsubsection[{\texorpdfstring{A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+U\+N\+S\+U\+B\+S\+C\+R\+I\+B\+E\+\_\+\+E\+R\+R\+OR}{AFB_REQ_UNSUBSCRIBE_ERROR}}]{\setlength{\rightskip}{0pt plus 5cm}\#define A\+F\+B\+\_\+\+R\+E\+Q\+\_\+\+U\+N\+S\+U\+B\+S\+C\+R\+I\+B\+E\+\_\+\+E\+R\+R\+OR~102}\hypertarget{hs-helper_8h_a78e930a97920b821706a80ca8f430034}{}\label{hs-helper_8h_a78e930a97920b821706a80ca8f430034}


Definition at line 25 of file hs-\/helper.\+h.



\subsection{Typedef Documentation}
\index{hs-\/helper.\+h@{hs-\/helper.\+h}!R\+E\+Q\+\_\+\+E\+R\+R\+OR@{R\+E\+Q\+\_\+\+E\+R\+R\+OR}}
\index{R\+E\+Q\+\_\+\+E\+R\+R\+OR@{R\+E\+Q\+\_\+\+E\+R\+R\+OR}!hs-\/helper.\+h@{hs-\/helper.\+h}}
\subsubsection[{\texorpdfstring{R\+E\+Q\+\_\+\+E\+R\+R\+OR}{REQ_ERROR}}]{\setlength{\rightskip}{0pt plus 5cm}typedef enum {\bf R\+E\+Q\+\_\+\+E\+R\+R\+OR} {\bf R\+E\+Q\+\_\+\+E\+R\+R\+OR}}\hypertarget{hs-helper_8h_ab0d62ccfa9c3ab87f090f67c3d50adce}{}\label{hs-helper_8h_ab0d62ccfa9c3ab87f090f67c3d50adce}


\subsection{Enumeration Type Documentation}
\index{hs-\/helper.\+h@{hs-\/helper.\+h}!R\+E\+Q\+\_\+\+E\+R\+R\+OR@{R\+E\+Q\+\_\+\+E\+R\+R\+OR}}
\index{R\+E\+Q\+\_\+\+E\+R\+R\+OR@{R\+E\+Q\+\_\+\+E\+R\+R\+OR}!hs-\/helper.\+h@{hs-\/helper.\+h}}
\subsubsection[{\texorpdfstring{R\+E\+Q\+\_\+\+E\+R\+R\+OR}{REQ_ERROR}}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf R\+E\+Q\+\_\+\+E\+R\+R\+OR}}\hypertarget{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899}{}\label{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899}
\begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{R\+E\+Q\+\_\+\+F\+A\+IL@{R\+E\+Q\+\_\+\+F\+A\+IL}!hs-\/helper.\+h@{hs-\/helper.\+h}}\index{hs-\/helper.\+h@{hs-\/helper.\+h}!R\+E\+Q\+\_\+\+F\+A\+IL@{R\+E\+Q\+\_\+\+F\+A\+IL}}\item[{\em 
R\+E\+Q\+\_\+\+F\+A\+IL\hypertarget{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1}{}\label{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1}
}]\index{R\+E\+Q\+\_\+\+OK@{R\+E\+Q\+\_\+\+OK}!hs-\/helper.\+h@{hs-\/helper.\+h}}\index{hs-\/helper.\+h@{hs-\/helper.\+h}!R\+E\+Q\+\_\+\+OK@{R\+E\+Q\+\_\+\+OK}}\item[{\em 
R\+E\+Q\+\_\+\+OK\hypertarget{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee}{}\label{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee}
}]\index{N\+O\+T\+\_\+\+N\+U\+M\+B\+ER@{N\+O\+T\+\_\+\+N\+U\+M\+B\+ER}!hs-\/helper.\+h@{hs-\/helper.\+h}}\index{hs-\/helper.\+h@{hs-\/helper.\+h}!N\+O\+T\+\_\+\+N\+U\+M\+B\+ER@{N\+O\+T\+\_\+\+N\+U\+M\+B\+ER}}\item[{\em 
N\+O\+T\+\_\+\+N\+U\+M\+B\+ER\hypertarget{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a}{}\label{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a}
}]\index{O\+U\+T\+\_\+\+R\+A\+N\+GE@{O\+U\+T\+\_\+\+R\+A\+N\+GE}!hs-\/helper.\+h@{hs-\/helper.\+h}}\index{hs-\/helper.\+h@{hs-\/helper.\+h}!O\+U\+T\+\_\+\+R\+A\+N\+GE@{O\+U\+T\+\_\+\+R\+A\+N\+GE}}\item[{\em 
O\+U\+T\+\_\+\+R\+A\+N\+GE\hypertarget{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b}{}\label{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b}
}]\end{description}
\end{Desc}


Definition at line 29 of file hs-\/helper.\+h.


\begin{DoxyCode}
30 \{
31   \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1}{REQ\_FAIL} = -1,
32   \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee}{REQ\_OK}=0,
33   \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a}{NOT\_NUMBER},
34   \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b}{OUT\_RANGE}
35 \}\hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899}{REQ\_ERROR};
\end{DoxyCode}


\subsection{Function Documentation}
\index{hs-\/helper.\+h@{hs-\/helper.\+h}!get\+\_\+value\+\_\+int16@{get\+\_\+value\+\_\+int16}}
\index{get\+\_\+value\+\_\+int16@{get\+\_\+value\+\_\+int16}!hs-\/helper.\+h@{hs-\/helper.\+h}}
\subsubsection[{\texorpdfstring{get\+\_\+value\+\_\+int16(const afb\+\_\+req\+\_\+t request, const char $\ast$source, int16\+\_\+t $\ast$out\+\_\+id)}{get_value_int16(const afb_req_t request, const char *source, int16_t *out_id)}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf R\+E\+Q\+\_\+\+E\+R\+R\+OR} get\+\_\+value\+\_\+int16 (
\begin{DoxyParamCaption}
\item[{const afb\+\_\+req\+\_\+t}]{request, }
\item[{const char $\ast$}]{source, }
\item[{int16\+\_\+t $\ast$}]{out\+\_\+id}
\end{DoxyParamCaption}
)}\hypertarget{hs-helper_8h_af3043612cf74bb92cb073e10cacd594a}{}\label{hs-helper_8h_af3043612cf74bb92cb073e10cacd594a}
get int16 value from source

\subparagraph*{Parameters}


\begin{DoxyItemize}
\item request \+: Describes the request by bindings from afb-\/daemon
\item source \+: input source
\item out\+\_\+id \+: output int16 value
\end{DoxyItemize}

\subparagraph*{Return}

error code 

Definition at line 82 of file hs-\/helper.\+cpp.


\begin{DoxyCode}
83 \{
84     \textcolor{keywordtype}{char}* endptr;
85     \textcolor{keyword}{const} \textcolor{keywordtype}{char}* tmp = afb\_req\_value (request, source);
86     \textcolor{keywordflow}{if}(!tmp)
87     \{
88         \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1}{REQ\_FAIL};
89     \}
90     \textcolor{keywordtype}{long} tmp\_id = strtol(tmp,&endptr,10);
91 
92     \textcolor{comment}{/* error check of range */}
93     \textcolor{keywordflow}{if}( (tmp\_id > INT16\_MAX) || (tmp\_id < INT16\_MIN) )
94     \{
95         \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b}{OUT\_RANGE};
96     \}
97     \textcolor{keywordflow}{if}(*endptr != \textcolor{charliteral}{'\(\backslash\)0'})
98     \{
99         \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a}{NOT\_NUMBER};
100     \}
101 
102     *out\_id = (int16\_t)tmp\_id;
103     \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee}{REQ\_OK};
104 \}
\end{DoxyCode}
\index{hs-\/helper.\+h@{hs-\/helper.\+h}!get\+\_\+value\+\_\+int32@{get\+\_\+value\+\_\+int32}}
\index{get\+\_\+value\+\_\+int32@{get\+\_\+value\+\_\+int32}!hs-\/helper.\+h@{hs-\/helper.\+h}}
\subsubsection[{\texorpdfstring{get\+\_\+value\+\_\+int32(const afb\+\_\+req\+\_\+t request, const char $\ast$source, int32\+\_\+t $\ast$out\+\_\+id)}{get_value_int32(const afb_req_t request, const char *source, int32_t *out_id)}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf R\+E\+Q\+\_\+\+E\+R\+R\+OR} get\+\_\+value\+\_\+int32 (
\begin{DoxyParamCaption}
\item[{const afb\+\_\+req\+\_\+t}]{request, }
\item[{const char $\ast$}]{source, }
\item[{int32\+\_\+t $\ast$}]{out\+\_\+id}
\end{DoxyParamCaption}
)}\hypertarget{hs-helper_8h_a8121d965b6fd795c16b8576ab03dcaf1}{}\label{hs-helper_8h_a8121d965b6fd795c16b8576ab03dcaf1}
get int32 value from source

\subparagraph*{Parameters}


\begin{DoxyItemize}
\item request \+: Describes the request by bindings from afb-\/daemon
\item source \+: input source
\item out\+\_\+id \+: output int32 value
\end{DoxyItemize}

\subparagraph*{Return}

error code 

Definition at line 118 of file hs-\/helper.\+cpp.


\begin{DoxyCode}
119 \{
120     \textcolor{keywordtype}{char}* endptr;
121     \textcolor{keyword}{const} \textcolor{keywordtype}{char}* tmp = afb\_req\_value (request, source);
122     \textcolor{keywordflow}{if}(!tmp)
123     \{
124         \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1}{REQ\_FAIL};
125     \}
126     \textcolor{keywordtype}{long} tmp\_id = strtol(tmp,&endptr,10);
127 
128     \textcolor{comment}{/* error check of range */}
129     \textcolor{keywordflow}{if}( (tmp\_id > INT32\_MAX) || (tmp\_id < INT32\_MIN) )
130     \{
131         \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b}{OUT\_RANGE};
132     \}
133     \textcolor{keywordflow}{if}(*endptr != \textcolor{charliteral}{'\(\backslash\)0'})
134     \{
135         \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a}{NOT\_NUMBER};
136     \}
137 
138     *out\_id = (int32\_t)tmp\_id;
139     \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee}{REQ\_OK};
140 \}
\end{DoxyCode}
\index{hs-\/helper.\+h@{hs-\/helper.\+h}!get\+\_\+value\+\_\+uint16@{get\+\_\+value\+\_\+uint16}}
\index{get\+\_\+value\+\_\+uint16@{get\+\_\+value\+\_\+uint16}!hs-\/helper.\+h@{hs-\/helper.\+h}}
\subsubsection[{\texorpdfstring{get\+\_\+value\+\_\+uint16(const afb\+\_\+req\+\_\+t request, const char $\ast$source, uint16\+\_\+t $\ast$out\+\_\+id)}{get_value_uint16(const afb_req_t request, const char *source, uint16_t *out_id)}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf R\+E\+Q\+\_\+\+E\+R\+R\+OR} get\+\_\+value\+\_\+uint16 (
\begin{DoxyParamCaption}
\item[{const afb\+\_\+req\+\_\+t}]{request, }
\item[{const char $\ast$}]{source, }
\item[{uint16\+\_\+t $\ast$}]{out\+\_\+id}
\end{DoxyParamCaption}
)}\hypertarget{hs-helper_8h_aba9ca63f68b1991f8650871f4eae8e0b}{}\label{hs-helper_8h_aba9ca63f68b1991f8650871f4eae8e0b}
get uint16 value from source

\subparagraph*{Parameters}


\begin{DoxyItemize}
\item request \+: Describes the request by bindings from afb-\/daemon
\item source \+: input source
\item out\+\_\+id \+: output uint16 value
\end{DoxyItemize}

\subparagraph*{Return}

error code 

Definition at line 46 of file hs-\/helper.\+cpp.


\begin{DoxyCode}
47 \{
48     \textcolor{keywordtype}{char}* endptr;
49     \textcolor{keyword}{const} \textcolor{keywordtype}{char}* tmp = afb\_req\_value (request, source);
50     \textcolor{keywordflow}{if}(!tmp)
51     \{
52         \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899a96a855966bc63045222b3dcac524cee1}{REQ\_FAIL};
53     \}
54     \textcolor{keywordtype}{long} tmp\_id = strtol(tmp,&endptr,10);
55 
56     \textcolor{comment}{/* error check of range */}
57     \textcolor{keywordflow}{if}( (tmp\_id > UINT16\_MAX) || (tmp\_id < 0) )
58     \{
59         \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899add1c84bf80c5f80741ee8f37fef1e12b}{OUT\_RANGE};
60     \}
61     \textcolor{keywordflow}{if}(*endptr != \textcolor{charliteral}{'\(\backslash\)0'})
62     \{
63         \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899aa223eed65c9bee2bf1f4cdecaf90d66a}{NOT\_NUMBER};
64     \}
65 
66     *out\_id = (uint16\_t)tmp\_id;
67     \textcolor{keywordflow}{return} \hyperlink{hs-helper_8h_aa49f1dbbf26f01627a5737cf43aad899ab093abb14c097b3b7719debb04d5e8ee}{REQ\_OK};
68 \}
\end{DoxyCode}
\index{hs-\/helper.\+h@{hs-\/helper.\+h}!hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object@{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object}}
\index{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object@{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object}!hs-\/helper.\+h@{hs-\/helper.\+h}}
\subsubsection[{\texorpdfstring{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object(struct json\+\_\+object $\ast$j\+\_\+obj, int count,...)}{hs_add_object_to_json_object(struct json_object *j_obj, int count,...)}}]{\setlength{\rightskip}{0pt plus 5cm}void hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object (
\begin{DoxyParamCaption}
\item[{struct json\+\_\+object $\ast$}]{j\+\_\+obj, }
\item[{int}]{count, }
\item[{}]{...}
\end{DoxyParamCaption}
)}\hypertarget{hs-helper_8h_a1ba31a6a94515ff1730ba0043a67d59e}{}\label{hs-helper_8h_a1ba31a6a94515ff1730ba0043a67d59e}
add int object to json object

\subparagraph*{Parameters}


\begin{DoxyItemize}
\item j\+\_\+obj \+: the json object will join in int json object
\item count \+: input parameter number
\item ... \+: parameter list
\end{DoxyItemize}

\subparagraph*{Return}

None 

Definition at line 154 of file hs-\/helper.\+cpp.


\begin{DoxyCode}
155 \{
156     va\_list args;
157     va\_start(args, count);
158     \textcolor{keywordflow}{for}(\textcolor{keywordtype}{int} i = 0; i < count; ++i )
159     \{
160         \textcolor{keywordtype}{char} *key = va\_arg(args, \textcolor{keywordtype}{char}*);
161         \textcolor{keywordtype}{int} value = va\_arg(args, \textcolor{keywordtype}{int});
162         json\_object\_object\_add(j\_obj, key, json\_object\_new\_int((int32\_t)value));
163         ++i;
164     \}
165     va\_end(args);
166 \}
\end{DoxyCode}
\index{hs-\/helper.\+h@{hs-\/helper.\+h}!hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+func@{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+func}}
\index{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+func@{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+func}!hs-\/helper.\+h@{hs-\/helper.\+h}}
\subsubsection[{\texorpdfstring{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+func(struct json\+\_\+object $\ast$j\+\_\+obj, const char $\ast$verb\+\_\+name, int count,...)}{hs_add_object_to_json_object_func(struct json_object *j_obj, const char *verb_name, int count,...)}}]{\setlength{\rightskip}{0pt plus 5cm}void hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+func (
\begin{DoxyParamCaption}
\item[{struct json\+\_\+object $\ast$}]{j\+\_\+obj, }
\item[{const char $\ast$}]{verb\+\_\+name, }
\item[{int}]{count, }
\item[{}]{...}
\end{DoxyParamCaption}
)}\hypertarget{hs-helper_8h_ae83604a37134e7bdee3ce4f10bb0b47a}{}\label{hs-helper_8h_ae83604a37134e7bdee3ce4f10bb0b47a}
add new json object to json object

\subparagraph*{Parameters}


\begin{DoxyItemize}
\item j\+\_\+obj \+: the json object will join in new json object
\item verb\+\_\+name \+: new json object\textquotesingle{}s verb value
\item count \+: input parameter number
\item ... \+: parameter list
\end{DoxyItemize}

\subparagraph*{Return}

None 

Definition at line 207 of file hs-\/helper.\+cpp.


\begin{DoxyCode}
208 \{
209     va\_list args;
210     va\_start(args, count);
211 
212     json\_object\_object\_add(j\_obj,\textcolor{stringliteral}{"verb"}, json\_object\_new\_string(verb\_name));
213 
214     \textcolor{keywordflow}{for}(\textcolor{keywordtype}{int} i = 0; i < count; ++i )
215     \{
216         \textcolor{keywordtype}{char} *key = va\_arg(args, \textcolor{keywordtype}{char}*);
217         \textcolor{keywordtype}{int} value = va\_arg(args, \textcolor{keywordtype}{int});
218         json\_object\_object\_add(j\_obj, key, json\_object\_new\_int((int32\_t)value));
219         ++i;
220     \}
221     va\_end(args);
222 \}
\end{DoxyCode}
\index{hs-\/helper.\+h@{hs-\/helper.\+h}!hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+str@{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+str}}
\index{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+str@{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+str}!hs-\/helper.\+h@{hs-\/helper.\+h}}
\subsubsection[{\texorpdfstring{hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+str(struct json\+\_\+object $\ast$j\+\_\+obj, int count,...)}{hs_add_object_to_json_object_str(struct json_object *j_obj, int count,...)}}]{\setlength{\rightskip}{0pt plus 5cm}void hs\+\_\+add\+\_\+object\+\_\+to\+\_\+json\+\_\+object\+\_\+str (
\begin{DoxyParamCaption}
\item[{struct json\+\_\+object $\ast$}]{j\+\_\+obj, }
\item[{int}]{count, }
\item[{}]{...}
\end{DoxyParamCaption}
)}\hypertarget{hs-helper_8h_a8777c53f1d4d5412f19b134ad85ffedf}{}\label{hs-helper_8h_a8777c53f1d4d5412f19b134ad85ffedf}
add string object to json object

\subparagraph*{Parameters}


\begin{DoxyItemize}
\item j\+\_\+obj \+: the json object will join in string json object
\item count \+: input parameter number
\item ... \+: parameter list
\end{DoxyItemize}

\subparagraph*{Return}

None 

Definition at line 180 of file hs-\/helper.\+cpp.


\begin{DoxyCode}
181 \{
182     va\_list args;
183     va\_start(args, count);
184     \textcolor{keywordflow}{for}(\textcolor{keywordtype}{int} i = 0; i < count; ++i )
185     \{
186         \textcolor{keywordtype}{char} *key = va\_arg(args, \textcolor{keywordtype}{char}*);
187         \textcolor{keywordtype}{char} *value = va\_arg(args, \textcolor{keywordtype}{char}*);
188         json\_object\_object\_add(j\_obj, key, json\_object\_new\_string(value));
189         ++i;
190     \}
191     va\_end(args);
192 \}
\end{DoxyCode}
\index{hs-\/helper.\+h@{hs-\/helper.\+h}!hs\+\_\+search\+\_\+event\+\_\+name\+\_\+index@{hs\+\_\+search\+\_\+event\+\_\+name\+\_\+index}}
\index{hs\+\_\+search\+\_\+event\+\_\+name\+\_\+index@{hs\+\_\+search\+\_\+event\+\_\+name\+\_\+index}!hs-\/helper.\+h@{hs-\/helper.\+h}}
\subsubsection[{\texorpdfstring{hs\+\_\+search\+\_\+event\+\_\+name\+\_\+index(const char $\ast$value)}{hs_search_event_name_index(const char *value)}}]{\setlength{\rightskip}{0pt plus 5cm}int hs\+\_\+search\+\_\+event\+\_\+name\+\_\+index (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{value}
\end{DoxyParamCaption}
)}\hypertarget{hs-helper_8h_a2ff1b894941c3b461ca8119079c4146a}{}\label{hs-helper_8h_a2ff1b894941c3b461ca8119079c4146a}
search event position in event list

\subparagraph*{Parameters}


\begin{DoxyItemize}
\item value \+: searched event name
\end{DoxyItemize}

\subparagraph*{Return}

event\textquotesingle{}s index in event list 

Definition at line 234 of file hs-\/helper.\+cpp.


\begin{DoxyCode}
235 \{
236     \textcolor{keywordtype}{size\_t} buf\_size = 50;
237     \textcolor{keywordtype}{size\_t} size = \textcolor{keyword}{sizeof} \hyperlink{hs-helper_8cpp_a0cd84b1a2184c9b84d1b7bf24582f28e}{evlist} / \textcolor{keyword}{sizeof} *\hyperlink{hs-helper_8cpp_a0cd84b1a2184c9b84d1b7bf24582f28e}{evlist};
238     \textcolor{keywordtype}{int} ret = -1;
239     \textcolor{keywordflow}{for}(\textcolor{keywordtype}{size\_t} i = 0 ; i < size ; ++i)
240     \{
241         \textcolor{keywordflow}{if}(!strncmp(value, \hyperlink{hs-helper_8cpp_a0cd84b1a2184c9b84d1b7bf24582f28e}{evlist}[i], buf\_size))
242         \{
243             ret = i;
244             \textcolor{keywordflow}{break};
245         \}
246     \}
247     \textcolor{keywordflow}{return} ret;
248 \}
\end{DoxyCode}


\subsection{Variable Documentation}
\index{hs-\/helper.\+h@{hs-\/helper.\+h}!\+\_\+application\+\_\+id@{\+\_\+application\+\_\+id}}
\index{\+\_\+application\+\_\+id@{\+\_\+application\+\_\+id}!hs-\/helper.\+h@{hs-\/helper.\+h}}
\subsubsection[{\texorpdfstring{\+\_\+application\+\_\+id}{_application_id}}]{\setlength{\rightskip}{0pt plus 5cm}const char \+\_\+application\+\_\+id\mbox{[}$\,$\mbox{]}}\hypertarget{hs-helper_8h_a6a0e1db2562b442f8131ddf64b61d1ba}{}\label{hs-helper_8h_a6a0e1db2562b442f8131ddf64b61d1ba}


Definition at line 28 of file homescreen.\+cpp.

\index{hs-\/helper.\+h@{hs-\/helper.\+h}!\+\_\+display\+\_\+message@{\+\_\+display\+\_\+message}}
\index{\+\_\+display\+\_\+message@{\+\_\+display\+\_\+message}!hs-\/helper.\+h@{hs-\/helper.\+h}}
\subsubsection[{\texorpdfstring{\+\_\+display\+\_\+message}{_display_message}}]{\setlength{\rightskip}{0pt plus 5cm}const char \+\_\+display\+\_\+message\mbox{[}$\,$\mbox{]}}\hypertarget{hs-helper_8h_abfd6c1d6f316fa952b11553f8f275e92}{}\label{hs-helper_8h_abfd6c1d6f316fa952b11553f8f275e92}


Definition at line 29 of file homescreen.\+cpp.

\index{hs-\/helper.\+h@{hs-\/helper.\+h}!\+\_\+error@{\+\_\+error}}
\index{\+\_\+error@{\+\_\+error}!hs-\/helper.\+h@{hs-\/helper.\+h}}
\subsubsection[{\texorpdfstring{\+\_\+error}{_error}}]{\setlength{\rightskip}{0pt plus 5cm}const char \+\_\+error\mbox{[}$\,$\mbox{]}}\hypertarget{hs-helper_8h_aed1c5296a2e6d34945507a0fca17a376}{}\label{hs-helper_8h_aed1c5296a2e6d34945507a0fca17a376}


Definition at line 27 of file homescreen.\+cpp.

\index{hs-\/helper.\+h@{hs-\/helper.\+h}!\+\_\+reply\+\_\+message@{\+\_\+reply\+\_\+message}}
\index{\+\_\+reply\+\_\+message@{\+\_\+reply\+\_\+message}!hs-\/helper.\+h@{hs-\/helper.\+h}}
\subsubsection[{\texorpdfstring{\+\_\+reply\+\_\+message}{_reply_message}}]{\setlength{\rightskip}{0pt plus 5cm}const char \+\_\+reply\+\_\+message\mbox{[}$\,$\mbox{]}}\hypertarget{hs-helper_8h_a79b0f0b481161527ccb80e83da143219}{}\label{hs-helper_8h_a79b0f0b481161527ccb80e83da143219}


Definition at line 30 of file homescreen.\+cpp.

\index{hs-\/helper.\+h@{hs-\/helper.\+h}!evlist@{evlist}}
\index{evlist@{evlist}!hs-\/helper.\+h@{hs-\/helper.\+h}}
\subsubsection[{\texorpdfstring{evlist}{evlist}}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ evlist\mbox{[}$\,$\mbox{]}}\hypertarget{hs-helper_8h_a0cd84b1a2184c9b84d1b7bf24582f28e}{}\label{hs-helper_8h_a0cd84b1a2184c9b84d1b7bf24582f28e}


Definition at line 22 of file hs-\/helper.\+cpp.

