dom/webidl/NfcOptions.webidl
author dlee <dlee@mozilla.com>
Fri, 09 Jan 2015 10:42:48 +0800
changeset 248711 0c39bc01f6345d0a1b686c787271737fad499e3e
parent 247575 c776f112102f59e49d4cb3988c756263c23745e0
child 260924 16fef4e9b00bbc2c34559aa05fa4653d47291f6c
permissions -rw-r--r--
Bug 1109456 - Support NFC tag transceive WebAPI. r=smaug, yoshi --- dom/nfc/NfcContentHelper.js | 33 ++++++++++++++++++++++ dom/nfc/gonk/Nfc.js | 7 ++++- dom/nfc/gonk/NfcGonkMessage.h | 2 ++ dom/nfc/gonk/NfcMessageHandler.cpp | 54 ++++++++++++++++++++++++++++++++++++ dom/nfc/gonk/NfcMessageHandler.h | 4 ++- dom/nfc/gonk/NfcOptions.h | 13 +++++++++ dom/nfc/gonk/NfcService.cpp | 6 ++++ dom/nfc/nsINfcContentHelper.idl | 27 ++++++++++++++++-- dom/nfc/nsNfc.js | 19 +++++++++++++ dom/webidl/MozNFCTag.webidl | 6 ++++ dom/webidl/NfcOptions.webidl | 6 ++++ 11 files changed, 173 insertions(+), 4 deletions(-)

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

enum RFState {
  "idle",
  "listen",
  "discovery"
};

dictionary NfcCommandOptions
{
  DOMString type = "";

  long sessionId;
  DOMString requestId = "";

  RFState rfState;

  long techType;

  boolean isP2P;
  sequence<MozNDEFRecordOptions> records;

  NFCTechType technology;
  Uint8Array command;
};

dictionary NfcEventOptions
{
  DOMString type = "";

  long status;
  NfcErrorMessage errorMsg;
  long sessionId;
  DOMString requestId;

  long majorVersion;
  long minorVersion;

  boolean isP2P;
  sequence<NFCTechType> techList;
  Uint8Array tagId;
  sequence<MozNDEFRecordOptions> records;

  NFCTagType tagType;
  long maxNDEFSize;
  boolean isReadOnly;
  boolean isFormatable;

  RFState rfState;

  // HCI Event Transaction fields
  DOMString origin;
  Uint8Array aid;
  Uint8Array payload;

  // Tag transceive response data
  Uint8Array response;
};