X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=doc%2Fapi-ref%2Flatex%2Fde%2Fdd0%2Fclass_lib_home_screen.tex;h=ce14de7ee6925cd7f2863e08a10fde3a05dff4c7;hb=599de8d3f35cb0fe56c7e27591862d61944b456b;hp=5dba5681af63e6d61ca5b10e8bba321302d98f97;hpb=26ec25e2f9271396328c208ae1a256fdf1a92c91;p=apps%2Fagl-service-homescreen.git 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 index 5dba568..ce14de7 100644 --- a/doc/api-ref/latex/de/dd0/class_lib_home_screen.tex +++ b/doc/api-ref/latex/de/dd0/class_lib_home_screen.tex @@ -8,10 +8,11 @@ \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} +\hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d}{Event\+\_\+\+On\+Screen\+Message}, +\hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd}{Event\+\_\+\+On\+Screen\+Reply} \} \item -using \hyperlink{class_lib_home_screen_ae99dee1e03d494d59d26c9f17078e01f}{handler\+\_\+func} = std\+::function$<$ void(const char $\ast$)$>$ +using \hyperlink{class_lib_home_screen_a334f11f81c84c98d18284215dcaada3a}{handler\+\_\+func} = std\+::function$<$ void(json\+\_\+object $\ast$)$>$ \end{DoxyCompactItemize} \subsection*{Public Member Functions} \begin{DoxyCompactItemize} @@ -26,13 +27,13 @@ using \hyperlink{class_lib_home_screen_ae99dee1e03d494d59d26c9f17078e01f}{handle \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) +int \hyperlink{class_lib_home_screen_a6c065f41f2c5d1f58d2763bfb4da9c37}{on\+Screen\+Reply} (const char $\ast$reply\+\_\+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_a334f11f81c84c98d18284215dcaada3a}{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 @@ -69,15 +70,15 @@ 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}} +\mbox{\Hypertarget{class_lib_home_screen_a334f11f81c84c98d18284215dcaada3a}\label{class_lib_home_screen_a334f11f81c84c98d18284215dcaada3a}} \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$)$>$} +{\footnotesize\ttfamily using \hyperlink{class_lib_home_screen_a334f11f81c84c98d18284215dcaada3a}{Lib\+Home\+Screen\+::handler\+\_\+func} = std\+::function$<$void(json\+\_\+object$\ast$)$>$} -Definition at line 41 of file libhomescreen.\+hpp. +Definition at line 42 of file libhomescreen.\+hpp. @@ -97,17 +98,22 @@ Event\+\_\+\+Tap\+Shortcut&\\ Event\+\_\+\+On\+Screen\+Message&\\ \hline +\raisebox{\heightof{T}}[0pt][0pt]{\index{Event\+\_\+\+On\+Screen\+Reply@{Event\+\_\+\+On\+Screen\+Reply}!Lib\+Home\+Screen@{Lib\+Home\+Screen}}\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!Event\+\_\+\+On\+Screen\+Reply@{Event\+\_\+\+On\+Screen\+Reply}}}\mbox{\Hypertarget{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd}\label{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd}} +Event\+\_\+\+On\+Screen\+Reply&\\ +\hline + \end{DoxyEnumFields} -Definition at line 43 of file libhomescreen.\+hpp. +Definition at line 44 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 \}; +44 \{ +45 \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f}{Event\_TapShortcut} = 1, +46 \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d}{Event\_OnScreenMessage}, +47 \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd}{Event\_OnScreenReply} +48 \}; \end{DoxyCode} @@ -120,13 +126,12 @@ Definition at line 43 of file libhomescreen.\+hpp. constructor -Definition at line 85 of file libhomescreen.\+cpp. +Definition at line 83 of file libhomescreen.\+cpp. \begin{DoxyCode} -86 \{ -87 -88 \} +84 \{ +85 \} \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}} @@ -136,20 +141,20 @@ Definition at line 85 of file libhomescreen.\+cpp. destructor -Definition at line 93 of file libhomescreen.\+cpp. +Definition at line 90 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 \} +91 \{ +92 \textcolor{keywordflow}{if}(mploop) +93 \{ +94 sd\_event\_unref(mploop); +95 \} +96 \textcolor{keywordflow}{if}(sp\_websock != NULL) +97 \{ +98 afb\_wsj1\_unref(sp\_websock); +99 \} +100 \} \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}} @@ -193,27 +198,27 @@ This function calls the A\+PI of Home\+Screen via Web\+Socket This function is o 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. +Definition at line 360 of file libhomescreen.\+cpp. \begin{DoxyCode} -370 \{ -371 \textcolor{keywordtype}{int} ret; -372 \textcolor{keywordflow}{if}(!sp\_websock) -373 \{ -374 \textcolor{keywordflow}{return} -1; +361 \{ +362 \textcolor{keywordtype}{int} ret; +363 \textcolor{keywordflow}{if}(!sp\_websock) +364 \{ +365 \textcolor{keywordflow}{return} -1; +366 \} +367 \textcolor{keywordflow}{if} (!\hyperlink{libhomescreen_8cpp_a7a2176c3d71fec0f09dcb2aa0866b17e}{has\_verb}(\textcolor{keywordtype}{string}(verb))) +368 \{ +369 \hyperlink{hmi-debug_8h_a65bb6c7cfe38f8a724beab5059d36fb2}{HMI\_ERROR}(\textcolor{stringliteral}{"libhomescreen"},\textcolor{stringliteral}{"verb doesn't exit"}); +370 \textcolor{keywordflow}{return} -1; +371 \} +372 ret = afb\_wsj1\_call\_j(sp\_websock, \hyperlink{libhomescreen_8cpp_a1e2d6e77dd8f0162f830058579eab42f}{API}, verb, arg, \hyperlink{libhomescreen_8cpp_a7778933bffa862c63fa0a1b8219faa8b}{\_on\_reply\_static}, \textcolor{keyword}{this}); +373 \textcolor{keywordflow}{if} (ret < 0) \{ +374 \hyperlink{hmi-debug_8h_a65bb6c7cfe38f8a724beab5059d36fb2}{HMI\_ERROR}(\textcolor{stringliteral}{"libhomescreen"},\textcolor{stringliteral}{"Failed to call verb:%s"},verb); 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 \} +376 \textcolor{keywordflow}{return} ret; +377 \} \end{DoxyCode} \mbox{\Hypertarget{class_lib_home_screen_a6a57b573cc767725762ba9beab032220}\label{class_lib_home_screen_a6a57b573cc767725762ba9beab032220}} \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!init@{init}} @@ -239,33 +244,33 @@ Nothing Use this constructor -Definition at line 119 of file libhomescreen.\+cpp. +Definition at line 116 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"}); +117 \{ +118 \textcolor{keywordtype}{int} ret = 0; +119 \textcolor{keywordflow}{if}(port > 0 && token.size() > 0) +120 \{ +121 mport = port; +122 mtoken = token; +123 \} +124 \textcolor{keywordflow}{else} +125 \{ +126 \hyperlink{hmi-debug_8h_a65bb6c7cfe38f8a724beab5059d36fb2}{HMI\_ERROR}(\textcolor{stringliteral}{"libhomescreen"},\textcolor{stringliteral}{"port and token should be > 0, Initial port and token uses."}); +127 \} +128 +129 ret = initialize\_websocket(); +130 \textcolor{keywordflow}{if}(ret != 0 ) +131 \{ +132 \hyperlink{hmi-debug_8h_a65bb6c7cfe38f8a724beab5059d36fb2}{HMI\_ERROR}(\textcolor{stringliteral}{"libhomescreen"},\textcolor{stringliteral}{"Failed to initialize websocket"}); +133 \} +134 \textcolor{keywordflow}{else}\{ +135 \hyperlink{hmi-debug_8h_a0d26d8b8201011dade787236519711c0}{HMI\_DEBUG}(\textcolor{stringliteral}{"libhomescreen"},\textcolor{stringliteral}{"Initialized"}); 136 \} -137 \textcolor{keywordflow}{else}\{ -138 \hyperlink{libhomescreen_8cpp_a4e42b2f5af2174dd24f958351becf63d}{DLOG}(\textcolor{stringliteral}{"Initialized"}); -139 \} -140 -141 \textcolor{keywordflow}{return} ret; -142 \} +137 +138 \textcolor{keywordflow}{return} ret; +139 \} \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}} @@ -275,12 +280,12 @@ Definition at line 119 of file libhomescreen.\+cpp. -Definition at line 457 of file libhomescreen.\+cpp. +Definition at line 448 of file libhomescreen.\+cpp. \begin{DoxyCode} -458 \{ -459 \} +449 \{ +450 \} \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}} @@ -290,56 +295,52 @@ Definition at line 457 of file libhomescreen.\+cpp. -Definition at line 467 of file libhomescreen.\+cpp. +Definition at line 458 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}; +459 \{ +460 \hyperlink{hmi-debug_8h_a0d26d8b8201011dade787236519711c0}{HMI\_DEBUG}(\textcolor{stringliteral}{"libhomescreen"},\textcolor{stringliteral}{"event: (%s) msg: (%s)."}, \hyperlink{structevent}{event}, afb\_wsj1\_msg\_object\_s(msg)); +461 +462 \textcolor{keywordflow}{if} (strstr(\hyperlink{structevent}{event}, \hyperlink{libhomescreen_8cpp_a1e2d6e77dd8f0162f830058579eab42f}{API}) == NULL) \{ +463 \textcolor{keywordflow}{return}; +464 \} +465 +466 \textcolor{keyword}{struct }json\_object* ev\_contents = afb\_wsj1\_msg\_object\_j(msg); +467 \textcolor{keyword}{struct }json\_object *json\_data = json\_object\_object\_get(ev\_contents, \textcolor{stringliteral}{"data"}); +468 +469 \textcolor{keywordflow}{if}(onEvent != \textcolor{keyword}{nullptr}) +470 \{ +471 \textcolor{keyword}{const} \textcolor{keywordtype}{string} ev(\hyperlink{structevent}{event}); +472 onEvent(ev, ev\_contents); 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 \} +475 \textcolor{keyword}{const} \textcolor{keywordtype}{char}* event\_only = strchr(\hyperlink{structevent}{event}, \textcolor{charliteral}{'/'}); +476 \textcolor{keywordflow}{if} (event\_only != \textcolor{keyword}{nullptr}) \{ +477 event\_only = event\_only + 1; +478 \} +479 +480 \textcolor{keywordflow}{if} (strcasecmp(event\_only, \hyperlink{class_lib_home_screen_a6a6d8a4d33a006a08652e7377a4c29e9}{LibHomeScreen::event\_list}[0].c\_str()) == 0) \{ +481 \textcolor{keyword}{auto} i = this->handlers.find(\hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f}{Event\_TapShortcut}); +482 \textcolor{keywordflow}{if} ( i != this->handlers.end() ) \{ +483 i->second(json\_data); +484 \} +485 \} +486 \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (strcasecmp(event\_only, \hyperlink{class_lib_home_screen_a6a6d8a4d33a006a08652e7377a4c29e9}{LibHomeScreen::event\_list}[1].c\_str()) == 0) \{ +487 \textcolor{keyword}{auto} i = this->handlers.find(\hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d}{Event\_OnScreenMessage}); +488 \textcolor{keywordflow}{if} ( i != this->handlers.end() ) \{ +489 i->second(json\_data); +490 \} +491 \} +492 \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (strcasecmp(event\_only, \hyperlink{class_lib_home_screen_a6a6d8a4d33a006a08652e7377a4c29e9}{LibHomeScreen::event\_list}[2].c\_str()) == 0) \{ +493 \textcolor{keyword}{auto} i = this->handlers.find(\hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd}{Event\_OnScreenReply}); +494 \textcolor{keywordflow}{if} ( i != this->handlers.end() ) \{ +495 i->second(json\_data); +496 \} +497 \} +498 +499 json\_object\_put(ev\_contents); +500 \} \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}} @@ -349,17 +350,17 @@ Definition at line 467 of file libhomescreen.\+cpp. -Definition at line 448 of file libhomescreen.\+cpp. +Definition at line 439 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 \} +440 \{ +441 \hyperlink{hmi-debug_8h_a0d26d8b8201011dade787236519711c0}{HMI\_DEBUG}(\textcolor{stringliteral}{"libhomescreen"},\textcolor{stringliteral}{"%s called"}, \_\_FUNCTION\_\_); +442 \textcolor{keywordflow}{if}(onHangup != \textcolor{keyword}{nullptr}) +443 \{ +444 onHangup(); +445 \} +446 \} \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}} @@ -369,20 +370,20 @@ Definition at line 448 of file libhomescreen.\+cpp. 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. +Definition at line 506 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 \} +507 \{ +508 \hyperlink{hmi-debug_8h_a0d26d8b8201011dade787236519711c0}{HMI\_DEBUG}(\textcolor{stringliteral}{"libhomescreen"},\textcolor{stringliteral}{"msg: (%s)"}, afb\_wsj1\_msg\_object\_s(msg)); +509 \textcolor{keywordflow}{if}(onReply != \textcolor{keyword}{nullptr}) +510 \{ +511 \textcolor{keyword}{struct }json\_object* reply = afb\_wsj1\_msg\_object\_j(msg); +512 onReply(reply); +513 +514 json\_object\_put(reply); +515 \} +516 \} \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}} @@ -390,15 +391,55 @@ Definition at line 519 of file libhomescreen.\+cpp. \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アプリに表示するメッセージイベントの発行 +Sending on\+Screen message event + +Sending On\+Screen message event to Home\+Screen from applications + +\subparagraph*{Parameters} + + +\begin{DoxyItemize} +\item display\+\_\+message \mbox{[}in\mbox{]} \+: message for display +\end{DoxyItemize} + +\subparagraph*{Return} + + +\begin{DoxyItemize} +\item Returns 0 on success or -\/1 in case of error. +\end{DoxyItemize} + +Definition at line 244 of file libhomescreen.\+cpp. -各アプリから\+Home\+Screenアプリケーションの\+On\+Screenに表示するイベントを発行する + +\begin{DoxyCode} +245 \{ +246 \textcolor{keywordflow}{if}(!sp\_websock) +247 \{ +248 \textcolor{keywordflow}{return} -1; +249 \} +250 +251 \textcolor{keyword}{struct }json\_object* j\_obj = json\_object\_new\_object(); +252 \textcolor{keyword}{struct }json\_object* val = json\_object\_new\_string(display\_message); +253 json\_object\_object\_add(j\_obj, \textcolor{stringliteral}{"display\_message"}, val); +254 \textcolor{keywordflow}{return} this->\hyperlink{class_lib_home_screen_a527b49dcfe581be6275d0eb2236ba37f}{call}(\textcolor{stringliteral}{"on\_screen\_message"}, j\_obj); +255 \} +\end{DoxyCode} +\mbox{\Hypertarget{class_lib_home_screen_a6c065f41f2c5d1f58d2763bfb4da9c37}\label{class_lib_home_screen_a6c065f41f2c5d1f58d2763bfb4da9c37}} +\index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!on\+Screen\+Reply@{on\+Screen\+Reply}} +\index{on\+Screen\+Reply@{on\+Screen\+Reply}!Lib\+Home\+Screen@{Lib\+Home\+Screen}} +\subsubsection{\texorpdfstring{on\+Screen\+Reply()}{onScreenReply()}} +{\footnotesize\ttfamily int Lib\+Home\+Screen\+::on\+Screen\+Reply (\begin{DoxyParamCaption}\item[{const char $\ast$}]{reply\+\_\+message }\end{DoxyParamCaption})} + +Sending on\+Screen reply event + +Sending On\+Screen reply event to applications from Home\+Screen \subparagraph*{Parameters} \begin{DoxyItemize} -\item display\+\_\+message \mbox{[}in\mbox{]} \+: 表示するメッセージ +\item reply\+\_\+message \mbox{[}in\mbox{]} \+: message for reply \end{DoxyItemize} \subparagraph*{Return} @@ -408,21 +449,21 @@ Home\+Screenアプリに表示するメッセージイベントの発行 \item Returns 0 on success or -\/1 in case of error. \end{DoxyItemize} -Definition at line 280 of file libhomescreen.\+cpp. +Definition at line 268 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 \} +269 \{ +270 \textcolor{keywordflow}{if}(!sp\_websock) +271 \{ +272 \textcolor{keywordflow}{return} -1; +273 \} +274 +275 \textcolor{keyword}{struct }json\_object* j\_obj = json\_object\_new\_object(); +276 \textcolor{keyword}{struct }json\_object* val = json\_object\_new\_string(reply\_message); +277 json\_object\_object\_add(j\_obj, \textcolor{stringliteral}{"reply\_message"}, val); +278 \textcolor{keywordflow}{return} this->\hyperlink{class_lib_home_screen_a527b49dcfe581be6275d0eb2236ba37f}{call}(\textcolor{stringliteral}{"on\_screen\_reply"}, j\_obj); +279 \} \end{DoxyCode} \mbox{\Hypertarget{class_lib_home_screen_a23bc17798453cfca50904562736f6b25}\label{class_lib_home_screen_a23bc17798453cfca50904562736f6b25}} \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!operator=@{operator=}} @@ -454,101 +495,59 @@ Nothing 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. +Definition at line 155 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 \} +159 \{ +160 onEvent = event\_cb; +161 onReply = reply\_cb; +162 onHangup = hangup\_cb; +163 \} \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})} +{\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_a334f11f81c84c98d18284215dcaada3a}{handler\+\_\+func}}]{f }\end{DoxyParamCaption})} -イベントハンドラの登録 +Setting Event Handler -各アプリから\+Home\+Screenアプリケーションの\+On\+Screenに表示するイベントを発行する +Setting event handler for Homescreen \subparagraph*{Parameters} \begin{DoxyItemize} -\item et \mbox{[}in\mbox{]} \+: 対象のイベント -\item f \mbox{[}in\mbox{]} \+: イベントハンドラ +\item et \mbox{[}in\mbox{]} \+: event name +\item f \mbox{[}in\mbox{]} \+: event handler \end{DoxyItemize} \subparagraph*{Return} Nothing -Definition at line 305 of file libhomescreen.\+cpp. +Definition at line 293 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 \} +294 \{ +295 \textcolor{keywordflow}{if} (et >= 1 && et <= 3) \{ +296 \textcolor{keywordflow}{switch} (et) \{ +297 \textcolor{keywordflow}{case} \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f}{Event\_TapShortcut}: +298 this->\hyperlink{class_lib_home_screen_aa4c189807b75d070f567967f0d690738}{subscribe}(\hyperlink{class_lib_home_screen_a6a6d8a4d33a006a08652e7377a4c29e9}{LibHomeScreen::event\_list}[0]); +299 \textcolor{keywordflow}{break}; +300 \textcolor{keywordflow}{case} \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d}{Event\_OnScreenMessage}: +301 this->\hyperlink{class_lib_home_screen_aa4c189807b75d070f567967f0d690738}{subscribe}(\hyperlink{class_lib_home_screen_a6a6d8a4d33a006a08652e7377a4c29e9}{LibHomeScreen::event\_list}[1]); +302 \textcolor{keywordflow}{break}; +303 \textcolor{keywordflow}{case} \hyperlink{class_lib_home_screen_a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd}{Event\_OnScreenReply}: +304 this->\hyperlink{class_lib_home_screen_aa4c189807b75d070f567967f0d690738}{subscribe}(\hyperlink{class_lib_home_screen_a6a6d8a4d33a006a08652e7377a4c29e9}{LibHomeScreen::event\_list}[2]); +305 \textcolor{keywordflow}{break}; +306 \} +307 +308 this->handlers[et] = std::move(f); +309 \} +310 \} \end{DoxyCode} \mbox{\Hypertarget{class_lib_home_screen_aa4c189807b75d070f567967f0d690738}\label{class_lib_home_screen_aa4c189807b75d070f567967f0d690738}} \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!subscribe@{subscribe}} @@ -576,25 +575,25 @@ Register callback function for each event This function enables to get an event to your callback function. -Definition at line 401 of file libhomescreen.\+cpp. +Definition at line 392 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, +393 \{ +394 \textcolor{keywordflow}{if}(!sp\_websock) +395 \{ +396 \textcolor{keywordflow}{return} -1; +397 \} +398 \textcolor{keyword}{struct }json\_object* j\_obj = json\_object\_new\_object(); +399 json\_object\_object\_add(j\_obj, \textcolor{stringliteral}{"event"}, json\_object\_new\_string(event\_name.c\_str())); +400 +401 \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 \} +402 \textcolor{keywordflow}{if} (ret < 0) \{ +403 \hyperlink{hmi-debug_8h_a65bb6c7cfe38f8a724beab5059d36fb2}{HMI\_ERROR}(\textcolor{stringliteral}{"libhomescreen"},\textcolor{stringliteral}{"Failed to call verb:%s"},\_\_FUNCTION\_\_); +404 \} +405 \textcolor{keywordflow}{return} ret; +406 \} \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}} @@ -602,15 +601,15 @@ Definition at line 401 of file libhomescreen.\+cpp. \subsubsection{\texorpdfstring{tap\+Shortcut()}{tapShortcut()}} {\footnotesize\ttfamily int Lib\+Home\+Screen\+::tap\+Shortcut (\begin{DoxyParamCaption}\item[{const char $\ast$}]{application\+\_\+name }\end{DoxyParamCaption})} -ショートカットアイコンがタップされたイベントの発行 +Sending Short\+Cut Icon tapped event -Home\+Screenアプリケーションにて各アプリアイコンがタップされたときにイベントを発行する +When Home\+Screen shortcut area is tapped, sending a event \subparagraph*{Parameters} \begin{DoxyItemize} -\item application\+\_\+name \mbox{[}in\mbox{]} \+: タップされたアプリケーションの名前(label) +\item application\+\_\+name \mbox{[}in\mbox{]} \+: Tapped application name (label) \end{DoxyItemize} \subparagraph*{Return} @@ -620,21 +619,21 @@ Home\+Screenアプリケーションにて各アプリアイコンがタップ \item Returns 0 on success or -\/1 in case of error. \end{DoxyItemize} -Definition at line 256 of file libhomescreen.\+cpp. +Definition at line 220 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 \} +221 \{ +222 \textcolor{keywordflow}{if}(!sp\_websock) +223 \{ +224 \textcolor{keywordflow}{return} -1; +225 \} +226 +227 \textcolor{keyword}{struct }json\_object* j\_obj = json\_object\_new\_object(); +228 \textcolor{keyword}{struct }json\_object* val = json\_object\_new\_string(application\_name); +229 json\_object\_object\_add(j\_obj, \textcolor{stringliteral}{"application\_name"}, val); +230 \textcolor{keywordflow}{return} this->\hyperlink{class_lib_home_screen_a527b49dcfe581be6275d0eb2236ba37f}{call}(\textcolor{stringliteral}{"tap\_shortcut"}, j\_obj); +231 \} \end{DoxyCode} \mbox{\Hypertarget{class_lib_home_screen_aac03a45cbd453ba69ddb00c1016930a6}\label{class_lib_home_screen_aac03a45cbd453ba69ddb00c1016930a6}} \index{Lib\+Home\+Screen@{Lib\+Home\+Screen}!unsubscribe@{unsubscribe}} @@ -662,25 +661,25 @@ Unregister callback function for each event This function disables to get an event to your callback function. -Definition at line 430 of file libhomescreen.\+cpp. +Definition at line 421 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, +422 \{ +423 \textcolor{keywordflow}{if}(!sp\_websock) +424 \{ +425 \textcolor{keywordflow}{return} -1; +426 \} +427 \textcolor{keyword}{struct }json\_object* j\_obj = json\_object\_new\_object(); +428 json\_object\_object\_add(j\_obj, \textcolor{stringliteral}{"event"}, json\_object\_new\_string(event\_name.c\_str())); +429 +430 \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 \} +431 \textcolor{keywordflow}{if} (ret < 0) \{ +432 \hyperlink{hmi-debug_8h_a65bb6c7cfe38f8a724beab5059d36fb2}{HMI\_ERROR}(\textcolor{stringliteral}{"libhomescreen"},\textcolor{stringliteral}{"Failed to call verb:%s"},\_\_FUNCTION\_\_); +433 \} +434 \textcolor{keywordflow}{return} ret; +435 \} \end{DoxyCode} @@ -697,13 +696,14 @@ Definition at line 430 of file libhomescreen.\+cpp. std::string(\textcolor{stringliteral}{"ping"}), std::string(\textcolor{stringliteral}{"tap\_shortcut"}), std::string(\textcolor{stringliteral}{"on\_screen\_message"}), + std::string(\textcolor{stringliteral}{"on\_screen\_reply"}), std::string(\textcolor{stringliteral}{"subscribe"}), std::string(\textcolor{stringliteral}{"unsubscribe"}) \} \end{DoxyCode} -Definition at line 48 of file libhomescreen.\+hpp. +Definition at line 50 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}} @@ -716,16 +716,17 @@ Definition at line 48 of file libhomescreen.\+hpp. \{ std::string(\textcolor{stringliteral}{"tap\_shortcut"}), std::string(\textcolor{stringliteral}{"on\_screen\_message"}), + std::string(\textcolor{stringliteral}{"on\_screen\_reply"}), std::string(\textcolor{stringliteral}{"none"}) \} \end{DoxyCode} -Definition at line 49 of file libhomescreen.\+hpp. +Definition at line 51 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 +include/\hyperlink{libhomescreen_8hpp}{libhomescreen.\+hpp}\item libhomescreen/\hyperlink{libhomescreen_8cpp}{libhomescreen.\+cpp}\end{DoxyCompactItemize}