-<div class="fragment"><div class="line"><a name="l00118"></a><span class="lineno"> 118</span> {</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <span class="keywordtype">int</span> ret;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="keywordflow">if</span>(argc == 1)</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  {</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  printf(<span class="stringliteral">"Please input port num in first argument, and token in second argument"</span>);</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <a class="code" href="../../df/dac/test_8cpp.html#a64a6014565bb3e03294ec4a952d5add0">usage</a>();</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  }</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <span class="keywordflow">if</span>(argc == 2)</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  {</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <span class="keywordtype">string</span> av(argv[1]);</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <span class="keywordflow">if</span>( (av == <span class="stringliteral">"-h"</span>) || (av == <span class="stringliteral">"--help"</span>))</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  {</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <a class="code" href="../../df/dac/test_8cpp.html#a64a6014565bb3e03294ec4a952d5add0">usage</a>();</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  }</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  }</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keywordtype">string</span> port_string(argv[1]);</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="keywordtype">string</span> token(argv[2]);</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <span class="keywordtype">char</span>* endptr;</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keywordtype">long</span> port = strtol(port_string.c_str(),&endptr,10);</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="comment">/* error check of range */</span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="keywordflow">if</span>( (port > 20000) || (port < 0) )</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  {</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  printf(<span class="stringliteral">"input under 20000(temporary number)"</span>);</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  }</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <span class="keywordflow">if</span>(*endptr != <span class="charliteral">'\0'</span>)</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  {</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  printf(<span class="stringliteral">"not number"</span>);</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  }</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  cout << <span class="stringliteral">"Call test for LibHomeScreen"</span> << endl;</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <a class="code" href="../../df/dac/test_8cpp.html#a529acbd1fed9d98a587edfa62309fa8d">hs</a> = <span class="keyword">new</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a>();</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <a class="code" href="../../df/dac/test_8cpp.html#a529acbd1fed9d98a587edfa62309fa8d">hs</a>-><a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a57b573cc767725762ba9beab032220">init</a>(port, token);</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <span class="comment">// hs->registerCallback(&onEv, &onRep);</span></div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <span class="comment">//</span></div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <span class="comment">// hs->subscribe(event_list[0]); // tap_shortcut event subscribe</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <span class="comment">// hs->subscribe(event_list[1]);</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <a class="code" href="../../df/dac/test_8cpp.html#a529acbd1fed9d98a587edfa62309fa8d">hs</a>-><a class="code" href="../../de/dd0/class_lib_home_screen.html#ab1b0e08bf35415de9064afed899e9f85">set_event_handler</a>(<a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f">LibHomeScreen::Event_TapShortcut</a>, [](<span class="keyword">const</span> <span class="keywordtype">char</span>* application_name){</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  cout << <span class="stringliteral">"set_event_handler Event_TapShortcut application_name = "</span> << application_name << endl;</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  });</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <a class="code" href="../../df/dac/test_8cpp.html#a529acbd1fed9d98a587edfa62309fa8d">hs</a>-><a class="code" href="../../de/dd0/class_lib_home_screen.html#ab1b0e08bf35415de9064afed899e9f85">set_event_handler</a>(<a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d">LibHomeScreen::Event_OnScreenMessage</a>, [](<span class="keyword">const</span> <span class="keywordtype">char</span>* display_message){</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  cout << <span class="stringliteral">"set_event_handler Event_OnScreenMessage display_message = "</span> << display_message << endl;</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  });</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span> </div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keywordflow">if</span> (ret < 0) {</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  printf(<span class="stringliteral">"failed to create event loop"</span>);</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  }</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <a class="code" href="../../df/dac/test_8cpp.html#a529acbd1fed9d98a587edfa62309fa8d">hs</a>-><a class="code" href="../../de/dd0/class_lib_home_screen.html#a32d3282898d0f04151c24b4103511e00">runEventloop</a>();</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <a class="code" href="../../df/dac/test_8cpp.html#aa9b3c43c212b49edee82ac30a11aa255">call_test</a>();</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span> </div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span> }</div><div class="ttc" id="test_8cpp_html_a64a6014565bb3e03294ec4a952d5add0"><div class="ttname"><a href="../../df/dac/test_8cpp.html#a64a6014565bb3e03294ec4a952d5add0">usage</a></div><div class="ttdeci">static void usage()</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dac/test_8cpp_source.html#l00035">test.cpp:35</a></div></div>
+<div class="fragment"><div class="line"><a name="l00118"></a><span class="lineno"> 118</span> {</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <span class="keywordtype">int</span> ret;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="keywordflow">if</span>(argc == 1)</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  {</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  printf(<span class="stringliteral">"Please input port num in first argument, and token in second argument"</span>);</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <a class="code" href="../../df/dac/test_8cpp.html#a64a6014565bb3e03294ec4a952d5add0">usage</a>();</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  }</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <span class="keywordflow">if</span>(argc == 2)</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  {</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <span class="keywordtype">string</span> av(argv[1]);</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <span class="keywordflow">if</span>( (av == <span class="stringliteral">"-h"</span>) || (av == <span class="stringliteral">"--help"</span>))</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  {</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <a class="code" href="../../df/dac/test_8cpp.html#a64a6014565bb3e03294ec4a952d5add0">usage</a>();</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  }</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  }</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keywordtype">string</span> port_string(argv[1]);</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="keywordtype">string</span> token(argv[2]);</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <span class="keywordtype">char</span>* endptr;</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keywordtype">long</span> port = strtol(port_string.c_str(),&endptr,10);</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="comment">/* error check of range */</span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="keywordflow">if</span>( (port > 20000) || (port < 0) )</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  {</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  printf(<span class="stringliteral">"input under 20000(temporary number)"</span>);</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  }</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <span class="keywordflow">if</span>(*endptr != <span class="charliteral">'\0'</span>)</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  {</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  printf(<span class="stringliteral">"not number"</span>);</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  }</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  cout << <span class="stringliteral">"Call test for LibHomeScreen"</span> << endl;</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <a class="code" href="../../df/dac/test_8cpp.html#a529acbd1fed9d98a587edfa62309fa8d">hs</a> = <span class="keyword">new</span> <a class="code" href="../../de/dd0/class_lib_home_screen.html">LibHomeScreen</a>();</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <a class="code" href="../../df/dac/test_8cpp.html#a529acbd1fed9d98a587edfa62309fa8d">hs</a>-><a class="code" href="../../de/dd0/class_lib_home_screen.html#a6a57b573cc767725762ba9beab032220">init</a>(port, token);</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <span class="comment">// hs->registerCallback(&onEv, &onRep);</span></div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <span class="comment">//</span></div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <span class="comment">// hs->subscribe(event_list[0]); // tap_shortcut event subscribe</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <span class="comment">// hs->subscribe(event_list[1]);</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <a class="code" href="../../df/dac/test_8cpp.html#a529acbd1fed9d98a587edfa62309fa8d">hs</a>-><a class="code" href="../../de/dd0/class_lib_home_screen.html#ab1b0e08bf35415de9064afed899e9f85">set_event_handler</a>(<a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154a4b0a82d501e4db5fbfe25c254c92896f">LibHomeScreen::Event_TapShortcut</a>, [](json_object *<span class="keywordtype">object</span>){</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *application_name = json_object_get_string(</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  json_object_object_get(<span class="keywordtype">object</span>, <span class="stringliteral">"application_name"</span>));</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  cout << <span class="stringliteral">"set_event_handler Event_TapShortcut application_name = "</span> << application_name << endl;</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  });</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span> </div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <a class="code" href="../../df/dac/test_8cpp.html#a529acbd1fed9d98a587edfa62309fa8d">hs</a>-><a class="code" href="../../de/dd0/class_lib_home_screen.html#ab1b0e08bf35415de9064afed899e9f85">set_event_handler</a>(<a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154aea56fa32a124a8ddcbea127755280a1d">LibHomeScreen::Event_OnScreenMessage</a>, [](json_object *<span class="keywordtype">object</span>){</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *display_message = json_object_get_string(</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  json_object_object_get(<span class="keywordtype">object</span>, <span class="stringliteral">"display_message"</span>));</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  cout << <span class="stringliteral">"set_event_handler Event_OnScreenMessage display_message = "</span> << display_message << endl;</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  });</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <a class="code" href="../../df/dac/test_8cpp.html#a529acbd1fed9d98a587edfa62309fa8d">hs</a>-><a class="code" href="../../de/dd0/class_lib_home_screen.html#ab1b0e08bf35415de9064afed899e9f85">set_event_handler</a>(<a class="code" href="../../de/dd0/class_lib_home_screen.html#a82616c91ac211d2ad08e709b524bf154acae91db4efc2394fd701f581d277a3fd">LibHomeScreen::Event_OnScreenReply</a>, [](json_object *<span class="keywordtype">object</span>){</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *reply_message = json_object_get_string(</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  json_object_object_get(<span class="keywordtype">object</span>, <span class="stringliteral">"reply_message"</span>));</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  cout << <span class="stringliteral">"set_event_handler Event_OnScreenReply reply_message = "</span> << reply_message << endl;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  });</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span> </div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  <span class="keywordflow">if</span> (ret < 0) {</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  printf(<span class="stringliteral">"failed to create event loop"</span>);</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  }</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  <a class="code" href="../../df/dac/test_8cpp.html#aa9b3c43c212b49edee82ac30a11aa255">call_test</a>();</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span> }</div><div class="ttc" id="test_8cpp_html_a64a6014565bb3e03294ec4a952d5add0"><div class="ttname"><a href="../../df/dac/test_8cpp.html#a64a6014565bb3e03294ec4a952d5add0">usage</a></div><div class="ttdeci">static void usage()</div><div class="ttdef"><b>Definition:</b> <a href="../../df/dac/test_8cpp_source.html#l00035">test.cpp:35</a></div></div>