[M85][MDE] Support MDE interfaces 23/252423/1 submit/tizen/20210201.160019
authorYoungsoo Choi <kenshin.choi@samsung.com>
Thu, 28 Jan 2021 02:51:40 +0000 (11:51 +0900)
committerYoungsoo Choi <kenshin.choi@samsung.com>
Thu, 28 Jan 2021 02:58:29 +0000 (11:58 +0900)
This supports MDE interfaces.

Reference:
https://review.tizen.org/gerrit/248308

Together with:
https://review.tizen.org/gerrit/252383

Change-Id: Ifa6f5d96606979918d4b134abcd48405e5e4654b
Signed-off-by: Youngsoo Choi <kenshin.choi@samsung.com>
wrt_app/service/device_api_router.ts

index 735eb57..9e2495b 100644 (file)
@@ -64,9 +64,38 @@ export class DeviceAPIRouter {
       getServiceId: { writable: false, enumerable: true },
       postPlainNotification: { writable: false, enumerable: true },
     });
+    this.initMDEWebapis();
     this.initProductWebapis();
   }
 
+  initMDEWebapis() {
+    if (wrt['mde'] && !global.webapis.mde) {
+      let mde = wrt.mde as NativeWRTjs.MDEExtension;
+      global.webapis.mde = {};
+      if (wrt.tv) {
+        global.webapis.mde.deInitVirtualEventGenerator = (type: number) => {
+          return mde.deInitVirtualEventGenerator(type);
+        }
+        global.webapis.mde.generateVirtualKeyEvent = (keycode: number, state: number) => {
+          return mde.generateVirtualKeyEvent(keycode, state);
+        }
+        global.webapis.mde.generateVirtualMouseButtonEvent = (button: number, status: number) => {
+          return mde.generateVirtualMouseButtonEvent(button, status);
+        }
+        global.webapis.mde.generateVirtualMouseMoveEvent = (x: number, y: number, move_count: number) => {
+          return mde.generateVirtualMouseMoveEvent(x, y, move_count);
+        }
+        global.webapis.mde.initVirtualEventGenerator = (type: number) => {
+          return mde.initVirtualEventGenerator(type);
+        }
+      }
+      global.webapis.mde.launchBrowserFromUrl = (url: string) => {
+        return mde.launchBrowserFromUrl(url);
+      }
+      Object.defineProperty(global.webapis, 'mde', { writable: false, enumerable: true });
+    }
+  }
+
   initProductWebapis() {
     // for TV profile
     if (wrt.tv && !global.webapis.productinfo) {