Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / content / public / test / fake_speech_recognition_manager.h
1 // Copyright (c) 2013 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.
4
5 #ifndef CONTENT_PUBLIC_TEST_FAKE_SPEECH_RECOGNTION_MANAGER_H_
6 #define CONTENT_PUBLIC_TEST_FAKE_SPEECH_RECOGNTION_MANAGER_H_
7
8 #include "base/callback_forward.h"
9 #include "content/public/browser/speech_recognition_manager.h"
10 #include "content/public/browser/speech_recognition_session_config.h"
11 #include "content/public/browser/speech_recognition_session_context.h"
12
13 namespace content {
14
15 // Fake SpeechRecognitionManager class that can be used for tests.
16 // By default the recognition manager will respond with "Pictures of the moon"
17 // as recognized result from speech. This result can be overridden by calling
18 // SetFakeResult().
19 class FakeSpeechRecognitionManager : public SpeechRecognitionManager {
20  public:
21   FakeSpeechRecognitionManager();
22   virtual ~FakeSpeechRecognitionManager();
23
24   const std::string& grammar() const {
25     return grammar_;
26   }
27
28   bool did_cancel_all() {
29     return did_cancel_all_;
30   }
31
32   void set_should_send_fake_response(bool send) {
33     should_send_fake_response_ = send;
34   }
35
36   bool should_send_fake_response() {
37     return should_send_fake_response_;
38   }
39
40   void WaitForRecognitionStarted();
41
42   void SetFakeResult(const std::string& result);
43
44   // SpeechRecognitionManager methods.
45   virtual int CreateSession(
46       const SpeechRecognitionSessionConfig& config) OVERRIDE;
47   virtual void StartSession(int session_id) OVERRIDE;
48   virtual void AbortSession(int session_id) OVERRIDE;
49   virtual void StopAudioCaptureForSession(int session_id) OVERRIDE;
50   virtual void AbortAllSessionsForRenderProcess(int render_process_id) OVERRIDE;
51   virtual void AbortAllSessionsForRenderView(int render_process_id,
52                                              int render_view_id) OVERRIDE;
53   virtual bool HasAudioInputDevices() OVERRIDE;
54   virtual base::string16 GetAudioInputDeviceModel() OVERRIDE;
55   virtual void ShowAudioInputSettings() OVERRIDE {}
56   virtual int GetSession(int render_process_id,
57                          int render_view_id,
58                          int request_id) const OVERRIDE;
59   virtual const SpeechRecognitionSessionConfig& GetSessionConfig(
60       int session_id) const OVERRIDE;
61   virtual SpeechRecognitionSessionContext GetSessionContext(
62       int session_id) const OVERRIDE;
63
64  private:
65   void SetFakeRecognitionResult();
66
67   int session_id_;
68   SpeechRecognitionEventListener* listener_;
69   SpeechRecognitionSessionConfig session_config_;
70   SpeechRecognitionSessionContext session_ctx_;
71   std::string fake_result_;
72   std::string grammar_;
73   bool did_cancel_all_;
74   bool should_send_fake_response_;
75   base::Closure recognition_started_closure_;
76
77   DISALLOW_COPY_AND_ASSIGN(FakeSpeechRecognitionManager);
78 };
79
80 }  // namespace content
81
82 #endif  // CONTENT_PUBLIC_TEST_FAKE_SPEECH_RECOGNTION_MANAGER_H_