/* 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"

[scriptable, uuid(597403c6-5ba4-4e7b-b3f4-ed3f05f775d8)]
interface nsIVolumeService : nsISupports
{
    nsIVolume getVolumeByName(in DOMString volName);
    nsIVolume getVolumeByPath(in DOMString path);

    void BroadcastVolume(in DOMString volName);

    nsIVolumeMountLock createMountLock(in DOMString volName);
};

%{C++
#define NS_VOLUMESERVICE_CID \
  {0x597403c6, 0x5ba4, 0x4e7b, {0xb3, 0xf4, 0xed, 0x3f, 0x05, 0xf7, 0x75, 0xd8}}
#define NS_VOLUMESERVICE_CONTRACTID "@mozilla.org/telephony/volume-service;1"
%}
