speech_recognition_session_config.h revision 010d83a9304c5a91596085d917d248abff47903a
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
3// found in the LICENSE file.
4
5#ifndef CONTENT_PUBLIC_BROWSER_SPEECH_RECOGNITION_SESSION_CONFIG_H_
6#define CONTENT_PUBLIC_BROWSER_SPEECH_RECOGNITION_SESSION_CONFIG_H_
7
8#include "base/basictypes.h"
9#include "base/memory/ref_counted.h"
10#include "base/memory/weak_ptr.h"
11#include "content/common/content_export.h"
12#include "content/public/browser/speech_recognition_session_context.h"
13#include "content/public/common/speech_recognition_grammar.h"
14#include "net/url_request/url_request_context_getter.h"
15
16namespace content {
17
18class SpeechRecognitionEventListener;
19
20// Configuration params for creating a new speech recognition session.
21struct CONTENT_EXPORT SpeechRecognitionSessionConfig {
22  SpeechRecognitionSessionConfig();
23  ~SpeechRecognitionSessionConfig();
24
25  // TODO(hans): The legacy API is dead; remove this flag (crbug.com/223198).
26  bool is_legacy_api;
27
28  std::string language;
29  SpeechRecognitionGrammarArray grammars;
30  std::string origin_url;
31  bool filter_profanities;
32  bool continuous;
33  bool interim_results;
34  uint32 max_hypotheses;
35  SpeechRecognitionSessionContext initial_context;
36  scoped_refptr<net::URLRequestContextGetter> url_request_context_getter;
37  base::WeakPtr<SpeechRecognitionEventListener> event_listener;
38};
39
40}  // namespace content
41
42#endif  // CONTENT_PUBLIC_BROWSER_SPEECH_RECOGNITION_SESSION_CONFIG_H_
43