From e0163d2b8daae98ced81f4bc737998c00858e771 Mon Sep 17 00:00:00 2001 From: zheng_wenlong Date: Fri, 29 Sep 2017 20:42:53 +0900 Subject: Add agl-service-homescreen-2017 Add a new binding agl-service-homescreen-2017 for homescreen-2017. There is a gles sample how to use this binding in sample/simple-egl. A image about this see JIRA SPEC-871. [PatchSets2] Use aglwgt make package. Change-Id: I9ae89188f9eb2de4c98ec8baa2f05fccca8b2372 Signed-off-by: zheng_wenlong --- doc/api-ref/latex/de/dd0/class_lib_home_screen.tex | 731 +++++++++++++++++++++ 1 file changed, 731 insertions(+) create mode 100644 doc/api-ref/latex/de/dd0/class_lib_home_screen.tex (limited to 'doc/api-ref/latex/de/dd0/class_lib_home_screen.tex') diff --git a/doc/api-ref/latex/de/dd0/class_lib_home_screen.tex b/doc/api-ref/latex/de/dd0/class_lib_home_screen.tex new file mode 100644 index 0000000..5dba568 --- /dev/null +++ b/doc/api-ref/latex/de/dd0/class_lib_home_screen.tex @@ -0,0 +1,731 @@ +\hypertarget{class_lib_home_screen}{}\section{Lib\+Home\+Screen Class Reference} +\label{class_lib_home_screen}\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}} + + +{\ttfamily \#include $<$libhomescreen.\+hpp$>$} + +\subsection*{Public Types} +\begin{DoxyCompactItemize} +\item +enum \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154}{Event\+Type} \{ \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f}{Event\+\_\+\+Tap\+Shortcut} = 1, +\hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d}{Event\+\_\+\+On\+Screen\+Message} + \} +\item +using \hyperlink{class_lib_home_screen_ae99dee1e03d494d59d26c9f17078e01f}{handler\+\_\+func} = std\+::function$<$ void(const char $\ast$)$>$ +\end{DoxyCompactItemize} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\hyperlink{class_lib_home_screen_a724bd949c4154fad041f96a15ef0f5dc}{Lib\+Home\+Screen} () +\item +\hyperlink{class_lib_home_screen_a249902aebf71a5383ca8ec6ae558d095}{$\sim$\+Lib\+Home\+Screen} () +\item +\hyperlink{class_lib_home_screen_a0fff2f703c8ce184eb9edd133e0f4137}{Lib\+Home\+Screen} (const \hyperlink{class_lib_home_screen}{Lib\+Home\+Screen} \&)=delete +\item +\hyperlink{class_lib_home_screen}{Lib\+Home\+Screen} \& \hyperlink{class_lib_home_screen_a23bc17798453cfca50904562736f6b25}{operator=} (const \hyperlink{class_lib_home_screen}{Lib\+Home\+Screen} \&)=delete +\item +int \hyperlink{class_lib_home_screen_a6a57b573cc767725762ba9beab032220}{init} (const int port, const std\+::string \&token) +\item +int \hyperlink{class_lib_home_screen_a32d3282898d0f04151c24b4103511e00}{run\+Eventloop} () +\item +int \hyperlink{class_lib_home_screen_afb571c9577087b47065eb23e7fdbc903}{tap\+Shortcut} (const char $\ast$application\+\_\+name) +\item +int \hyperlink{class_lib_home_screen_ac336482036a72b51a822725f1929523c}{on\+Screen\+Message} (const char $\ast$display\+\_\+message) +\item +void \hyperlink{class_lib_home_screen_ab1b0e08bf35415de9064afed899e9f85}{set\+\_\+event\+\_\+handler} (enum \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154}{Event\+Type} et, \hyperlink{class_lib_home_screen_ae99dee1e03d494d59d26c9f17078e01f}{handler\+\_\+func} f) +\item +void \hyperlink{class_lib_home_screen_a2789e8a5372202cc36f48e71dbb9b7cf}{register\+Callback} (void($\ast$event\+\_\+cb)(const std\+::string \&\hyperlink{structevent}{event}, struct json\+\_\+object $\ast$event\+\_\+contents), void($\ast$reply\+\_\+cb)(struct json\+\_\+object $\ast$reply\+\_\+contents), void($\ast$hangup\+\_\+cb)(void)=nullptr) +\item +int \hyperlink{class_lib_home_screen_a527b49dcfe581be6275d0eb2236ba37f}{call} (const std\+::string \&verb, struct json\+\_\+object $\ast$arg) +\item +int \hyperlink{class_lib_home_screen_ab5e8e8ab7d53e0f114e9e907fcbb7643}{call} (const char $\ast$verb, struct json\+\_\+object $\ast$arg) +\item +int \hyperlink{class_lib_home_screen_aa4c189807b75d070f567967f0d690738}{subscribe} (const std\+::string \&event\+\_\+name) +\item +int \hyperlink{class_lib_home_screen_aac03a45cbd453ba69ddb00c1016930a6}{unsubscribe} (const std\+::string \&event\+\_\+name) +\item +void \hyperlink{class_lib_home_screen_ab1c1fa69f24b981e824dd9fb810c4b74}{on\+\_\+hangup} (void $\ast$closure, struct afb\+\_\+wsj1 $\ast$wsj) +\item +void \hyperlink{class_lib_home_screen_a608638eb87b2772a3dcc92d8ca8f3596}{on\+\_\+call} (void $\ast$closure, const char $\ast$api, const char $\ast$verb, struct afb\+\_\+wsj1\+\_\+msg $\ast$msg) +\item +void \hyperlink{class_lib_home_screen_a9c4885b51b43ab24a548d49fb3ab2de3}{on\+\_\+event} (void $\ast$closure, const char $\ast$\hyperlink{structevent}{event}, struct afb\+\_\+wsj1\+\_\+msg $\ast$msg) +\item +void \hyperlink{class_lib_home_screen_a248d9648c6186287a7632ec1c75fc9c5}{on\+\_\+reply} (void $\ast$closure, struct afb\+\_\+wsj1\+\_\+msg $\ast$msg) +\end{DoxyCompactItemize} +\subsection*{Static Public Attributes} +\begin{DoxyCompactItemize} +\item +static const std\+::vector$<$ std\+::string $>$ \hyperlink{class_lib_home_screen_a5593ff5ac78f6495ccb649904cf0ab08}{api\+\_\+list} +\item +static const std\+::vector$<$ std\+::string $>$ \hyperlink{class_lib_home_screen_a6a6d8a4d33a006a08652e7377a4c29e9}{event\+\_\+list} +\end{DoxyCompactItemize} + + +\subsection{Detailed Description} + + +Definition at line 32 of file libhomescreen.\+hpp. + + + +\subsection{Member Typedef Documentation} +\mbox{\Hypertarget{class_lib_home_screen_ae99dee1e03d494d59d26c9f17078e01f}\label{class_lib_home_screen_ae99dee1e03d494d59d26c9f17078e01f}} +\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!handler\+\_\+func@{handler\+\_\+func}} +\index{handler\+\_\+func@{handler\+\_\+func}!Lib\+Home\+Screen@{Lib\+Home\+Screen}} +\subsubsection{\texorpdfstring{handler\+\_\+func}{handler\_func}} +{\footnotesize\ttfamily using \hyperlink{class_lib_home_screen_ae99dee1e03d494d59d26c9f17078e01f}{Lib\+Home\+Screen\+::handler\+\_\+func} = std\+::function$<$void(const char$\ast$)$>$} + + + +Definition at line 41 of file libhomescreen.\+hpp. + + + +\subsection{Member Enumeration Documentation} +\mbox{\Hypertarget{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154}\label{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154}} +\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!Event\+Type@{Event\+Type}} +\index{Event\+Type@{Event\+Type}!Lib\+Home\+Screen@{Lib\+Home\+Screen}} +\subsubsection{\texorpdfstring{Event\+Type}{EventType}} +{\footnotesize\ttfamily enum \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154}{Lib\+Home\+Screen\+::\+Event\+Type}} + +\begin{DoxyEnumFields}{Enumerator} +\raisebox{\heightof{T}}[0pt][0pt]{\index{Event\+\_\+\+Tap\+Shortcut@{Event\+\_\+\+Tap\+Shortcut}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!Event\+\_\+\+Tap\+Shortcut@{Event\+\_\+\+Tap\+Shortcut}}}\mbox{\Hypertarget{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f}\label{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f}} +Event\+\_\+\+Tap\+Shortcut&\\ +\hline + +\raisebox{\heightof{T}}[0pt][0pt]{\index{Event\+\_\+\+On\+Screen\+Message@{Event\+\_\+\+On\+Screen\+Message}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!Event\+\_\+\+On\+Screen\+Message@{Event\+\_\+\+On\+Screen\+Message}}}\mbox{\Hypertarget{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d}\label{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d}} +Event\+\_\+\+On\+Screen\+Message&\\ +\hline + +\end{DoxyEnumFields} + + +Definition at line 43 of file libhomescreen.\+hpp. + + +\begin{DoxyCode} +43 \{ +44 \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f}{Event\_TapShortcut} = 1, +45 \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d}{Event\_OnScreenMessage} +46 \}; +\end{DoxyCode} + + +\subsection{Constructor \& Destructor Documentation} +\mbox{\Hypertarget{class_lib_home_screen_a724bd949c4154fad041f96a15ef0f5dc}\label{class_lib_home_screen_a724bd949c4154fad041f96a15ef0f5dc}} +\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!Lib\+Home\+Screen@{Lib\+Home\+Screen}} +\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!Lib\+Home\+Screen@{Lib\+Home\+Screen}} +\subsubsection{\texorpdfstring{Lib\+Home\+Screen()}{LibHomeScreen()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} +{\footnotesize\ttfamily Lib\+Home\+Screen\+::\+Lib\+Home\+Screen (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +constructor + +Definition at line 85 of file libhomescreen.\+cpp. + + +\begin{DoxyCode} +86 \{ +87 +88 \} +\end{DoxyCode} +\mbox{\Hypertarget{class_lib_home_screen_a249902aebf71a5383ca8ec6ae558d095}\label{class_lib_home_screen_a249902aebf71a5383ca8ec6ae558d095}} +\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!````~Lib\+Home\+Screen@{$\sim$\+Lib\+Home\+Screen}} +\index{````~Lib\+Home\+Screen@{$\sim$\+Lib\+Home\+Screen}!Lib\+Home\+Screen@{Lib\+Home\+Screen}} +\subsubsection{\texorpdfstring{$\sim$\+Lib\+Home\+Screen()}{~LibHomeScreen()}} +{\footnotesize\ttfamily Lib\+Home\+Screen\+::$\sim$\+Lib\+Home\+Screen (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +destructor + +Definition at line 93 of file libhomescreen.\+cpp. + + +\begin{DoxyCode} +94 \{ +95 \textcolor{keywordflow}{if}(mploop) +96 \{ +97 sd\_event\_unref(mploop); +98 \} +99 \textcolor{keywordflow}{if}(sp\_websock != NULL) +100 \{ +101 free(sp\_websock); +102 \} +103 \} +\end{DoxyCode} +\mbox{\Hypertarget{class_lib_home_screen_a0fff2f703c8ce184eb9edd133e0f4137}\label{class_lib_home_screen_a0fff2f703c8ce184eb9edd133e0f4137}} +\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!Lib\+Home\+Screen@{Lib\+Home\+Screen}} +\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!Lib\+Home\+Screen@{Lib\+Home\+Screen}} +\subsubsection{\texorpdfstring{Lib\+Home\+Screen()}{LibHomeScreen()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} +{\footnotesize\ttfamily Lib\+Home\+Screen\+::\+Lib\+Home\+Screen (\begin{DoxyParamCaption}\item[{const \hyperlink{class_lib_home_screen}{Lib\+Home\+Screen} \&}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [delete]}} + + + +\subsection{Member Function Documentation} +\mbox{\Hypertarget{class_lib_home_screen_a527b49dcfe581be6275d0eb2236ba37f}\label{class_lib_home_screen_a527b49dcfe581be6275d0eb2236ba37f}} +\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!call@{call}} +\index{call@{call}!Lib\+Home\+Screen@{Lib\+Home\+Screen}} +\subsubsection{\texorpdfstring{call()}{call()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} +{\footnotesize\ttfamily int Lib\+Home\+Screen\+::call (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{verb, }\item[{struct json\+\_\+object $\ast$}]{arg }\end{DoxyParamCaption})} + +\mbox{\Hypertarget{class_lib_home_screen_ab5e8e8ab7d53e0f114e9e907fcbb7643}\label{class_lib_home_screen_ab5e8e8ab7d53e0f114e9e907fcbb7643}} +\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!call@{call}} +\index{call@{call}!Lib\+Home\+Screen@{Lib\+Home\+Screen}} +\subsubsection{\texorpdfstring{call()}{call()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} +{\footnotesize\ttfamily int Lib\+Home\+Screen\+::call (\begin{DoxyParamCaption}\item[{const char $\ast$}]{verb, }\item[{struct json\+\_\+object $\ast$}]{arg }\end{DoxyParamCaption})} + +This function calls the A\+PI of Home\+Screen via Web\+Socket This function is overload function of \char`\"{}call\char`\"{} + +\subparagraph*{Parameters} + + +\begin{DoxyItemize} +\item verb \mbox{[}in\mbox{]} \+: This argument should be specified to the A\+PI name (e.\+g. \char`\"{}tap\+\_\+shortcut\char`\"{}) +\item arg \mbox{[}in\mbox{]} \+: This argument should be specified to the argument of A\+PI. And this argument expects J\+S\+ON object +\end{DoxyItemize} + +\subparagraph*{Return} + + +\begin{DoxyItemize} +\item Returns 0 on success or -\/1 in case of error. +\end{DoxyItemize} + +\subparagraph*{Note} + +To call Home\+Screen\textquotesingle{}s A\+P\+Is, the application should set its function name, arguments to J\+S\+ON format. + +Definition at line 369 of file libhomescreen.\+cpp. + + +\begin{DoxyCode} +370 \{ +371 \textcolor{keywordtype}{int} ret; +372 \textcolor{keywordflow}{if}(!sp\_websock) +373 \{ +374 \textcolor{keywordflow}{return} -1; +375 \} +376 \textcolor{keywordflow}{if} (!\hyperlink{libhomescreen_8cpp_a7a2176c3d71fec0f09dcb2aa0866b17e}{has\_verb}(\textcolor{keywordtype}{string}(verb))) +377 \{ +378 \hyperlink{libhomescreen_8cpp_a797aa3053bd6a29819d44f8fad8a5eca}{ELOG}(\textcolor{stringliteral}{"verb doesn't exit"}); +379 \textcolor{keywordflow}{return} -1; +380 \} +381 ret = afb\_wsj1\_call\_j(sp\_websock, \hyperlink{libhomescreen_8cpp_a1e2d6e77dd8f0162f830058579eab42f}{API}, verb, arg, \hyperlink{libhomescreen_8cpp_a7778933bffa862c63fa0a1b8219faa8b}{\_on\_reply\_static}, \textcolor{keyword}{this}); +382 \textcolor{keywordflow}{if} (ret < 0) \{ +383 \hyperlink{libhomescreen_8cpp_a797aa3053bd6a29819d44f8fad8a5eca}{ELOG}(\textcolor{stringliteral}{"Failed to call verb:%s"},verb); +384 \} +385 \textcolor{keywordflow}{return} ret; +386 \} +\end{DoxyCode} +\mbox{\Hypertarget{class_lib_home_screen_a6a57b573cc767725762ba9beab032220}\label{class_lib_home_screen_a6a57b573cc767725762ba9beab032220}} +\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!init@{init}} +\index{init@{init}!Lib\+Home\+Screen@{Lib\+Home\+Screen}} +\subsubsection{\texorpdfstring{init()}{init()}} +{\footnotesize\ttfamily int Lib\+Home\+Screen\+::init (\begin{DoxyParamCaption}\item[{const int}]{port, }\item[{const std\+::string \&}]{token }\end{DoxyParamCaption})} + +This function is initializer + +\subparagraph*{Parameters} + + +\begin{DoxyItemize} +\item port \mbox{[}in\mbox{]} \+: This argument should be specified to the port number to be used for websocket +\item token \mbox{[}in\mbox{]} \+: This argument should be specified to the token to be used for websocket +\end{DoxyItemize} + +\subparagraph*{Return} + +Nothing + +\subparagraph*{Note} + +Use this constructor + +Definition at line 119 of file libhomescreen.\+cpp. + + +\begin{DoxyCode} +120 \{ +121 \textcolor{keywordtype}{int} ret = 0; +122 \textcolor{keywordflow}{if}(port > 0 && token.size() > 0) +123 \{ +124 mport = port; +125 mtoken = token; +126 \} +127 \textcolor{keywordflow}{else} +128 \{ +129 \hyperlink{libhomescreen_8cpp_a797aa3053bd6a29819d44f8fad8a5eca}{ELOG}(\textcolor{stringliteral}{"port and token should be > 0, Initial port and token uses."}); +130 \} +131 +132 ret = initialize\_websocket(); +133 \textcolor{keywordflow}{if}(ret != 0 ) +134 \{ +135 \hyperlink{libhomescreen_8cpp_a797aa3053bd6a29819d44f8fad8a5eca}{ELOG}(\textcolor{stringliteral}{"Failed to initialize websocket"}); +136 \} +137 \textcolor{keywordflow}{else}\{ +138 \hyperlink{libhomescreen_8cpp_a4e42b2f5af2174dd24f958351becf63d}{DLOG}(\textcolor{stringliteral}{"Initialized"}); +139 \} +140 +141 \textcolor{keywordflow}{return} ret; +142 \} +\end{DoxyCode} +\mbox{\Hypertarget{class_lib_home_screen_a608638eb87b2772a3dcc92d8ca8f3596}\label{class_lib_home_screen_a608638eb87b2772a3dcc92d8ca8f3596}} +\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!on\+\_\+call@{on\+\_\+call}} +\index{on\+\_\+call@{on\+\_\+call}!Lib\+Home\+Screen@{Lib\+Home\+Screen}} +\subsubsection{\texorpdfstring{on\+\_\+call()}{on\_call()}} +{\footnotesize\ttfamily void Lib\+Home\+Screen\+::on\+\_\+call (\begin{DoxyParamCaption}\item[{void $\ast$}]{closure, }\item[{const char $\ast$}]{api, }\item[{const char $\ast$}]{verb, }\item[{struct afb\+\_\+wsj1\+\_\+msg $\ast$}]{msg }\end{DoxyParamCaption})} + + + +Definition at line 457 of file libhomescreen.\+cpp. + + +\begin{DoxyCode} +458 \{ +459 \} +\end{DoxyCode} +\mbox{\Hypertarget{class_lib_home_screen_a9c4885b51b43ab24a548d49fb3ab2de3}\label{class_lib_home_screen_a9c4885b51b43ab24a548d49fb3ab2de3}} +\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!on\+\_\+event@{on\+\_\+event}} +\index{on\+\_\+event@{on\+\_\+event}!Lib\+Home\+Screen@{Lib\+Home\+Screen}} +\subsubsection{\texorpdfstring{on\+\_\+event()}{on\_event()}} +{\footnotesize\ttfamily void Lib\+Home\+Screen\+::on\+\_\+event (\begin{DoxyParamCaption}\item[{void $\ast$}]{closure, }\item[{const char $\ast$}]{event, }\item[{struct afb\+\_\+wsj1\+\_\+msg $\ast$}]{msg }\end{DoxyParamCaption})} + + + +Definition at line 467 of file libhomescreen.\+cpp. + + +\begin{DoxyCode} +468 \{ +469 cout << \textcolor{stringliteral}{"[libhomescreen on\_event]: "} << \textcolor{keyword}{event} << \textcolor{stringliteral}{" ("} << afb\_wsj1\_msg\_object\_s(msg) << \textcolor{stringliteral}{")"} << endl; +470 +471 \textcolor{keywordflow}{if} (strstr(\hyperlink{structevent}{event}, \hyperlink{libhomescreen_8cpp_a1e2d6e77dd8f0162f830058579eab42f}{API}) == NULL) \{ +472 \textcolor{keywordflow}{return}; +473 \} +474 +475 \textcolor{keyword}{struct }json\_object* ev\_contents = afb\_wsj1\_msg\_object\_j(msg); +476 \textcolor{keyword}{struct }json\_object *json\_data = json\_object\_object\_get(ev\_contents, \textcolor{stringliteral}{"data"}); +477 +478 \textcolor{keywordflow}{if}(onEvent != \textcolor{keyword}{nullptr}) +479 \{ +480 \textcolor{keyword}{const} \textcolor{keywordtype}{string} ev(\hyperlink{structevent}{event}); +481 onEvent(ev, ev\_contents); +482 \} +483 +484 \textcolor{keyword}{const} \textcolor{keywordtype}{char}* event\_only = strchr(\hyperlink{structevent}{event}, \textcolor{charliteral}{'/'}); +485 \textcolor{keywordflow}{if} (event\_only != \textcolor{keyword}{nullptr}) \{ +486 event\_only = event\_only + 1; +487 \} +488 +489 \textcolor{keywordflow}{if} (strcasecmp(event\_only, \hyperlink{class_lib_home_screen_a6a6d8a4d33a006a08652e7377a4c29e9}{LibHomeScreen::event\_list}[0].c\_str()) == 0) \{ +490 \textcolor{keyword}{auto} i = this->handlers.find(\hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f}{Event\_TapShortcut}); +491 +492 \textcolor{keyword}{struct }json\_object *json\_application\_name = json\_object\_object\_get(json\_data, \textcolor{stringliteral}{"application\_name"}); +493 \textcolor{keyword}{const} \textcolor{keywordtype}{char}* application\_name = json\_object\_get\_string(json\_application\_name); +494 +495 \textcolor{keywordflow}{if} ( i != this->handlers.end() ) \{ +496 i->second(application\_name); +497 \} +498 \} +499 \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (strcasecmp(event\_only, \hyperlink{class_lib_home_screen_a6a6d8a4d33a006a08652e7377a4c29e9}{LibHomeScreen::event\_list}[1].c\_str()) == 0) \{ +500 +501 \textcolor{keyword}{auto} i = this->handlers.find(\hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d}{Event\_OnScreenMessage}); +502 +503 \textcolor{keyword}{struct }json\_object *json\_display\_message = json\_object\_object\_get(json\_data, \textcolor{stringliteral}{"display\_message"}); +504 \textcolor{keyword}{const} \textcolor{keywordtype}{char}* display\_message = json\_object\_get\_string(json\_display\_message); +505 +506 \textcolor{keywordflow}{if} ( i != this->handlers.end() ) \{ +507 i->second(display\_message); +508 \} +509 +510 \} +511 +512 json\_object\_put(ev\_contents); +513 \} +\end{DoxyCode} +\mbox{\Hypertarget{class_lib_home_screen_ab1c1fa69f24b981e824dd9fb810c4b74}\label{class_lib_home_screen_ab1c1fa69f24b981e824dd9fb810c4b74}} +\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!on\+\_\+hangup@{on\+\_\+hangup}} +\index{on\+\_\+hangup@{on\+\_\+hangup}!Lib\+Home\+Screen@{Lib\+Home\+Screen}} +\subsubsection{\texorpdfstring{on\+\_\+hangup()}{on\_hangup()}} +{\footnotesize\ttfamily void Lib\+Home\+Screen\+::on\+\_\+hangup (\begin{DoxyParamCaption}\item[{void $\ast$}]{closure, }\item[{struct afb\+\_\+wsj1 $\ast$}]{wsj }\end{DoxyParamCaption})} + + + +Definition at line 448 of file libhomescreen.\+cpp. + + +\begin{DoxyCode} +449 \{ +450 \hyperlink{libhomescreen_8cpp_a4e42b2f5af2174dd24f958351becf63d}{DLOG}(\textcolor{stringliteral}{"%s called"}, \_\_FUNCTION\_\_); +451 \textcolor{keywordflow}{if}(onHangup != \textcolor{keyword}{nullptr}) +452 \{ +453 onHangup(); +454 \} +455 \} +\end{DoxyCode} +\mbox{\Hypertarget{class_lib_home_screen_a248d9648c6186287a7632ec1c75fc9c5}\label{class_lib_home_screen_a248d9648c6186287a7632ec1c75fc9c5}} +\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!on\+\_\+reply@{on\+\_\+reply}} +\index{on\+\_\+reply@{on\+\_\+reply}!Lib\+Home\+Screen@{Lib\+Home\+Screen}} +\subsubsection{\texorpdfstring{on\+\_\+reply()}{on\_reply()}} +{\footnotesize\ttfamily void Lib\+Home\+Screen\+::on\+\_\+reply (\begin{DoxyParamCaption}\item[{void $\ast$}]{closure, }\item[{struct afb\+\_\+wsj1\+\_\+msg $\ast$}]{msg }\end{DoxyParamCaption})} + +msg is like (\{\char`\"{}response\char`\"{}\+:\{\char`\"{}verb\char`\"{}\+:\char`\"{}subscribe\char`\"{},\char`\"{}error\char`\"{}\+:0\},\char`\"{}jtype\char`\"{}\+:\char`\"{}afb-\/reply\char`\"{},\char`\"{}request\char`\"{}\+:\{\char`\"{}status\char`\"{}\+:\char`\"{}success\char`\"{},\char`\"{}info\char`\"{}\+:\char`\"{}homescreen binder subscribe event name \mbox{[}on\+\_\+screen\+\_\+message\mbox{]}\char`\"{}\}\}) msg is like (\{\char`\"{}response\char`\"{}\+:\{\char`\"{}verb\char`\"{}\+:\char`\"{}tap\+\_\+shortcut\char`\"{},\char`\"{}error\char`\"{}\+:0\},\char`\"{}jtype\char`\"{}\+:\char`\"{}afb-\/reply\char`\"{},\char`\"{}request\char`\"{}\+:\{\char`\"{}status\char`\"{}\+:\char`\"{}success\char`\"{},\char`\"{}info\char`\"{}\+:\char`\"{}afb\+\_\+event\+\_\+push event \mbox{[}tap\+\_\+shortcut\mbox{]}\char`\"{}\}\}) + +Definition at line 519 of file libhomescreen.\+cpp. + + +\begin{DoxyCode} +520 \{ +521 cout << \textcolor{stringliteral}{"[libhomescreen on\_reply]: "} << \textcolor{stringliteral}{" ("} << afb\_wsj1\_msg\_object\_s(msg) << \textcolor{stringliteral}{")"} << endl; +522 \textcolor{keywordflow}{if}(onReply != \textcolor{keyword}{nullptr}) +523 \{ +524 \textcolor{keyword}{struct }json\_object* reply = afb\_wsj1\_msg\_object\_j(msg); +525 onReply(reply); +526 +527 json\_object\_put(reply); +528 \} +529 \} +\end{DoxyCode} +\mbox{\Hypertarget{class_lib_home_screen_ac336482036a72b51a822725f1929523c}\label{class_lib_home_screen_ac336482036a72b51a822725f1929523c}} +\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!on\+Screen\+Message@{on\+Screen\+Message}} +\index{on\+Screen\+Message@{on\+Screen\+Message}!Lib\+Home\+Screen@{Lib\+Home\+Screen}} +\subsubsection{\texorpdfstring{on\+Screen\+Message()}{onScreenMessage()}} +{\footnotesize\ttfamily int Lib\+Home\+Screen\+::on\+Screen\+Message (\begin{DoxyParamCaption}\item[{const char $\ast$}]{display\+\_\+message }\end{DoxyParamCaption})} + +Home\+Screenアプリに表示するメッセージイベントの発行 + +各アプリから\+Home\+Screenアプリケーションの\+On\+Screenに表示するイベントを発行する + +\subparagraph*{Parameters} + + +\begin{DoxyItemize} +\item display\+\_\+message \mbox{[}in\mbox{]} \+: 表示するメッセージ +\end{DoxyItemize} + +\subparagraph*{Return} + + +\begin{DoxyItemize} +\item Returns 0 on success or -\/1 in case of error. +\end{DoxyItemize} + +Definition at line 280 of file libhomescreen.\+cpp. + + +\begin{DoxyCode} +281 \{ +282 \textcolor{keywordflow}{if}(!sp\_websock) +283 \{ +284 \textcolor{keywordflow}{return} -1; +285 \} +286 +287 \textcolor{keyword}{struct }json\_object* j\_obj = json\_object\_new\_object(); +288 \textcolor{keyword}{struct }json\_object* val = json\_object\_new\_string(display\_message); +289 json\_object\_object\_add(j\_obj, \textcolor{stringliteral}{"display\_message"}, val); +290 \textcolor{keywordflow}{return} this->\hyperlink{class_lib_home_screen_a527b49dcfe581be6275d0eb2236ba37f}{call}(\textcolor{stringliteral}{"on\_screen\_message"}, j\_obj); +291 \} +\end{DoxyCode} +\mbox{\Hypertarget{class_lib_home_screen_a23bc17798453cfca50904562736f6b25}\label{class_lib_home_screen_a23bc17798453cfca50904562736f6b25}} +\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!operator=@{operator=}} +\index{operator=@{operator=}!Lib\+Home\+Screen@{Lib\+Home\+Screen}} +\subsubsection{\texorpdfstring{operator=()}{operator=()}} +{\footnotesize\ttfamily \hyperlink{class_lib_home_screen}{Lib\+Home\+Screen}\& Lib\+Home\+Screen\+::operator= (\begin{DoxyParamCaption}\item[{const \hyperlink{class_lib_home_screen}{Lib\+Home\+Screen} \&}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [delete]}} + +\mbox{\Hypertarget{class_lib_home_screen_a2789e8a5372202cc36f48e71dbb9b7cf}\label{class_lib_home_screen_a2789e8a5372202cc36f48e71dbb9b7cf}} +\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!register\+Callback@{register\+Callback}} +\index{register\+Callback@{register\+Callback}!Lib\+Home\+Screen@{Lib\+Home\+Screen}} +\subsubsection{\texorpdfstring{register\+Callback()}{registerCallback()}} +{\footnotesize\ttfamily void Lib\+Home\+Screen\+::register\+Callback (\begin{DoxyParamCaption}\item[{void($\ast$)(const std\+::string \&\hyperlink{structevent}{event}, struct json\+\_\+object $\ast$event\+\_\+contents)}]{event\+\_\+cb, }\item[{void($\ast$)(struct json\+\_\+object $\ast$reply\+\_\+contents)}]{reply\+\_\+cb, }\item[{void($\ast$)(void)}]{hangup\+\_\+cb = {\ttfamily nullptr} }\end{DoxyParamCaption})} + +This function register callback function for reply/event message from home screen + +\subparagraph*{Parameters} + + +\begin{DoxyItemize} +\item event\+\_\+cb \mbox{[}in\mbox{]} \+: This argument should be specified to the callback for subscribed event +\item reply\+\_\+cb \mbox{[}in\mbox{]} \+: This argument should be specified to the reply callback for call function +\end{DoxyItemize} + +\subparagraph*{Return} + +Nothing + +\subparagraph*{Note} + +Event callback is invoked by home screen for event you subscribed. If you would like to get event, please call subscribe function before/after this function + +Definition at line 158 of file libhomescreen.\+cpp. + + +\begin{DoxyCode} +162 \{ +163 onEvent = event\_cb; +164 onReply = reply\_cb; +165 onHangup = hangup\_cb; +166 \} +\end{DoxyCode} +\mbox{\Hypertarget{class_lib_home_screen_a32d3282898d0f04151c24b4103511e00}\label{class_lib_home_screen_a32d3282898d0f04151c24b4103511e00}} +\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!run\+Eventloop@{run\+Eventloop}} +\index{run\+Eventloop@{run\+Eventloop}!Lib\+Home\+Screen@{Lib\+Home\+Screen}} +\subsubsection{\texorpdfstring{run\+Eventloop()}{runEventloop()}} +{\footnotesize\ttfamily int Lib\+Home\+Screen\+::run\+Eventloop (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +This function start receiving the reply/event message from home screen + +\subparagraph*{Parameters} + +Nothing + +\subparagraph*{Return} + + +\begin{DoxyItemize} +\item Returns thread\+\_\+id on success or -\/1 in case of error. +\end{DoxyItemize} + +\subparagraph*{Note} + +Definition at line 224 of file libhomescreen.\+cpp. + + +\begin{DoxyCode} +225 \{ +226 \textcolor{keywordflow}{if}(mploop && sp\_websock) +227 \{ +228 pthread\_t thread\_id; +229 \textcolor{keywordtype}{int} ret = pthread\_create(&thread\_id, NULL, \hyperlink{libhomescreen_8cpp_aa73353e1bf62c68b6b0aba7a1e4e275e}{event\_loop\_run}, mploop); +230 \textcolor{keywordflow}{if}(ret != 0) +231 \{ +232 \hyperlink{libhomescreen_8cpp_a797aa3053bd6a29819d44f8fad8a5eca}{ELOG}(\textcolor{stringliteral}{"Cannot run eventloop due to error:%d"}, errno); +233 \textcolor{keywordflow}{return} -1; +234 \} +235 \textcolor{keywordflow}{else} +236 \textcolor{keywordflow}{return} thread\_id; +237 \} +238 \textcolor{keywordflow}{else} +239 \{ +240 \hyperlink{libhomescreen_8cpp_a797aa3053bd6a29819d44f8fad8a5eca}{ELOG}(\textcolor{stringliteral}{"Connecting is not established yet"}); +241 \textcolor{keywordflow}{return} -1; +242 \} +243 \} +\end{DoxyCode} +\mbox{\Hypertarget{class_lib_home_screen_ab1b0e08bf35415de9064afed899e9f85}\label{class_lib_home_screen_ab1b0e08bf35415de9064afed899e9f85}} +\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!set\+\_\+event\+\_\+handler@{set\+\_\+event\+\_\+handler}} +\index{set\+\_\+event\+\_\+handler@{set\+\_\+event\+\_\+handler}!Lib\+Home\+Screen@{Lib\+Home\+Screen}} +\subsubsection{\texorpdfstring{set\+\_\+event\+\_\+handler()}{set\_event\_handler()}} +{\footnotesize\ttfamily void Lib\+Home\+Screen\+::set\+\_\+event\+\_\+handler (\begin{DoxyParamCaption}\item[{enum \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154}{Event\+Type}}]{et, }\item[{\hyperlink{class_lib_home_screen_ae99dee1e03d494d59d26c9f17078e01f}{handler\+\_\+func}}]{f }\end{DoxyParamCaption})} + +イベントハンドラの登録 + +各アプリから\+Home\+Screenアプリケーションの\+On\+Screenに表示するイベントを発行する + +\subparagraph*{Parameters} + + +\begin{DoxyItemize} +\item et \mbox{[}in\mbox{]} \+: 対象のイベント +\item f \mbox{[}in\mbox{]} \+: イベントハンドラ +\end{DoxyItemize} + +\subparagraph*{Return} + +Nothing + +Definition at line 305 of file libhomescreen.\+cpp. + + +\begin{DoxyCode} +306 \{ +307 \textcolor{keywordflow}{if} (et >= 1 && et <= 2) \{ +308 \textcolor{keywordflow}{switch} (et) \{ +309 \textcolor{keywordflow}{case} \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f}{Event\_TapShortcut}: +310 this->\hyperlink{class_lib_home_screen_aa4c189807b75d070f567967f0d690738}{subscribe}(\hyperlink{class_lib_home_screen_a6a6d8a4d33a006a08652e7377a4c29e9}{LibHomeScreen::event\_list}[0]); +311 \textcolor{keywordflow}{break}; +312 \textcolor{keywordflow}{case} \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d}{Event\_OnScreenMessage}: +313 this->\hyperlink{class_lib_home_screen_aa4c189807b75d070f567967f0d690738}{subscribe}(\hyperlink{class_lib_home_screen_a6a6d8a4d33a006a08652e7377a4c29e9}{LibHomeScreen::event\_list}[1]); +314 \textcolor{keywordflow}{break}; +315 \} +316 +317 this->handlers[et] = std::move(f); +318 \} +319 \} +\end{DoxyCode} +\mbox{\Hypertarget{class_lib_home_screen_aa4c189807b75d070f567967f0d690738}\label{class_lib_home_screen_aa4c189807b75d070f567967f0d690738}} +\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!subscribe@{subscribe}} +\index{subscribe@{subscribe}!Lib\+Home\+Screen@{Lib\+Home\+Screen}} +\subsubsection{\texorpdfstring{subscribe()}{subscribe()}} +{\footnotesize\ttfamily int Lib\+Home\+Screen\+::subscribe (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{event\+\_\+name }\end{DoxyParamCaption})} + +Register callback function for each event + +\subparagraph*{Parameters} + + +\begin{DoxyItemize} +\item event\+\_\+name \mbox{[}in\mbox{]} \+: This argument should be specified to the event name +\end{DoxyItemize} + +\subparagraph*{Return} + + +\begin{DoxyItemize} +\item Returns 0 on success or -\/1 in case of error. +\end{DoxyItemize} + +\subparagraph*{Note} + +This function enables to get an event to your callback function. + +Definition at line 401 of file libhomescreen.\+cpp. + + +\begin{DoxyCode} +402 \{ +403 \textcolor{keywordflow}{if}(!sp\_websock) +404 \{ +405 \textcolor{keywordflow}{return} -1; +406 \} +407 \textcolor{keyword}{struct }json\_object* j\_obj = json\_object\_new\_object(); +408 json\_object\_object\_add(j\_obj, \textcolor{stringliteral}{"event"}, json\_object\_new\_string(event\_name.c\_str())); +409 +410 \textcolor{keywordtype}{int} ret = afb\_wsj1\_call\_j(sp\_websock, \hyperlink{libhomescreen_8cpp_a1e2d6e77dd8f0162f830058579eab42f}{API}, \textcolor{stringliteral}{"subscribe"}, j\_obj, + \hyperlink{libhomescreen_8cpp_a7778933bffa862c63fa0a1b8219faa8b}{\_on\_reply\_static}, \textcolor{keyword}{this}); +411 \textcolor{keywordflow}{if} (ret < 0) \{ +412 \hyperlink{libhomescreen_8cpp_a797aa3053bd6a29819d44f8fad8a5eca}{ELOG}(\textcolor{stringliteral}{"Failed to call verb:%s"},\_\_FUNCTION\_\_); +413 \} +414 \textcolor{keywordflow}{return} ret; +415 \} +\end{DoxyCode} +\mbox{\Hypertarget{class_lib_home_screen_afb571c9577087b47065eb23e7fdbc903}\label{class_lib_home_screen_afb571c9577087b47065eb23e7fdbc903}} +\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!tap\+Shortcut@{tap\+Shortcut}} +\index{tap\+Shortcut@{tap\+Shortcut}!Lib\+Home\+Screen@{Lib\+Home\+Screen}} +\subsubsection{\texorpdfstring{tap\+Shortcut()}{tapShortcut()}} +{\footnotesize\ttfamily int Lib\+Home\+Screen\+::tap\+Shortcut (\begin{DoxyParamCaption}\item[{const char $\ast$}]{application\+\_\+name }\end{DoxyParamCaption})} + +ショートカットアイコンがタップされたイベントの発行 + +Home\+Screenアプリケーションにて各アプリアイコンがタップされたときにイベントを発行する + +\subparagraph*{Parameters} + + +\begin{DoxyItemize} +\item application\+\_\+name \mbox{[}in\mbox{]} \+: タップされたアプリケーションの名前(label) +\end{DoxyItemize} + +\subparagraph*{Return} + + +\begin{DoxyItemize} +\item Returns 0 on success or -\/1 in case of error. +\end{DoxyItemize} + +Definition at line 256 of file libhomescreen.\+cpp. + + +\begin{DoxyCode} +257 \{ +258 \textcolor{keywordflow}{if}(!sp\_websock) +259 \{ +260 \textcolor{keywordflow}{return} -1; +261 \} +262 +263 \textcolor{keyword}{struct }json\_object* j\_obj = json\_object\_new\_object(); +264 \textcolor{keyword}{struct }json\_object* val = json\_object\_new\_string(application\_name); +265 json\_object\_object\_add(j\_obj, \textcolor{stringliteral}{"application\_name"}, val); +266 \textcolor{keywordflow}{return} this->\hyperlink{class_lib_home_screen_a527b49dcfe581be6275d0eb2236ba37f}{call}(\textcolor{stringliteral}{"tap\_shortcut"}, j\_obj); +267 \} +\end{DoxyCode} +\mbox{\Hypertarget{class_lib_home_screen_aac03a45cbd453ba69ddb00c1016930a6}\label{class_lib_home_screen_aac03a45cbd453ba69ddb00c1016930a6}} +\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!unsubscribe@{unsubscribe}} +\index{unsubscribe@{unsubscribe}!Lib\+Home\+Screen@{Lib\+Home\+Screen}} +\subsubsection{\texorpdfstring{unsubscribe()}{unsubscribe()}} +{\footnotesize\ttfamily int Lib\+Home\+Screen\+::unsubscribe (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{event\+\_\+name }\end{DoxyParamCaption})} + +Unregister callback function for each event + +\subparagraph*{Parameters} + + +\begin{DoxyItemize} +\item event\+\_\+name \mbox{[}in\mbox{]} \+: This argument should be specified to the event name +\end{DoxyItemize} + +\subparagraph*{Return} + + +\begin{DoxyItemize} +\item Returns 0 on success or -\/1 in case of error. +\end{DoxyItemize} + +\subparagraph*{Note} + +This function disables to get an event to your callback function. + +Definition at line 430 of file libhomescreen.\+cpp. + + +\begin{DoxyCode} +431 \{ +432 \textcolor{keywordflow}{if}(!sp\_websock) +433 \{ +434 \textcolor{keywordflow}{return} -1; +435 \} +436 \textcolor{keyword}{struct }json\_object* j\_obj = json\_object\_new\_object(); +437 json\_object\_object\_add(j\_obj, \textcolor{stringliteral}{"event"}, json\_object\_new\_string(event\_name.c\_str())); +438 +439 \textcolor{keywordtype}{int} ret = afb\_wsj1\_call\_j(sp\_websock, \hyperlink{libhomescreen_8cpp_a1e2d6e77dd8f0162f830058579eab42f}{API}, \textcolor{stringliteral}{"unsubscribe"}, j\_obj, + \hyperlink{libhomescreen_8cpp_a7778933bffa862c63fa0a1b8219faa8b}{\_on\_reply\_static}, \textcolor{keyword}{this}); +440 \textcolor{keywordflow}{if} (ret < 0) \{ +441 \hyperlink{libhomescreen_8cpp_a797aa3053bd6a29819d44f8fad8a5eca}{ELOG}(\textcolor{stringliteral}{"Failed to call verb:%s"},\_\_FUNCTION\_\_); +442 \} +443 \textcolor{keywordflow}{return} ret; +444 \} +\end{DoxyCode} + + +\subsection{Member Data Documentation} +\mbox{\Hypertarget{class_lib_home_screen_a5593ff5ac78f6495ccb649904cf0ab08}\label{class_lib_home_screen_a5593ff5ac78f6495ccb649904cf0ab08}} +\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!api\+\_\+list@{api\+\_\+list}} +\index{api\+\_\+list@{api\+\_\+list}!Lib\+Home\+Screen@{Lib\+Home\+Screen}} +\subsubsection{\texorpdfstring{api\+\_\+list}{api\_list}} +{\footnotesize\ttfamily const std\+::vector$<$ std\+::string $>$ Lib\+Home\+Screen\+::api\+\_\+list\hspace{0.3cm}{\ttfamily [static]}} + +{\bfseries Initial value\+:} +\begin{DoxyCode} +\{ + std::string(\textcolor{stringliteral}{"ping"}), + std::string(\textcolor{stringliteral}{"tap\_shortcut"}), + std::string(\textcolor{stringliteral}{"on\_screen\_message"}), + std::string(\textcolor{stringliteral}{"subscribe"}), + std::string(\textcolor{stringliteral}{"unsubscribe"}) +\} +\end{DoxyCode} + + +Definition at line 48 of file libhomescreen.\+hpp. + +\mbox{\Hypertarget{class_lib_home_screen_a6a6d8a4d33a006a08652e7377a4c29e9}\label{class_lib_home_screen_a6a6d8a4d33a006a08652e7377a4c29e9}} +\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!event\+\_\+list@{event\+\_\+list}} +\index{event\+\_\+list@{event\+\_\+list}!Lib\+Home\+Screen@{Lib\+Home\+Screen}} +\subsubsection{\texorpdfstring{event\+\_\+list}{event\_list}} +{\footnotesize\ttfamily const std\+::vector$<$ std\+::string $>$ Lib\+Home\+Screen\+::event\+\_\+list\hspace{0.3cm}{\ttfamily [static]}} + +{\bfseries Initial value\+:} +\begin{DoxyCode} +\{ + std::string(\textcolor{stringliteral}{"tap\_shortcut"}), + std::string(\textcolor{stringliteral}{"on\_screen\_message"}), + std::string(\textcolor{stringliteral}{"none"}) +\} +\end{DoxyCode} + + +Definition at line 49 of file libhomescreen.\+hpp. + + + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +include/libhomescreen/\hyperlink{libhomescreen_8hpp}{libhomescreen.\+hpp}\item +libhomescreen/\hyperlink{libhomescreen_8cpp}{libhomescreen.\+cpp}\end{DoxyCompactItemize} -- cgit 1.2.3-korg