|
1 /* This Source Code Form is subject to the terms of the Mozilla Public |
|
2 * License, v. 2.0. If a copy of the MPL was not distributed with this file, |
|
3 * You can obtain one at http://mozilla.org/MPL/2.0/. */ |
|
4 |
|
5 #include "nsISupports.idl" |
|
6 #include "nsIVolume.idl" |
|
7 #include "nsIVolumeMountLock.idl" |
|
8 |
|
9 %{C++ |
|
10 #include "nsTArray.h" |
|
11 #include "nsString.h" |
|
12 %} |
|
13 [ref] native nsStringTArrayRef(nsTArray<nsString>); |
|
14 |
|
15 [scriptable, uuid(a3b110cd-74f2-43cb-84c6-2a87713f2774)] |
|
16 interface nsIVolumeService : nsISupports |
|
17 { |
|
18 nsIVolume getVolumeByName(in DOMString volName); |
|
19 nsIVolume getVolumeByPath(in DOMString path); |
|
20 nsIVolume createOrGetVolumeByPath(in DOMString path); |
|
21 |
|
22 void BroadcastVolume(in DOMString volName); |
|
23 |
|
24 nsIVolumeMountLock createMountLock(in DOMString volName); |
|
25 |
|
26 [noscript] void getVolumeNames(in nsStringTArrayRef aVolNames); |
|
27 |
|
28 /* for test case only to simulate sdcard insertion/removal */ |
|
29 void createFakeVolume(in DOMString name, in DOMString path); |
|
30 void SetFakeVolumeState(in DOMString name, in long state); |
|
31 }; |
|
32 |
|
33 %{C++ |
|
34 #define NS_VOLUMESERVICE_CID \ |
|
35 {0x7c179fb7, 0x67a0, 0x43a3, {0x93, 0x37, 0x29, 0x4e, 0x03, 0x60, 0xb8, 0x58}} |
|
36 #define NS_VOLUMESERVICE_CONTRACTID "@mozilla.org/telephony/volume-service;1" |
|
37 %} |