Add new certificateProvider extension API.
[chromium-blink-merge.git] / chrome / browser / resources / chromeos / chromevox / host / interface / host_factory.js
blobd1ce963d0927ca334df0845d1fe5a356ac8f23e1
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
6 /**
7  * @fileoverview A host factory.  This factory allows us to decouple the
8  * cvox.Host|Tts|... creatation from the main ChromeVox code.
9  */
11 goog.provide('cvox.HostFactory');
13 goog.require('cvox.AbstractEarcons');
14 goog.require('cvox.AbstractHost');
15 goog.require('cvox.AbstractMathJax');
16 goog.require('cvox.AbstractTts');
19 /**
20  * @constructor
21  */
22 cvox.HostFactory = function() {};
24 /**
25  * Returns the host.
26  * @return {cvox.AbstractHost}
27  */
28 cvox.HostFactory.getHost = function() {
29   return new cvox.HostFactory.hostConstructor;
32 /**
33  * Returns the TTS interface.
34  * @return {cvox.TtsInterface} The TTS engine.
35  */
36 cvox.HostFactory.getTts = function() {
37   return new cvox.HostFactory.ttsConstructor;
40 /**
41  * Returns the Braille interface.
42  * @return {cvox.BrailleInterface} The Braille interface.
43  */
44 cvox.HostFactory.getBraille = function() {
45   return new cvox.HostFactory.brailleConstructor;
48 /**
49  * Returns the earcons interface.
50  * @return {cvox.AbstractEarcons}
51  */
52 cvox.HostFactory.getEarcons = function() {
53   return new cvox.HostFactory.earconsConstructor;
56 /**
57  * Returns the MathJax interface.
58  * @return {cvox.MathJaxInterface} The MathJax interface.
59  */
60 cvox.HostFactory.getMathJax = function() {
61   return new cvox.HostFactory.mathJaxConstructor;
64 /**
65  * @type {function (new:cvox.AbstractHost)}
66  */
67 cvox.HostFactory.hostConstructor;
69 /**
70  * @type {function (new:cvox.TtsInterface)}
71  */
72 cvox.HostFactory.ttsConstructor;
74 /**
75  * @type {function (new:cvox.BrailleInterface)}
76  */
77 cvox.HostFactory.brailleConstructor;
79 /**
80  * @type {function (new:cvox.AbstractEarcons)}
81  */
82 cvox.HostFactory.earconsConstructor;
85 /**
86  * @type {function (new:cvox.AbstractMathJax)}
87  */
88 cvox.HostFactory.mathJaxConstructor;