[Messageport] Update dev guide and tutorial
authorPiotr Czaja <p.czaja@samsung.com>
Wed, 3 Feb 2016 09:49:45 +0000 (10:49 +0100)
committerPiotr Czaja <p.czaja@samsung.com>
Thu, 4 Feb 2016 06:33:45 +0000 (07:33 +0100)
Change-Id: I7267fbbe181bd85f0dbbb076679595a8c115f398
Signed-off-by: Piotr Czaja <p.czaja@samsung.com>
org.tizen.guides/html/web/tizen/application/message_port_w.htm
org.tizen.tutorials/html/web/tizen/application/message_port_tutorial_w.htm

index d3ca912..13fa416 100644 (file)
@@ -32,7 +32,7 @@
 <div id="container"><div id="contents"><div class="content">
 <h1>Message Port</h1>
  
-  <p>Tizen Web applications can communicate with other Web or native applications. The message data type for the communication is map data, which consists of a string key and value pair.</p>
+  <p>Tizen Web applications can communicate with other Web or native applications. The message data type for the communication is map data, which consists of a string key and value that can be string, string array, byte stream or byte stream array.</p>
   
 <p>The Message Port API is mandatory for both Tizen mobile and wearable profiles, which means that it is supported in all mobile and wearable devices. All mandatory APIs are supported on the Tizen Emulators.</p> 
   
@@ -79,4 +79,4 @@ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga
 </script>
 
 </body>
-</html>
\ No newline at end of file
+</html>
index 2622c29..0a0225a 100644 (file)
@@ -67,7 +67,34 @@ var localPortWatchId = localPort.addMessagePortListener(function(data, replyPort
 {
 &nbsp;&nbsp;&nbsp;for (var i = 0; i &lt; data.length; i++)
 &nbsp;&nbsp;&nbsp;{
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(&quot;key:&quot; + data[i].key + &quot; / value:&quot; + data[i].value);
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var key = data[i].key;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;switch(key)
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case &quot;command&quot;:
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(&quot;key:&quot; + key + &quot; / value:&quot; + data[i].value);
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case &quot;data&quot;:
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case &quot;byteData&quot;:
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(&quot;key:&quot; + key + &quot; / value:[&quot;);
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (var j = 0; j &lt; data[i].value.length; j++)
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(data[i].value[j] + &quot;, &quot;)
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(&quot;]&quot;);
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case &quot;bytesData&quot;:
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(&quot;key:&quot; + key + &quot; / value:[&quot;);
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (var j = 0; j &lt; data[i].value.length; j++)
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(&quot;[&quot;);
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (var k = 0; k &lt; data[i].value.length; k++)
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(data[i].value[j] + &quot;, &quot;)
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(&quot;]&quot;);
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(&quot;]&quot;);
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
 &nbsp;&nbsp;&nbsp;}
 &nbsp;&nbsp;&nbsp;if (replyPort) 
 &nbsp;&nbsp;&nbsp;{
@@ -79,7 +106,21 @@ var localPortWatchId = localPort.addMessagePortListener(function(data, replyPort
 var messageData = 
 [
 &nbsp;&nbsp;&nbsp;{key:&quot;command&quot;, value:&quot;begin&quot;},
-&nbsp;&nbsp;&nbsp;{key:&quot;data&quot;, value:&quot;dummy&quot;}
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
+&nbsp;&nbsp;&nbsp;}
+&nbsp;&nbsp;&nbsp;if (replyPort)
+&nbsp;&nbsp;&nbsp;{
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(&quot;replyPort given: &quot; + replyPort.messagePortName);
+&nbsp;&nbsp;&nbsp;}
+});
+</pre> </li>
+<li><p>Use the <span style="font-family: Courier New,Courier,monospace">sendMessage()</span> method of the <span style="font-family: Courier New,Courier,monospace">RemoteMessagePort</span> interface to send a message:</p> <pre class="prettyprint">
+var messageData =
+[
+&nbsp;&nbsp;&nbsp;{key:&quot;command&quot;, value:&quot;begin&quot;},
+&nbsp;&nbsp;&nbsp;{key:&quot;data&quot;, value:{&quot;dummy1&quot;, &quot;dummy2&quot;}},
+&nbsp;&nbsp;&nbsp;{key:&quot;byteData&quot;, value:[12, 23, 34, 45, 56, 67, 78]},
+&nbsp;&nbsp;&nbsp;{key:&quot;bytesData&quot;, value:[[1, 2, 3, 255], [8, 9, 3, 4, 5]]}
 ];
 remotePort.sendMessage(messageData);
 </pre>