| 
									
										
										
										
											2014-10-31 11:17:05 -07:00
										 |  |  | // Copyright (c) 2014 GitHub, Inc.
 | 
					
						
							| 
									
										
										
										
											2014-10-08 11:55:14 +08:00
										 |  |  | // Use of this source code is governed by the MIT license that can be
 | 
					
						
							|  |  |  | // found in the LICENSE file.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifndef ATOM_BROWSER_ATOM_SPEECH_RECOGNITION_MANAGER_DELEGATE_H_
 | 
					
						
							|  |  |  | #define ATOM_BROWSER_ATOM_SPEECH_RECOGNITION_MANAGER_DELEGATE_H_
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-10-08 17:47:47 +08:00
										 |  |  | #include <string>
 | 
					
						
							| 
									
										
										
										
											2018-10-02 15:11:00 -07:00
										 |  |  | #include <vector>
 | 
					
						
							| 
									
										
										
										
											2014-10-08 17:47:47 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-08 23:28:53 +09:00
										 |  |  | #include "base/macros.h"
 | 
					
						
							| 
									
										
										
										
											2014-10-08 11:55:14 +08:00
										 |  |  | #include "content/public/browser/speech_recognition_event_listener.h"
 | 
					
						
							|  |  |  | #include "content/public/browser/speech_recognition_manager_delegate.h"
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | namespace atom { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class AtomSpeechRecognitionManagerDelegate | 
					
						
							|  |  |  |     : public content::SpeechRecognitionManagerDelegate, | 
					
						
							|  |  |  |       public content::SpeechRecognitionEventListener { | 
					
						
							|  |  |  |  public: | 
					
						
							|  |  |  |   AtomSpeechRecognitionManagerDelegate(); | 
					
						
							| 
									
										
										
										
											2018-04-17 16:03:51 -07:00
										 |  |  |   ~AtomSpeechRecognitionManagerDelegate() override; | 
					
						
							| 
									
										
										
										
											2014-10-08 11:55:14 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |   // content::SpeechRecognitionEventListener:
 | 
					
						
							| 
									
										
										
										
											2014-12-15 17:15:56 -08:00
										 |  |  |   void OnRecognitionStart(int session_id) override; | 
					
						
							|  |  |  |   void OnAudioStart(int session_id) override; | 
					
						
							|  |  |  |   void OnEnvironmentEstimationComplete(int session_id) override; | 
					
						
							|  |  |  |   void OnSoundStart(int session_id) override; | 
					
						
							|  |  |  |   void OnSoundEnd(int session_id) override; | 
					
						
							|  |  |  |   void OnAudioEnd(int session_id) override; | 
					
						
							|  |  |  |   void OnRecognitionEnd(int session_id) override; | 
					
						
							|  |  |  |   void OnRecognitionResults( | 
					
						
							| 
									
										
										
										
											2018-04-17 21:44:10 -04:00
										 |  |  |       int session_id, | 
					
						
							| 
									
										
										
										
											2018-10-02 15:11:00 -07:00
										 |  |  |       const std::vector<blink::mojom::SpeechRecognitionResultPtr>&) override; | 
					
						
							| 
									
										
										
										
											2014-12-15 17:15:56 -08:00
										 |  |  |   void OnRecognitionError( | 
					
						
							| 
									
										
										
										
											2018-04-17 21:44:10 -04:00
										 |  |  |       int session_id, | 
					
						
							| 
									
										
										
										
											2018-10-02 15:11:00 -07:00
										 |  |  |       const blink::mojom::SpeechRecognitionError& error) override; | 
					
						
							| 
									
										
										
										
											2018-04-17 21:44:10 -04:00
										 |  |  |   void OnAudioLevelsChange(int session_id, | 
					
						
							|  |  |  |                            float volume, | 
					
						
							| 
									
										
										
										
											2014-12-15 17:15:56 -08:00
										 |  |  |                            float noise_volume) override; | 
					
						
							| 
									
										
										
										
											2014-10-08 11:55:14 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |   // content::SpeechRecognitionManagerDelegate:
 | 
					
						
							| 
									
										
										
										
											2014-12-15 17:15:56 -08:00
										 |  |  |   void CheckRecognitionIsAllowed( | 
					
						
							| 
									
										
										
										
											2014-10-08 11:55:14 +08:00
										 |  |  |       int session_id, | 
					
						
							| 
									
										
										
										
											2017-08-21 00:53:03 +03:00
										 |  |  |       base::OnceCallback<void(bool ask_user, bool is_allowed)> callback) | 
					
						
							|  |  |  |       override; | 
					
						
							| 
									
										
										
										
											2014-12-15 17:15:56 -08:00
										 |  |  |   content::SpeechRecognitionEventListener* GetEventListener() override; | 
					
						
							|  |  |  |   bool FilterProfanities(int render_process_id) override; | 
					
						
							| 
									
										
										
										
											2014-10-08 11:55:14 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |  private: | 
					
						
							|  |  |  |   DISALLOW_COPY_AND_ASSIGN(AtomSpeechRecognitionManagerDelegate); | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | }  // namespace atom
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif  // ATOM_BROWSER_ATOM_SPEECH_RECOGNITION_MANAGER_DELEGATE_H_
 |