summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/extension_speech_input_api.cc
blob: df2bbd1934cc29da29d034685305afefcfabaa1b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "chrome/browser/extensions/extension_speech_input_api.h"

#include "base/values.h"
#include "chrome/browser/extensions/extension_speech_input_manager.h"
#include "chrome/browser/profiles/profile.h"

SpeechInputAsyncFunction::SpeechInputAsyncFunction() {
}

void SpeechInputAsyncFunction::Run() {

  // TODO(leandrogracia): implement the management of the asynchronous
  // operations involved and the corresponding state transitions.
  RunImpl();

  SendResponse(true);
}

void SpeechInputAsyncFunction::Observe(int type,
                                       const NotificationSource& source,
                                       const NotificationDetails& details) {
  // TODO(leandrogracia): to be implemented.
}

bool StartSpeechInputFunction::RunImpl() {
  ExtensionSpeechInputManager::GetForProfile(profile())->Start(GetExtension());
  return true;
}

bool StopSpeechInputFunction::RunImpl() {
  ExtensionSpeechInputManager::GetForProfile(profile())->Stop(GetExtension());
  return true;
}

bool IsRecordingSpeechInputFunction::RunImpl() {
  // TODO(leandrogracia): to be implemented.
  result_.reset(Value::CreateBooleanValue(false));
  return true;
}