/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* 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/.
 *
 * The origin of this IDL file is
 * http://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html
 *
 * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
 * liability, trademark and document use rules apply.
 */

#include "nsIDOMEvent.idl"

[scriptable, builtinclass, uuid(5ddc5a46-e7db-4c5c-8ed4-80cf5d88fca3)]
interface nsIDOMSpeechRecognitionError : nsIDOMEvent {
    const unsigned long NO_SPEECH = 0;
    const unsigned long ABORTED = 1;
    const unsigned long AUDIO_CAPTURE = 2;
    const unsigned long NETWORK = 3;
    const unsigned long NOT_ALLOWED = 4;
    const unsigned long SERVICE_NOT_ALLOWED = 5;
    const unsigned long BAD_GRAMMAR = 6;
    const unsigned long LANGUAGE_NOT_SUPPORTED = 7;

    [noscript] void initSpeechRecognitionError(in DOMString eventTypeArg,
                                               in boolean canBubbleArg,
                                               in boolean cancelableArg,
                                               in unsigned long error,
                                               in DOMString message);

    readonly attribute unsigned long error;
    readonly attribute DOMString message;
};

dictionary SpeechRecognitionErrorInit : EventInit {
    unsigned long error;
    DOMString message;
};
