| 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,88 @@
|
| +// 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_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(ChromeSpeechInputManager);
|
| +};
|
| +
|
| +} // 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
|
|
|
|
|