2013-11-06 09:36:19 -08:00
|
|
|
/* 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. */
|
|
|
|
|
2014-01-15 17:47:43 -08:00
|
|
|
[NoInterfaceObject,
|
2014-05-25 11:31:11 -07:00
|
|
|
CheckPermissions="nfc-manager"]
|
2014-04-28 20:50:25 -07:00
|
|
|
interface MozNFCManager {
|
2013-11-24 20:40:39 -08:00
|
|
|
/**
|
|
|
|
* 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
|
|
|
|
*/
|
|
|
|
DOMRequest checkP2PRegistration(DOMString manifestUrl);
|
2014-01-17 18:38:26 -08:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Notify that user has accepted to share nfc message on P2P UI
|
|
|
|
*/
|
|
|
|
void notifyUserAcceptedP2P(DOMString manifestUrl);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Notify the status of sendFile operation
|
|
|
|
*/
|
|
|
|
void notifySendFileStatus(octet status, DOMString requestId);
|
2014-04-14 20:52:27 -07:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Power on the NFC hardware and start polling for NFC tags or devices.
|
|
|
|
*/
|
|
|
|
DOMRequest startPoll();
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Stop polling for NFC tags or devices. i.e. enter low power mode.
|
|
|
|
*/
|
|
|
|
DOMRequest stopPoll();
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Power off the NFC hardware.
|
|
|
|
*/
|
|
|
|
DOMRequest powerOff();
|
2014-01-15 17:47:43 -08:00
|
|
|
};
|
|
|
|
|
|
|
|
[JSImplementation="@mozilla.org/navigatorNfc;1",
|
|
|
|
NavigatorProperty="mozNfc",
|
2014-04-28 20:50:25 -07:00
|
|
|
Func="Navigator::HasNFCSupport"]
|
|
|
|
interface MozNFC : EventTarget {
|
2014-05-27 06:12:00 -07:00
|
|
|
[Throws]
|
2014-01-15 17:47:43 -08:00
|
|
|
MozNFCTag getNFCTag(DOMString sessionId);
|
2014-05-27 06:12:00 -07:00
|
|
|
[Throws]
|
2014-01-15 17:47:43 -08:00
|
|
|
MozNFCPeer getNFCPeer(DOMString sessionId);
|
2013-11-24 20:40:39 -08:00
|
|
|
|
2014-05-25 11:31:11 -07:00
|
|
|
[CheckPermissions="nfc-write"]
|
2013-11-24 20:40:39 -08:00
|
|
|
attribute EventHandler onpeerready;
|
2014-05-25 11:31:11 -07:00
|
|
|
[CheckPermissions="nfc-write"]
|
2013-11-06 09:36:19 -08:00
|
|
|
attribute EventHandler onpeerlost;
|
2014-01-15 17:47:43 -08:00
|
|
|
};
|
|
|
|
|
|
|
|
// Mozilla Only
|
2014-04-28 20:50:25 -07:00
|
|
|
partial interface MozNFC {
|
2013-11-24 20:40:39 -08:00
|
|
|
[ChromeOnly]
|
|
|
|
void eventListenerWasAdded(DOMString aType);
|
|
|
|
[ChromeOnly]
|
|
|
|
void eventListenerWasRemoved(DOMString aType);
|
2013-11-06 09:36:19 -08:00
|
|
|
};
|
2014-01-15 17:47:43 -08:00
|
|
|
|
2014-04-28 20:50:25 -07:00
|
|
|
MozNFC implements MozNFCManager;
|