/* 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/. */ #include "nsISupports.idl" #include "nsIVolume.idl" #include "nsIVolumeMountLock.idl" %{C++ #include "nsTArray.h" #include "nsString.h" %} [ref] native nsStringTArrayRef(nsTArray); [scriptable, uuid(a3b110cd-74f2-43cb-84c6-2a87713f2774)] interface nsIVolumeService : nsISupports { nsIVolume getVolumeByName(in DOMString volName); nsIVolume getVolumeByPath(in DOMString path); nsIVolume createOrGetVolumeByPath(in DOMString path); void BroadcastVolume(in DOMString volName); nsIVolumeMountLock createMountLock(in DOMString volName); [noscript] void getVolumeNames(in nsStringTArrayRef aVolNames); /* for test case only to simulate sdcard insertion/removal */ void createFakeVolume(in DOMString name, in DOMString path); void SetFakeVolumeState(in DOMString name, in long state); }; %{C++ #define NS_VOLUMESERVICE_CID \ {0x7c179fb7, 0x67a0, 0x43a3, {0x93, 0x37, 0x29, 0x4e, 0x03, 0x60, 0xb8, 0x58}} #define NS_VOLUMESERVICE_CONTRACTID "@mozilla.org/telephony/volume-service;1" %}