arnaucube
arnaucube/openEventsPlatformAppPublic Self-hosted repository
openEventsPlatformApp/plugins/cordova-plugin-file/www/fileSystems-roots.js
plugins/cordova-plugin-file/www/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
22// Map of fsName -> FileSystem.
23var fsMap = null;
24var FileSystem = require('./FileSystem');
25var exec = require('cordova/exec');
26
27// Overridden by Android, BlackBerry 10 and iOS to populate fsMap.
28require('./fileSystems').getFs = function(name, callback) {
29    function success(response) {
30        fsMap = {};
31        for (var i = 0; i < response.length; ++i) {
32            var fsRoot = response[i];
33            var fs = new FileSystem(fsRoot.filesystemName, fsRoot);
34            fsMap[fs.name] = fs;
35        }
36        callback(fsMap[name]);
37    }
38
39    if (fsMap) {
40        callback(fsMap[name]);
41    } else {
42        exec(success, null, "File", "requestAllFileSystems", []);
43    }
44};
45