mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-02 15:15:23 +00:00
153 lines
4.5 KiB
Plaintext
153 lines
4.5 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, uuid(57fc2998-1058-4fd5-8dd9-0e303218d5fd)]
|
|
interface nsINfcPeerEventListener : nsISupports
|
|
{
|
|
/**
|
|
* Callback function used to notify peerready.
|
|
*
|
|
* @param sessionToken
|
|
* SessionToken received from Chrome process
|
|
*/
|
|
void notifyPeerReady(in DOMString sessionToken);
|
|
|
|
/**
|
|
* Callback function used to notify peerlost.
|
|
*
|
|
* @param sessionToken
|
|
* SessionToken received from Chrome process
|
|
*/
|
|
void notifyPeerLost(in DOMString sessionToken);
|
|
};
|
|
|
|
[scriptable, uuid(9a41d969-3375-4933-814e-2da781c8f691)]
|
|
interface nsINfcContentHelper : nsISupports
|
|
{
|
|
const long NFC_EVENT_PEER_READY = 0x01;
|
|
const long NFC_EVENT_PEER_LOST = 0x02;
|
|
|
|
boolean checkSessionToken(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 peer event listener.
|
|
*
|
|
* @param listener An instance of the nsINfcPeerEventListener.
|
|
*/
|
|
void registerPeerEventListener(in nsINfcPeerEventListener listener);
|
|
|
|
/**
|
|
* Register the given application id with Chrome process
|
|
*
|
|
* @param window
|
|
* Current window
|
|
*
|
|
* @param appId
|
|
* Application ID to be registered
|
|
*/
|
|
void registerTargetForPeerReady(in nsIDOMWindow window,
|
|
in unsigned long appId);
|
|
|
|
/**
|
|
* Unregister the given application id with Chrome process
|
|
*
|
|
* @param window
|
|
* Current window
|
|
*
|
|
* @param appId
|
|
* Application ID to be registered
|
|
*/
|
|
void unregisterTargetForPeerReady(in nsIDOMWindow window,
|
|
in unsigned long appId);
|
|
|
|
/**
|
|
* 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
|
|
*
|
|
* @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);
|
|
};
|