[Verification] Code compiles without errors.
Change-Id: I579c66de4328e41c643e139f52a4d3ad9471beab
Signed-off-by: Tomasz Marciniak <t.marciniak@samsung.com>
// TODO: remove -> end
var pathsPrefix = {
- // TODO: add other directories
- // Read-only directory where the application is installed.
- applicationDirectory: 'wgt-package/'
+ applicationDirectory: 'wgt-package/',
+ dataDirectory: 'wgt-private/',
+ cacheDirectory:'wgt-private-tmp/',
+ sharedDirectory: '/opt/usr/media/',
};
+function setExternalStorage(successCallback, errorCallback) {
+ var onSuccess = function(storages) {
+ for (var i = 0; i < storages.length; i++) {
+ if (storages[i].type === 'EXTERNAL' && storages[i].state === 'MOUNTED') {
+ pathsPrefix.externalRootDirectory = storages[i].label + '/';
+ successCallback && successCallback(pathsPrefix);
+ return;
+ }
+ }
+ }
+
+ var onError = function(error) {
+ console.error("Failed to get external storage: " + error.message);
+ errorCallback && errorCallback(ConvErrorCode(error.code));
+ }
+
+ tizen.filesystem.listStorages(onSuccess, onError);
+}
+
+function setApplicationStorageDirectory(successCallback, errorCallback) {
+ try {
+ var app = tizen.application.getCurrentApplication();
+ pathsPrefix.applicationStorageDirectory = '/opt/usr/apps/' + app.appInfo.packageId + '/';
+ setExternalStorage(successCallback, errorCallback);
+ } catch(error) {
+ errorCallback && errorCallback(ConvErrorCode(error.code));
+ }
+}
+
module.exports = {
requestAllPaths: function(successCallback, errorCallback, args) {
- successCallback(pathsPrefix);
+ setApplicationStorageDirectory(successCallback, errorCallback);
}
};
// TODO: remove -> end
module.exports = {
- requestFileSystem: function(successCallback, errorCallback, args) {}
+ requestFileSystem: function(successCallback, errorCallback, args) {
+ var type = args[0];
+
+ //TEMPORARY = 0 PERSISTENT = 1 cordova layer checks only if type is less than 0
+ if (type >= 2) {
+ errorCallback && errorCallback(FileError.TYPE_MISMATCH_ERR);
+ return;
+ }
+
+ var path = type === LocalFileSystem.PERSISTENT ?
+ cordova.file.dataDirectory : cordova.file.cacheDirectory;
+
+ var filesystem = rootsUtils.findFilesystem(path.substr(0, path.length-1));
+
+ if (filesystem.filesystemName !== 'temporary' && filesystem.filesystemName !== 'persistent') {
+ errorCallback && errorCallback(FileError.NOT_FOUND_ERR);
+ return;
+ }
+
+ var root = {
+ 'name' : filesystem.name,
+ 'fullPath' : filesystem.fullPath,
+ 'nativeURL' : filesystem.nativeURL,
+ };
+
+ successCallback({'name' : filesystem.filesystemName, 'root' : root});
+ }
};
//TODO: remove when added to public cordova repository -> begin
// TODO: remove -> end
module.exports = {
- resolveLocalFileSystemURI: function(successCallback, errorCallback, args) {}
+ resolveLocalFileSystemURI: function(successCallback, errorCallback, args) {
+ var path = args[0];
+
+ function onResolve(file) {
+ var filesystem = rootsUtils.findFilesystem(file.toURI());
+
+ var entry = {
+ 'filesystemName' : filesystem.filesystemName,
+ 'name' : file.name,
+ 'fullPath' : file.fullPath,
+ 'isDirectory' : file.isDirectory,
+ 'nativeURL' : file.toURI(),
+ };
+ successCallback(entry);
+ }
+
+ function onError(error) {
+ errorCallback && errorCallback(ConvErrorCode(error.code));
+ }
+
+ tizen.filesystem.resolve(path, onResolve, onError, 'r');
+ }
};
//TODO: remove when added to public cordova repository -> begin