gecko/dom/webidl/MozNFC.webidl

86 lines
2.4 KiB
Plaintext

/* 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/. */
/* Copyright © 2013 Deutsche Telekom, Inc. */
[NoInterfaceObject]
interface MozNFCManager {
/**
* API to check if the given application's manifest
* URL is registered with the Chrome Process or not.
*
* Returns success if given manifestUrl is registered for 'onpeerready',
* otherwise error
*/
[CheckPermissions="nfc-manager"]
DOMRequest checkP2PRegistration(DOMString manifestUrl);
/**
* Notify that user has accepted to share nfc message on P2P UI
*/
[CheckPermissions="nfc-manager"]
void notifyUserAcceptedP2P(DOMString manifestUrl);
/**
* Notify the status of sendFile operation
*/
[CheckPermissions="nfc-manager"]
void notifySendFileStatus(octet status, DOMString requestId);
/**
* Power on the NFC hardware and start polling for NFC tags or devices.
*/
[CheckPermissions="nfc-manager"]
DOMRequest startPoll();
/**
* Stop polling for NFC tags or devices. i.e. enter low power mode.
*/
[CheckPermissions="nfc-manager"]
DOMRequest stopPoll();
/**
* Power off the NFC hardware.
*/
[CheckPermissions="nfc-manager"]
DOMRequest powerOff();
};
[JSImplementation="@mozilla.org/navigatorNfc;1",
NavigatorProperty="mozNfc",
Func="Navigator::HasNFCSupport",
CheckPermissions="nfc-read nfc-write",
AvailableIn="CertifiedApps"]
interface MozNFC : EventTarget {
/**
* Returns MozNFCTag object or null in case of invalid sessionToken
*/
MozNFCTag? getNFCTag(DOMString sessionToken);
/**
* Returns MozNFCPeer object or null in case of invalid sessionToken
*/
MozNFCPeer? getNFCPeer(DOMString sessionToken);
/**
* This event will be fired when another NFCPeer is detected, and user confirms
* to share data to the NFCPeer object by calling mozNFC.notifyUserAcceptedP2P.
* The event will be type of NFCPeerEvent.
*/
[CheckPermissions="nfc-write"]
attribute EventHandler onpeerready;
[CheckPermissions="nfc-write"]
attribute EventHandler onpeerlost;
};
// Mozilla Only
partial interface MozNFC {
[ChromeOnly]
void eventListenerWasAdded(DOMString aType);
[ChromeOnly]
void eventListenerWasRemoved(DOMString aType);
};
MozNFC implements MozNFCManager;