| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef CONTENT_PUBLIC_BROWSER_SPEECH_RECOGNITION_MANAGER_H_ | 5 #ifndef CONTENT_PUBLIC_BROWSER_SPEECH_RECOGNITION_MANAGER_H_ |
| 6 #define CONTENT_PUBLIC_BROWSER_SPEECH_RECOGNITION_MANAGER_H_ | 6 #define CONTENT_PUBLIC_BROWSER_SPEECH_RECOGNITION_MANAGER_H_ |
| 7 | 7 |
| 8 #include "base/callback.h" | 8 #include "base/callback.h" |
| 9 #include "base/strings/string16.h" | 9 #include "base/strings/string16.h" |
| 10 #include "content/common/content_export.h" | 10 #include "content/common/content_export.h" |
| 11 #include "content/public/common/speech_recognition_result.h" | 11 #include "content/public/common/speech_recognition_result.h" |
| 12 | 12 |
| 13 namespace content { | 13 namespace content { |
| 14 | 14 |
| 15 class RenderFrameHost; |
| 15 class SpeechRecognitionEventListener; | 16 class SpeechRecognitionEventListener; |
| 16 struct SpeechRecognitionSessionConfig; | 17 struct SpeechRecognitionSessionConfig; |
| 17 struct SpeechRecognitionSessionContext; | 18 struct SpeechRecognitionSessionContext; |
| 18 | 19 |
| 19 // The SpeechRecognitionManager (SRM) is a singleton class that handles SR | 20 // The SpeechRecognitionManager (SRM) is a singleton class that handles SR |
| 20 // functionalities within Chrome. Everyone that needs to perform SR should | 21 // functionalities within Chrome. Everyone that needs to perform SR should |
| 21 // interface exclusively with the SRM, receiving events through the callback | 22 // interface exclusively with the SRM, receiving events through the callback |
| 22 // interface SpeechRecognitionEventListener. | 23 // interface SpeechRecognitionEventListener. |
| 23 // Since many different sources can use SR in different times (some overlapping | 24 // Since many different sources can use SR in different times (some overlapping |
| 24 // is allowed while waiting for results), the SRM has the further responsibility | 25 // is allowed while waiting for results), the SRM has the further responsibility |
| (...skipping 16 matching lines...) Expand all Loading... |
| 41 // Creates a new recognition session. | 42 // Creates a new recognition session. |
| 42 virtual int CreateSession(const SpeechRecognitionSessionConfig& config) = 0; | 43 virtual int CreateSession(const SpeechRecognitionSessionConfig& config) = 0; |
| 43 | 44 |
| 44 // Starts/restarts recognition for an existing session, after performing a | 45 // Starts/restarts recognition for an existing session, after performing a |
| 45 // premilinary check on the delegate (CheckRecognitionIsAllowed). | 46 // premilinary check on the delegate (CheckRecognitionIsAllowed). |
| 46 virtual void StartSession(int session_id) = 0; | 47 virtual void StartSession(int session_id) = 0; |
| 47 | 48 |
| 48 // Aborts recognition for an existing session, without providing any result. | 49 // Aborts recognition for an existing session, without providing any result. |
| 49 virtual void AbortSession(int session_id) = 0; | 50 virtual void AbortSession(int session_id) = 0; |
| 50 | 51 |
| 51 // Aborts all sessions for a given render process, | 52 // Aborts all sessions for a given RenderFrame, without providing any result. |
| 52 // without providing any result. | 53 virtual void AbortAllSessionsForRenderFrame( |
| 53 virtual void AbortAllSessionsForRenderProcess(int render_process_id) = 0; | 54 RenderFrameHost* render_frame_host) = 0; |
| 54 | |
| 55 // Aborts all sessions for a given RenderView, without providing any result. | |
| 56 virtual void AbortAllSessionsForRenderView(int render_process_id, | |
| 57 int render_view_id) = 0; | |
| 58 | 55 |
| 59 // Stops audio capture for an existing session. The audio captured before the | 56 // Stops audio capture for an existing session. The audio captured before the |
| 60 // call will be processed, possibly ending up with a result. | 57 // call will be processed, possibly ending up with a result. |
| 61 virtual void StopAudioCaptureForSession(int session_id) = 0; | 58 virtual void StopAudioCaptureForSession(int session_id) = 0; |
| 62 | 59 |
| 63 // Retrieves the configuration of a session, as provided by the caller | 60 // Retrieves the configuration of a session, as provided by the caller |
| 64 // upon CreateSession. | 61 // upon CreateSession. |
| 65 virtual const SpeechRecognitionSessionConfig& GetSessionConfig(int session_id) | 62 virtual const SpeechRecognitionSessionConfig& GetSessionConfig(int session_id) |
| 66 const = 0; | 63 const = 0; |
| 67 | 64 |
| 68 // Retrieves the context associated to a session. | 65 // Retrieves the context associated to a session. |
| 69 virtual SpeechRecognitionSessionContext GetSessionContext( | 66 virtual SpeechRecognitionSessionContext GetSessionContext( |
| 70 int session_id) const = 0; | 67 int session_id) const = 0; |
| 71 | 68 |
| 72 // Looks-up an existing session from the context tuple | 69 // Looks-up an existing session from the context tuple |
| 73 // {render_view_id, render_view_id, request_id}. | 70 // {render_frame_host, request_id}. |
| 74 virtual int GetSession(int render_process_id, | 71 virtual int GetSession(RenderFrameHost* render_frame_host, |
| 75 int render_view_id, | |
| 76 int request_id) const = 0; | 72 int request_id) const = 0; |
| 77 | 73 |
| 78 // Returns true if the OS reports existence of audio recording devices. | 74 // Returns true if the OS reports existence of audio recording devices. |
| 79 virtual bool HasAudioInputDevices() = 0; | 75 virtual bool HasAudioInputDevices() = 0; |
| 80 | 76 |
| 81 // Returns a human readable string for the model/make of the active audio | 77 // Returns a human readable string for the model/make of the active audio |
| 82 // input device for this computer. | 78 // input device for this computer. |
| 83 virtual base::string16 GetAudioInputDeviceModel() = 0; | 79 virtual base::string16 GetAudioInputDeviceModel() = 0; |
| 84 | 80 |
| 85 // Invokes the platform provided microphone settings UI in a non-blocking way, | 81 // Invokes the platform provided microphone settings UI in a non-blocking way, |
| 86 // via the BrowserThread::FILE thread. | 82 // via the BrowserThread::FILE thread. |
| 87 virtual void ShowAudioInputSettings() = 0; | 83 virtual void ShowAudioInputSettings() = 0; |
| 88 | 84 |
| 89 protected: | 85 protected: |
| 90 virtual ~SpeechRecognitionManager() {} | 86 virtual ~SpeechRecognitionManager() {} |
| 91 | 87 |
| 92 private: | 88 private: |
| 93 static SpeechRecognitionManager* manager_for_tests_; | 89 static SpeechRecognitionManager* manager_for_tests_; |
| 94 }; | 90 }; |
| 95 | 91 |
| 96 } // namespace content | 92 } // namespace content |
| 97 | 93 |
| 98 #endif // CONTENT_PUBLIC_BROWSER_SPEECH_RECOGNITION_MANAGER_H_ | 94 #endif // CONTENT_PUBLIC_BROWSER_SPEECH_RECOGNITION_MANAGER_H_ |
| OLD | NEW |