Chromium Code Reviews| Index: chrome/browser/speech/chrome_speech_input_manager.h |
| =================================================================== |
| --- chrome/browser/speech/chrome_speech_input_manager.h (revision 0) |
| +++ chrome/browser/speech/chrome_speech_input_manager.h (revision 0) |
| @@ -0,0 +1,86 @@ |
| +// 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. |
| + |
| +#ifndef CHROME_BROWSER_SPEECH_CHROME_SPEECH_INPUT_MANAGER_H_ |
| +#define CHROME_BROWSER_SPEECH_CHROME_SPEECH_INPUT_MANAGER_H_ |
| + |
| +#include <map> |
| + |
| +#include "base/memory/ref_counted.h" |
| +#include "base/memory/singleton.h" |
| +#include "chrome/browser/speech/speech_input_bubble_controller.h" |
| +#include "content/browser/speech/speech_input_manager.h" |
| +#include "content/browser/speech/speech_recognizer.h" |
| + |
| +namespace speech_input { |
| + |
| +class ChromeSpeechInputManager : public SpeechInputManager, |
| + public SpeechInputBubbleControllerDelegate, |
| + public SpeechRecognizerDelegate { |
| + public: |
| + static ChromeSpeechInputManager* GetInstance(); |
| + |
| + // SpeechInputManager methods. |
| + virtual void StartRecognition(SpeechInputManagerDelegate* delegate, |
| + int caller_id, |
| + int render_process_id, |
| + int render_view_id, |
| + const gfx::Rect& element_rect, |
| + const std::string& language, |
| + const std::string& grammar, |
| + const std::string& origin_url); |
| + virtual void CancelRecognition(int caller_id); |
| + virtual void StopRecording(int caller_id); |
| + virtual void CancelAllRequestsWithDelegate( |
| + SpeechInputManagerDelegate* delegate); |
| + |
| + // SpeechRecognizer::Delegate methods. |
| + virtual void DidStartReceivingAudio(int caller_id); |
| + virtual void SetRecognitionResult(int caller_id, |
| + bool error, |
| + const SpeechInputResultArray& result); |
| + virtual void DidCompleteRecording(int caller_id); |
| + virtual void DidCompleteRecognition(int caller_id); |
| + virtual void OnRecognizerError(int caller_id, |
| + SpeechRecognizer::ErrorCode error); |
| + virtual void DidCompleteEnvironmentEstimation(int caller_id); |
| + virtual void SetInputVolume(int caller_id, float volume, float noise_volume); |
| + |
| + // SpeechInputBubbleController::Delegate methods. |
| + virtual void InfoBubbleButtonClicked(int caller_id, |
| + SpeechInputBubble::Button button); |
| + virtual void InfoBubbleFocusChanged(int caller_id); |
| + |
| + private: |
| + class OptionalRequestInfo; |
| + |
| + struct SpeechInputRequest { |
| + SpeechInputManagerDelegate* delegate; |
| + scoped_refptr<SpeechRecognizer> recognizer; |
| + bool is_active; // Set to true when recording or recognition is going on. |
| + }; |
| + |
| + // Private constructor to enforce singleton. |
| + friend struct DefaultSingletonTraits<ChromeSpeechInputManager>; |
| + ChromeSpeechInputManager(); |
| + virtual ~ChromeSpeechInputManager(); |
| + |
| + bool HasPendingRequest(int caller_id) const; |
| + SpeechInputManagerDelegate* GetDelegate(int caller_id) const; |
| + |
| + void CancelRecognitionAndInformDelegate(int caller_id); |
| + |
| + // Starts/restarts recognition for an existing request. |
| + void StartRecognitionForRequest(int caller_id); |
| + |
| + typedef std::map<int, SpeechInputRequest> SpeechRecognizerMap; |
| + SpeechRecognizerMap requests_; |
| + int recording_caller_id_; |
| + scoped_refptr<SpeechInputBubbleController> bubble_controller_; |
| + scoped_refptr<OptionalRequestInfo> optional_request_info_; |
| +}; |
|
Paweł Hajdan Jr.
2011/08/24 22:57:11
nit: No DISALLOW_COPY_AND_ASSIGN?
jam
2011/08/24 23:08:56
I had just moved this, but I'll add it and hopeful
|
| + |
| +} // namespace speech_input |
| + |
| +#endif // CHROME_BROWSER_SPEECH_CHROME_SPEECH_INPUT_MANAGER_H_ |
| Property changes on: chrome\browser\speech\chrome_speech_input_manager.h |
| ___________________________________________________________________ |
| Added: svn:eol-style |
| + LF |