Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Side by Side Diff: chrome/common/extensions/api/system_storage.idl

Issue 389633002: Move system.* family of APIs to extensions/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 // Use the <code>chrome.system.storage</code> API to query storage device
6 // information and be notified when a removable storage device is attached and
7 // detached.
8 namespace system.storage {
9
10 enum StorageUnitType {
11 // The storage has fixed media, e.g. hard disk or SSD.
12 fixed,
13 // The storage is removable, e.g. USB flash drive.
14 removable,
15 // The storage type is unknown.
16 unknown
17 };
18
19 dictionary StorageUnitInfo {
20 // The transient ID that uniquely identifies the storage device.
21 // This ID will be persistent within the same run of a single application.
22 // It will not be a persistent identifier between different runs of an
23 // application, or between different applications.
24 DOMString id;
25 // The name of the storage unit.
26 DOMString name;
27 // The media type of the storage unit.
28 StorageUnitType type;
29 // The total amount of the storage space, in bytes.
30 double capacity;
31 };
32
33 dictionary StorageAvailableCapacityInfo {
34 // A copied |id| of getAvailableCapacity function parameter |id|.
35 DOMString id;
36 // The available capacity of the storage device, in bytes.
37 double availableCapacity;
38 };
39
40 [inline_doc] enum EjectDeviceResultCode {
41 // The ejection command is successful -- the application can prompt the user
42 // to remove the device.
43 success,
44 // The device is in use by another application. The ejection did not
45 // succeed; the user should not remove the device until the other
46 // application is done with the device.
47 in_use,
48 // There is no such device known.
49 no_such_device,
50 // The ejection command failed.
51 failure
52 };
53
54 callback EjectDeviceCallback = void (EjectDeviceResultCode result);
55
56 callback StorageInfoCallback = void (StorageUnitInfo[] info);
57
58 callback GetAvailableCapacityCallback = void (
59 StorageAvailableCapacityInfo info);
60
61 interface Functions {
62 // Get the storage information from the system. The argument passed to the
63 // callback is an array of StorageUnitInfo objects.
64 static void getInfo(StorageInfoCallback callback);
65
66 // Ejects a removable storage device.
67 static void ejectDevice(DOMString id, EjectDeviceCallback callback);
68
69 // Get the available capacity of a specified |id| storage device.
70 // The |id| is the transient device ID from StorageUnitInfo.
71 static void getAvailableCapacity(DOMString id,
72 GetAvailableCapacityCallback callback);
73 };
74
75 interface Events {
76 // Fired when a new removable storage is attached to the system.
77 static void onAttached(StorageUnitInfo info);
78
79 // Fired when a removable storage is detached from the system.
80 static void onDetached(DOMString id);
81 };
82
83 };
OLDNEW
« no previous file with comments | « chrome/common/extensions/api/system_network.idl ('k') | chrome/common/extensions/permissions/chrome_api_permissions.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698