mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
81aaa2bb6b
From e1c730487df90a5edfe416be9b9219da02652be3 Mon Sep 17 00:00:00 2001 --- dom/nfc/nsNfc.js | 17 +++++++++-- dom/system/gonk/Nfc.js | 35 ++++++++++++++++++++-- dom/system/gonk/NfcContentHelper.js | 48 ++++++++++++++++++++++++++++++- dom/system/gonk/nsINfcContentHelper.idl | 17 ++++++++++- 4 files changed, 111 insertions(+), 6 deletions(-)
154 lines
4.8 KiB
Plaintext
154 lines
4.8 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/. */
|
|
|
|
#include "nsISupports.idl"
|
|
#include "nsIDOMDOMRequest.idl"
|
|
|
|
interface nsIVariant;
|
|
|
|
[scriptable, function, uuid(26673d1a-4af4-470a-ba96-f1f54b1f2052)]
|
|
interface nsINfcPeerCallback : nsISupports
|
|
{
|
|
/**
|
|
* Callback function used to notify NFC peer events.
|
|
*
|
|
* @param event
|
|
* An event indicating 'PeerReady' or 'PeerLost'
|
|
* One of NFC_EVENT_PEER_XXXX
|
|
*
|
|
* @param sessionToken
|
|
* SessionToken received from Chrome process
|
|
*/
|
|
void peerNotification(in unsigned long event,
|
|
in DOMString sessionToken);
|
|
};
|
|
|
|
[scriptable, uuid(10b2eb1b-3fe0-4c98-9c67-9e4c2274cd78)]
|
|
interface nsINfcContentHelper : nsISupports
|
|
{
|
|
const long NFC_EVENT_PEER_READY = 0x01;
|
|
const long NFC_EVENT_PEER_LOST = 0x02;
|
|
|
|
void setSessionToken(in DOMString sessionToken);
|
|
|
|
nsIDOMDOMRequest getDetailsNDEF(in nsIDOMWindow window, in DOMString sessionToken);
|
|
nsIDOMDOMRequest readNDEF(in nsIDOMWindow window, in DOMString sessionToken);
|
|
nsIDOMDOMRequest writeNDEF(in nsIDOMWindow window, in nsIVariant records, in DOMString sessionToken);
|
|
nsIDOMDOMRequest makeReadOnlyNDEF(in nsIDOMWindow window, in DOMString sessionToken);
|
|
|
|
nsIDOMDOMRequest connect(in nsIDOMWindow window, in unsigned long techType, in DOMString sessionToken);
|
|
nsIDOMDOMRequest close(in nsIDOMWindow window, in DOMString sessionToken);
|
|
|
|
/**
|
|
* Initiate Send file operation
|
|
*
|
|
* @param window
|
|
* Current window
|
|
*
|
|
* @param blob
|
|
* Raw data of the file to be sent. This object represents a file-like
|
|
* (nsIDOMFile) object of immutable, raw data. The blob data needs
|
|
* to be 'object wrapped' before calling this interface.
|
|
*
|
|
* @param sessionToken
|
|
* Current token
|
|
*
|
|
* Returns DOMRequest, if initiation of send file operation is successful
|
|
* then 'onsuccess' is called else 'onerror'
|
|
*/
|
|
nsIDOMDOMRequest sendFile(in nsIDOMWindow window,
|
|
in jsval blob,
|
|
in DOMString sessionToken);
|
|
|
|
/**
|
|
* Register the given application id with Chrome process
|
|
*
|
|
* @param window
|
|
* Current window
|
|
*
|
|
* @param appId
|
|
* Application ID to be registered
|
|
*
|
|
* @param event
|
|
* Event to be registered. Either NFC_EVENT_PEER_READY or NFC_EVENT_PEER_LOST
|
|
*
|
|
* @param callback
|
|
* Callback that is used to notify upper layers whenever PeerEvents happen.
|
|
*/
|
|
void registerTargetForPeerEvent(in nsIDOMWindow window,
|
|
in unsigned long appId,
|
|
in octet event,
|
|
in nsINfcPeerCallback callback);
|
|
/**
|
|
* Unregister the given application id with Chrome process
|
|
*
|
|
* @param window
|
|
* Current window
|
|
*
|
|
* @param appId
|
|
* Application ID to be registered
|
|
*
|
|
* @param event
|
|
* Event to be unregistered. Either NFC_EVENT_PEER_READY or NFC_EVENT_PEER_LOST
|
|
*/
|
|
void unregisterTargetForPeerEvent(in nsIDOMWindow window,
|
|
in unsigned long appId,
|
|
in octet event);
|
|
/**
|
|
* Checks if the given application's id is a registered peer target (with the Chrome process)
|
|
*
|
|
* @param window
|
|
* Current window
|
|
*
|
|
* @param appId
|
|
* Application ID to be updated with Chrome process
|
|
*
|
|
* Returns DOMRequest, if appId is registered then 'onsuccess' is called else 'onerror'
|
|
*/
|
|
nsIDOMDOMRequest checkP2PRegistration(in nsIDOMWindow window, in unsigned long appId);
|
|
|
|
/**
|
|
* Notify the Chrome process that user has accepted to share nfc message on P2P UI
|
|
*
|
|
* @param window
|
|
* Current window
|
|
*
|
|
* @param appId
|
|
* Application ID that is capable of handling NFC_EVENT_PEER_READY event
|
|
*/
|
|
void notifyUserAcceptedP2P(in nsIDOMWindow window, in unsigned long appId);
|
|
|
|
/**
|
|
* Notify the status of sendFile operation to Chrome process
|
|
*
|
|
* @param window
|
|
* Current window
|
|
*
|
|
* @param status
|
|
* Status of sendFile operation
|
|
* (GECKO_NFC_ERROR_SUCCESS, GECKO_NFC_ERROR_GENERIC_FAILURE)
|
|
*
|
|
* @param requestId
|
|
* Request ID of SendFile DOM Request
|
|
*/
|
|
void notifySendFileStatus(in nsIDOMWindow window,
|
|
in octet status,
|
|
in DOMString requestId);
|
|
|
|
/**
|
|
* Power on the NFC hardware and start polling for NFC tags or devices.
|
|
*/
|
|
nsIDOMDOMRequest startPoll(in nsIDOMWindow window);
|
|
|
|
/**
|
|
* Stop polling for NFC tags or devices. i.e. enter low power mode.
|
|
*/
|
|
nsIDOMDOMRequest stopPoll(in nsIDOMWindow window);
|
|
|
|
/**
|
|
* Power off the NFC hardware.
|
|
*/
|
|
nsIDOMDOMRequest powerOff(in nsIDOMWindow window);
|
|
};
|