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

interface nsIDOMMozMobileConnectionInfo;
interface nsIDOMDOMRequest;
interface nsIDOMWindow;

/**
 * XPCOM component (in the content process) that provides the mobile
 * network information.
 */
[scriptable, uuid(93202514-9ae9-482e-95bc-9c6ed62aea99)]
interface nsIMobileConnectionProvider : nsISupports
{
  readonly attribute DOMString cardState;
  readonly attribute nsIDOMMozMobileConnectionInfo voiceConnectionInfo;
  readonly attribute nsIDOMMozMobileConnectionInfo dataConnectionInfo;

  nsIDOMDOMRequest getNetworks(in nsIDOMWindow window);
  nsIDOMDOMRequest getCardLock(in nsIDOMWindow window, in DOMString lockType);
  nsIDOMDOMRequest unlockCardLock(in nsIDOMWindow window, in jsval info);
  nsIDOMDOMRequest setCardLock(in nsIDOMWindow window, in jsval info);
};
