From 659ec643fbe21332e464201206a0e70bdffd90a7 Mon Sep 17 00:00:00 2001 From: DongHyun Song Date: Wed, 7 Jul 2021 17:53:21 +0900 Subject: [PATCH] [Service] Change a way to apply virtual path Not only tizen.filesystem, File object of webapis can use virtual path. But wrtjs side cannot access File object prototype directly Thus, basically, if we can change virtual path map in webapis side, that is best solution. Reference: https://review.tizen.org/gerrit/#/c/platform/core/api/webapi-plugins/+/260943/2 Change-Id: I858ebe853ddd719515dc30616f8f92d8ba91ace1 Signed-off-by: DongHyun Song --- wrt_app/service/device_api_router.ts | 27 +++++---------------------- 1 file changed, 5 insertions(+), 22 deletions(-) diff --git a/wrt_app/service/device_api_router.ts b/wrt_app/service/device_api_router.ts index ae2fd53..5dda076 100644 --- a/wrt_app/service/device_api_router.ts +++ b/wrt_app/service/device_api_router.ts @@ -309,29 +309,12 @@ export class DeviceAPIRouter { } } - injectVirtualRootResolver(func: Function) { - return (...args: any[]) => { - if (args.length && !(args[0] === null || args[0] === undefined)) { - args[0] = wrt.resolveVirtualRoot(this.getServiceId(), args[0]); - console.log('updated argument[0] : ' + args[0]); - } - return func.apply(global.tizen.filesystem, args); - } - } - refineFilesystemApis() { - global.tizen.filesystem.resolve = this.injectVirtualRootResolver(global.tizen.filesystem.resolve); - global.tizen.filesystem.listDirectory = this.injectVirtualRootResolver(global.tizen.filesystem.listDirectory); - global.tizen.filesystem.createDirectory = this.injectVirtualRootResolver(global.tizen.filesystem.createDirectory); - global.tizen.filesystem.deleteDirectory = this.injectVirtualRootResolver(global.tizen.filesystem.deleteDirectory); - global.tizen.filesystem.openFile = this.injectVirtualRootResolver(global.tizen.filesystem.openFile); - global.tizen.filesystem.deleteFile = this.injectVirtualRootResolver(global.tizen.filesystem.deleteFile); - global.tizen.filesystem.moveFile = this.injectVirtualRootResolver(global.tizen.filesystem.moveFile); - global.tizen.filesystem.copyFile = this.injectVirtualRootResolver(global.tizen.filesystem.copyFile); - global.tizen.filesystem.isFile = this.injectVirtualRootResolver(global.tizen.filesystem.isFile); - global.tizen.filesystem.toURI = this.injectVirtualRootResolver(global.tizen.filesystem.toURI); - global.tizen.filesystem.isDirectory = this.injectVirtualRootResolver(global.tizen.filesystem.isDirectory); - global.tizen.filesystem.pathExists = this.injectVirtualRootResolver(global.tizen.filesystem.pathExists); + let virtualPath = ['wgt-private', 'wgt-private-tmp', 'wgt-package']; + virtualPath.forEach(name => { + let realPath = wrt.resolveVirtualRoot(this.getServiceId(), name); + global.tizen.filesystem.setVirtualPath?.(name, realPath, 'INTERVAL', 'MOUNTED'); + }); } refineXwalkUtilApis() { -- 2.7.4