[Archive] Removed hardcoded paths.
authorPawel Andruszkiewicz <p.andruszkie@samsung.com>
Wed, 3 Jun 2015 08:47:39 +0000 (10:47 +0200)
committerPawel Andruszkiewicz <p.andruszkie@samsung.com>
Wed, 3 Jun 2015 08:47:39 +0000 (10:47 +0200)
[Verification] TCT pass rate: 106/106.

Change-Id: I01ad553e144df201e25bb45446f83d038343456d
Signed-off-by: Pawel Andruszkiewicz <p.andruszkie@samsung.com>
src/archive/archive_api.js
src/archive/archive_instance.cc
src/archive/archive_instance.h

index 0f4ede18307a639ad657108aad0e2acc29cadb27..95e148bd06b179d57e9cb546490288007475b125 100755 (executable)
@@ -20,41 +20,18 @@ var bridge = xwalk.utils.NativeBridge(extension, true);
 
 function CommonFS() {};
 
-CommonFS.cacheVirtualToReal = {
-    'downloads' : {
-        path : '/opt/usr/media/Downloads'
-    },
-    'documents' : {
-        path : '/opt/usr/media/Documents'
-    },
-    'music' : {
-        path : '/opt/usr/media/Sounds'
-    },
-    'images' : {
-        path : '/opt/usr/media/Images'
-    },
-    'videos' : {
-        path : '/opt/usr/media/Videos'
-    },
-    'ringtones' : {
-        path : '/opt/usr/share/settings/Ringtones'
-    }
-};
+CommonFS.cacheVirtualToReal = {};
 
 function _initializeCache() {
     try {
         var result = bridge.sync({
-            cmd: 'Filesystem_getWidgetPaths'
+            cmd: 'Archive_fetchVirtualRoots'
         });
-        CommonFS.cacheVirtualToReal['wgt-package'] = {
-                path: result['wgt-package']
-        };
-        CommonFS.cacheVirtualToReal['wgt-private'] = {
-                path: result['wgt-private']
-        };
-        CommonFS.cacheVirtualToReal['wgt-private-tmp'] = {
-                path: result['wgt-private-tmp']
-        };
+        for (var i = 0; i < result.length; ++i) {
+          CommonFS.cacheVirtualToReal[result[i].name] = {
+            path: result[i].path
+          };
+        }
     } catch(e) {
         console.log("Exception while getting widget paths was thrown: " + e);
     }
index 4f8d33b142f00e78883102aa2c2846b9b73a02fe..478042618be2be8b4ff40deabbbbc29c3b40566a 100755 (executable)
@@ -36,9 +36,6 @@ namespace archive {
 using namespace common;
 
 namespace {
-const std::string kWgtPackagePathName = "wgt-package";
-const std::string kWgtPrivatePathName = "wgt-private";
-const std::string kWgtPrivateTmpPathName = "wgt-private-tmp";
 
 const std::string kArchiveFileEntryOptDest = "destination";
 const std::string kArchiveFileEntryOptStrip = "stripSourceDirectory";
@@ -48,6 +45,7 @@ const std::string kNoCompressionStr = "STORE";
 const std::string kFastCompressionStr = "FAST";
 const std::string kNormalCompressionStr = "NORMAL";
 const std::string kBestCompressionStr = "BEST";
+
 } // namespace
 
 ArchiveInstance::ArchiveInstance() {
@@ -72,7 +70,7 @@ ArchiveInstance::ArchiveInstance() {
 
     REGISTER_ASYNC("ArchiveFileEntry_extract", Extract);
 
-    REGISTER_SYNC("Filesystem_getWidgetPaths", GetWidgetPaths);
+    REGISTER_SYNC("Archive_fetchVirtualRoots", FetchVirtualRoots);
 
     #undef REGISTER_ASYNC
     #undef REGISTER_SYNC
@@ -586,27 +584,14 @@ void ArchiveInstance::Extract(const picojson::value& args, picojson::object& out
     }
 }
 
-void ArchiveInstance::GetWidgetPaths(const picojson::value& args, picojson::object& out) {
+void ArchiveInstance::FetchVirtualRoots(const picojson::value& args, picojson::object& out) {
     LoggerD("Entered");
 
-    std::string wgt_package_path =
-        *(common::VirtualFs::GetInstance().GetVirtualRootDirectory(kWgtPackagePathName));
-    std::string wgt_private_path =
-        *(common::VirtualFs::GetInstance().GetVirtualRootDirectory(kWgtPrivatePathName));
-    std::string wgt_private_tmp_path =
-        *(common::VirtualFs::GetInstance().GetVirtualRootDirectory(kWgtPrivateTmpPathName));
-    LoggerD("wgt-package path: %s", wgt_package_path.c_str());
-    LoggerD("wgt-private path: %s", wgt_private_path.c_str());
-    LoggerD("wgt-private-tmp path: %s", wgt_private_tmp_path.c_str());
-
-    // Construction of the response
-    picojson::value result{picojson::object()};
-    auto& result_obj = result.get<picojson::object>();
-    result_obj.insert(std::make_pair(kWgtPackagePathName, picojson::value(wgt_package_path)));
-    result_obj.insert(std::make_pair(kWgtPrivatePathName, picojson::value(wgt_private_path)));
-    result_obj.insert(std::make_pair(kWgtPrivateTmpPathName, picojson::value(wgt_private_tmp_path)));
-
-    ReportSuccess(result, out);
+    picojson::array roots;
+    for (const auto& root : common::VirtualFs::GetInstance().GetVirtualRoots()) {
+      roots.push_back(root.ToJson());
+    }
+    ReportSuccess(picojson::value(roots), out);
 }
 
 } // namespace archive
index c6265b24e3135a0847934a30591ae3a265c58897..355aa92c9617ce3beaf8460c713dd6e4cfc975c5 100755 (executable)
@@ -48,7 +48,7 @@ private:
     void Extract(const picojson::value& args, picojson::object& out);
 
     /* Filesystem related method */
-    void GetWidgetPaths(const picojson::value& args, picojson::object& out);
+    void FetchVirtualRoots(const picojson::value& args, picojson::object& out);
 
     void PostError(const common::PlatformException& e, double callback_id);
     void PostError(const common::PlatformResult& e, double callback_id);