1cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved.
2cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
3cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// found in the LICENSE file.
4cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
5cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)/**
6cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * @fileoverview Defines a Braille interface.
7cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) *
8cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * All Braille engines in ChromeVox conform to this interface.
9cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) *
10cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) */
11cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
12cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)goog.provide('cvox.BrailleInterface');
13cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
14cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)goog.require('cvox.BrailleKeyCommand');
15cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)goog.require('cvox.BrailleKeyEvent');
16cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)goog.require('cvox.NavBraille');
17cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
18cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)/**
19cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * @interface
20cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) */
21cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)cvox.BrailleInterface = function() { };
22cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
23cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)/**
24cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * Sends the given params to the Braille display for output.
25cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * @param {!cvox.NavBraille} params Parameters to send to the
26cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * platform braille service.
27cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) */
28cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)cvox.BrailleInterface.prototype.write =
29cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    function(params) { };
30cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
31cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)/**
32cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * Sets a callback for handling braille keyboard commands.
33cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) *
34cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * @param {function(!cvox.BrailleKeyEvent, cvox.NavBraille)} func The function
35cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * to be called when the user invokes a keyboard command on the braille
36cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * display. The first parameter is the key event.  The second parameter is
37cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * the content that was present on the display when the key command
38cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * was invoked, if available.
39cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) */
40cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)cvox.BrailleInterface.prototype.setCommandListener =
41cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    function(func) { };
42