arnaucube
arnaucube/openEventsPlatformAppPublic Self-hosted repository
openEventsPlatformApp/plugins/cordova-plugin-file/www/ubuntu/fileSystems-roots.js
plugins/cordova-plugin-file/www/ubuntu/fileSystems-roots.jsRaw
 1/*
 2 *
 3 * Licensed to the Apache Software Foundation (ASF) under one
 4 * or more contributor license agreements.  See the NOTICE file
 5 * distributed with this work for additional information
 6 * regarding copyright ownership.  The ASF licenses this file
 7 * to you under the Apache License, Version 2.0 (the
 8 * "License"); you may not use this file except in compliance
 9 * with the License.  You may obtain a copy of the License at
10 *
11 *   http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing,
14 * software distributed under the License is distributed on an
15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 * KIND, either express or implied.  See the License for the
17 * specific language governing permissions and limitations
18 * under the License.
19 *
20*/
21
22var fsMap = null;
23var FileSystem = require('./FileSystem');
24var LocalFileSystem = require('./LocalFileSystem');
25var exec = require('cordova/exec');
26
27var requestFileSystem = function(type, size, successCallback) {
28    var success = function(file_system) {
29        if (file_system) {
30            if (successCallback) {
31                var fs = new FileSystem(file_system.name, file_system.root);
32                successCallback(fs);
33            }
34        }
35    };
36    exec(success, null, "File", "requestFileSystem", [type, size]);
37};
38
39require('./fileSystems').getFs = function(name, callback) {
40    if (fsMap) {
41        callback(fsMap[name]);
42    } else {
43        requestFileSystem(LocalFileSystem.PERSISTENT, 1, function(fs) {
44            requestFileSystem(LocalFileSystem.TEMPORARY, 1, function(tmp) {
45                fsMap = {};
46                fsMap[tmp.name] = tmp;
47                fsMap[fs.name] = fs;
48                callback(fsMap[name]);
49            });
50        });
51    }
52};
53