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);
}
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";
const std::string kFastCompressionStr = "FAST";
const std::string kNormalCompressionStr = "NORMAL";
const std::string kBestCompressionStr = "BEST";
+
} // namespace
ArchiveInstance::ArchiveInstance() {
REGISTER_ASYNC("ArchiveFileEntry_extract", Extract);
- REGISTER_SYNC("Filesystem_getWidgetPaths", GetWidgetPaths);
+ REGISTER_SYNC("Archive_fetchVirtualRoots", FetchVirtualRoots);
#undef REGISTER_ASYNC
#undef REGISTER_SYNC
}
}
-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
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);