gecko-dev/dom/webidl/DeviceStorage.webidl

96 lines
3.1 KiB
Plaintext

/* -*- 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
* 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/. */
dictionary DeviceStorageEnumerationParameters {
Date since;
};
[Pref="device.storage.enabled"]
interface DeviceStorage : EventTarget {
attribute EventHandler onchange;
[Throws]
DOMRequest? add(Blob? aBlob);
[Throws]
DOMRequest? addNamed(Blob? aBlob, DOMString aName);
/**
* 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);
[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();
[Throws]
DOMRequest storageStatus();
[Throws]
DOMRequest format();
[Throws]
DOMRequest mount();
[Throws]
DOMRequest unmount();
// Note that the storageName is just a name (like sdcard), and doesn't
// include any path information.
readonly attribute DOMString storageName;
// 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;
// Determines if this storage area is the one which will be used by default
// for storing new files.
readonly attribute boolean default;
// Indicates if the storage area denoted by storageName is removable
readonly attribute boolean isRemovable;
// True if the storage area is close to being full
readonly attribute boolean lowDiskSpace;
[NewObject]
// XXXbz what type does this really return?
Promise<any> getRoot();
};