--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<widget xmlns:tizen="http://tizen.org/ns/widgets" xmlns="http://www.w3.org/ns/widgets" id="http://yourdomain/MessagePortHelper" version="1.0.0" viewmodes="maximized">
+ <tizen:application id="bd2Z8dYMp1.MessagePortHelper" package="bd2Z8dYMp1" required_version="2.4"/>
+ <tizen:background-category value="background-network"/>
+ <content src="index.html"/>
+ <feature name="http://tizen.org/feature/screen.size.all"/>
+ <icon src="icon.png"/>
+ <name>MessagePortHelper</name>
+ <tizen:profile name="mobile"/>
+ <tizen:setting screen-orientation="portrait" context-menu="enable" background-support="enable" encryption="disable" install-location="auto" hwkey-event="enable"/>
+</widget>
--- /dev/null
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8" />
+<meta name="viewport"
+ content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
+<meta name="description"
+ content="Tizen basic template generated by Tizen Web IDE" />
+
+<title>Tizen TCT Message Port Helper</title>
+
+<link rel="stylesheet" type="text/css" href="css/style.css" />
+<script src="js/main.js"></script>
+</head>
+
+<body>
+ <header>
+ <hgroup>
+ <h1>Message Port Helper</h1>
+ </hgroup>
+ </header>
+
+ <nav>
+ <button id="btn" onclick="clearLog();">Clear Log</button>
+ </nav>
+
+
+ <section>
+ <div id="time"></div>
+ <div id="log"></div>
+ </section>
+
+
+ <footer>
+ <p>© 2016 Samsung Electronics. All rights reserved.</p>
+ </footer>
+
+</body>
+</html>
--- /dev/null
+//Initialize function
+var init = function() {
+ // TODO:: Do your initialization job
+ console.log("init() called");
+
+ // add eventListener for tizenhwkey
+ document.addEventListener('tizenhwkey', function(e) {
+ if (e.keyName == "back") {
+ try {
+ tizen.application.getCurrentApplication().exit();
+ } catch (error) {
+ console.error("getCurrentApplication(): " + error.message);
+ }
+ }
+ });
+ initMessagePort();
+};
+// window.onload can work without <body onload="">
+window.onload = init;
+function log(string) {
+ var child = document.getElementById('log');
+ child.innerHTML += "\n" + string;
+}
+var i = 0;
+
+function initMessagePort() {
+
+ setInterval(function() {
+
+ var child = document.getElementById('time');
+ child.innerHTML = "ELAPSED TIME : " + i + " s";
+ i++;
+
+ }, 1000);
+
+/* function onreceived(data, remoteMsgPort) {
+ log(i + " " + remoteMsgPort.appId);
+ log(i + " " + data.length);
+ remoteMsgPort.sendMessage(data);
+ }
+ function ontrustedreceived(data, remoteMsgPort) {
+ remoteMsgPort.sendMessage(data, trustedLocalMsgPort);
+ }
+*/
+
+ function onreceived(data, remoteMsgPort) {
+ if (data[0].key === "data_with_remoteMessagePort") {
+ if (remoteMsgPort.isTrusted) {
+ remoteMsgPort.sendMessage(data, localMsgPort);
+ } else {
+ remoteMsgPort.sendMessage(data, trustedLocalMsgPort);
+ }
+ } else if (data[0].key === "data_wo_remoteMessagePort") {
+ remoteMsgPort.sendMessage(data);
+
+ } else if (data[0].key === "data") {
+ remoteMsgPort.sendMessage(data);
+
+ } else {
+ remoteMsgPort.sendMessage(data);
+ }
+ }
+
+ try {
+ var localMsgPort = tizen.messageport
+ .requestLocalMessagePort('my_test_remote_port');
+ log("localMsgPort : " + localMsgPort);
+ var trustedLocalMsgPort = tizen.messageport
+ .requestTrustedLocalMessagePort('my_trusted_test_remote_port');
+ log("trustedLocalMsgPort : " + trustedLocalMsgPort);
+
+
+ var watchId = localMsgPort.addMessagePortListener(onreceived);
+ log("watchId : " + watchId);
+ var trustedWatchId = trustedLocalMsgPort.addMessagePortListener(onreceived);
+ log("trustedWatchId : " + trustedWatchId);
+
+
+ } catch (e) {
+ log(e.name + e.message);
+ }
+}
+
+function clearLog() {
+ var child = document.getElementById('log');
+ child.innerHTML = " ";
+}