dom/webidl/NfcOptions.webidl
author Gregory Szorc <gps@mozilla.com>
Fri, 22 Apr 2016 12:51:23 -0700
changeset 294591 d6ea7c8e2449d9b34882650490383ee86b8bb164
parent 237837 9c01dad62a3c6960b419754a441e3feb8ecd47c2
permissions -rw-r--r--
Bug 1259782 - Build with Visual Studio 2015 Update 2; r=ted Should be a drop-in replacement for VS2015u1. MozReview-Commit-ID: HSmdikYPR0j

/* 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"
};

/**
 * Type of the Request used in NfcCommandOptions.
 */
enum NfcRequestType {
  "changeRFState",
  "readNDEF",
  "writeNDEF",
  "makeReadOnly",
  "format",
  "transceive"
};

/**
 * Type of the Response used in NfcEventOptions.
 */
enum NfcResponseType {
  "changeRFStateRsp",
  "readNDEFRsp",
  "writeNDEFRsp",
  "makeReadOnlyRsp",
  "formatRsp",
  "transceiveRsp",
};

/**
 * Type of the Notification used in NfcEventOptions.
 */
enum NfcNotificationType {
  "initialized",
  "techDiscovered",
  "techLost",
  "hciEventTransaction",
  "ndefReceived",
};

/**
 * The source of HCI Transaction Event.
 */
enum HCIEventOrigin {
  "SIM",
  "eSE",
  "ASSD"
};

dictionary NfcCommandOptions
{
  required NfcRequestType type;

  long sessionId;
  required DOMString requestId;

  RFState rfState;

  long techType;

  boolean isP2P;
  sequence<MozNDEFRecordOptions> records;

  NFCTechType technology;
  Uint8Array command;
};

dictionary NfcEventOptions
{
  NfcResponseType rspType;
  NfcNotificationType ntfType;

  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;
};