2013-05-18 05:48:25 +04:00
|
|
|
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
2013-06-01 10:56:00 +04:00
|
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
2013-05-18 05:48:25 +04:00
|
|
|
|
|
|
|
dictionary DeviceStorageEnumerationParameters {
|
|
|
|
Date since;
|
|
|
|
};
|
|
|
|
|
2015-01-12 19:52:20 +03:00
|
|
|
[Pref="device.storage.enabled"]
|
2013-06-01 10:56:00 +04:00
|
|
|
interface DeviceStorage : EventTarget {
|
|
|
|
attribute EventHandler onchange;
|
|
|
|
|
|
|
|
[Throws]
|
|
|
|
DOMRequest? add(Blob? aBlob);
|
|
|
|
[Throws]
|
|
|
|
DOMRequest? addNamed(Blob? aBlob, DOMString aName);
|
|
|
|
|
2014-06-17 11:08:56 +04:00
|
|
|
/**
|
|
|
|
* Append data to a given file.
|
|
|
|
* If the file doesn't exist, a "NotFoundError" event will be dispatched.
|
|
|
|
* In the same time, it is a request.onerror case.
|
|
|
|
* If the file exists, it will be opened with the following permission:
|
|
|
|
* "PR_WRONLY|PR_CREATE_FILE|PR_APPEND".
|
|
|
|
* The function will return null when blob file is null and other unexpected situations.
|
|
|
|
* @parameter aBlob: A Blob object representing the data to append
|
|
|
|
* @parameter aName: A string representing the full name (path + file name) of the file
|
|
|
|
* to append data to.
|
|
|
|
*/
|
|
|
|
[Throws]
|
|
|
|
DOMRequest? appendNamed(Blob? aBlob, DOMString aName);
|
|
|
|
|
2013-06-01 10:56:00 +04:00
|
|
|
[Throws]
|
|
|
|
DOMRequest get(DOMString aName);
|
|
|
|
[Throws]
|
|
|
|
DOMRequest getEditable(DOMString aName);
|
|
|
|
[Throws]
|
|
|
|
DOMRequest delete(DOMString aName);
|
|
|
|
|
|
|
|
[Throws]
|
|
|
|
DOMCursor enumerate(optional DeviceStorageEnumerationParameters options);
|
|
|
|
[Throws]
|
|
|
|
DOMCursor enumerate(DOMString path,
|
|
|
|
optional DeviceStorageEnumerationParameters options);
|
|
|
|
[Throws]
|
|
|
|
DOMCursor enumerateEditable(optional DeviceStorageEnumerationParameters options);
|
|
|
|
[Throws]
|
|
|
|
DOMCursor enumerateEditable(DOMString path,
|
|
|
|
optional DeviceStorageEnumerationParameters options);
|
|
|
|
|
|
|
|
[Throws]
|
|
|
|
DOMRequest freeSpace();
|
|
|
|
[Throws]
|
|
|
|
DOMRequest usedSpace();
|
|
|
|
[Throws]
|
|
|
|
DOMRequest available();
|
2013-09-06 10:11:58 +04:00
|
|
|
[Throws]
|
2014-02-19 06:48:05 +04:00
|
|
|
DOMRequest storageStatus();
|
|
|
|
[Throws]
|
2013-09-06 10:11:58 +04:00
|
|
|
DOMRequest format();
|
2014-03-04 15:24:19 +04:00
|
|
|
[Throws]
|
|
|
|
DOMRequest mount();
|
|
|
|
[Throws]
|
|
|
|
DOMRequest unmount();
|
2013-06-01 10:56:00 +04:00
|
|
|
|
|
|
|
// Note that the storageName is just a name (like sdcard), and doesn't
|
|
|
|
// include any path information.
|
|
|
|
readonly attribute DOMString storageName;
|
2013-06-12 20:30:23 +04:00
|
|
|
|
2014-05-14 02:48:06 +04:00
|
|
|
// Indicates if the storage area denoted by storageName is capable of
|
|
|
|
// being mounted and unmounted.
|
|
|
|
readonly attribute boolean canBeMounted;
|
|
|
|
|
|
|
|
// Indicates if the storage area denoted by storageName is capable of
|
|
|
|
// being shared and unshared.
|
|
|
|
readonly attribute boolean canBeShared;
|
|
|
|
|
|
|
|
// Indicates if the storage area denoted by storageName is capable of
|
|
|
|
// being formatted.
|
|
|
|
readonly attribute boolean canBeFormatted;
|
|
|
|
|
2013-06-12 20:30:23 +04:00
|
|
|
// Determines if this storage area is the one which will be used by default
|
|
|
|
// for storing new files.
|
|
|
|
readonly attribute boolean default;
|
2014-03-05 07:26:39 +04:00
|
|
|
|
2014-12-22 05:33:33 +03:00
|
|
|
// Indicates if the storage area denoted by storageName is removable
|
|
|
|
readonly attribute boolean isRemovable;
|
|
|
|
|
2015-09-16 23:29:56 +03:00
|
|
|
// True if the storage area is close to being full
|
|
|
|
readonly attribute boolean lowDiskSpace;
|
|
|
|
|
2015-01-12 19:52:25 +03:00
|
|
|
[NewObject]
|
2014-08-01 07:50:30 +04:00
|
|
|
// XXXbz what type does this really return?
|
|
|
|
Promise<any> getRoot();
|
2013-06-01 10:56:00 +04:00
|
|
|
};
|