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.
5 // The <code>chrome.hotwordPrivate</code> API allows extensions to access and
6 // mutate the preference for enabling hotword search. It also provides
7 // information on whether the hotword search is available. This API provides an
8 // event interface to transmit to the extension a signal that the preference fo
9 // hotword search has change.
11 // For an FYI, visit http://goo.gl/AyHbkH
13 [nodoc
] namespace hotwordPrivate
{
15 dictionary StatusDetails
{
16 // Whether the hotword preference has been set.
19 // If the hotword extension is enabled. Will always be false if |available|
23 // Whether the hotword extension is available to be enabled
26 // Whether the sound of "Ok, Google" plus a few seconds before is sent
28 boolean audioLoggingEnabled
;
31 callback GenericDoneCallback
= void ();
32 callback StatusDetailsCallback
= void(StatusDetails result
);
35 // Sets the current enabled state of hotword search.
36 // True: enable hotword search. False: disable hotword search.
37 static
void setEnabled
(boolean state
, optional GenericDoneCallback
callback);
39 // Retrieves the current state of hotword search.
40 // The result is put into a StatusDetails object.
41 static
void getStatus
(StatusDetailsCallback
callback);
43 // Sets the current enabled state of audio logging in the extension.
44 // True: logging enabled. False: no logging.
45 static
void setAudioLoggingEnabled
(boolean state
, optional GenericDoneCallback
callback);
49 // Fired when the hotword search enabled preference is changed.
50 static
void onEnabledChanged
();