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  bool is_legacy_api;
26  std::string language;
27  SpeechRecognitionGrammarArray grammars;
28  std::string origin_url;
29  bool filter_profanities;
30  bool continuous;
31  bool interim_results;
32  uint32 max_hypotheses;
33  SpeechRecognitionSessionContext initial_context;
34  scoped_refptr<net::URLRequestContextGetter> url_request_context_getter;
35  base::WeakPtr<SpeechRecognitionEventListener> event_listener;
36};
37
38}  // namespace content
39
40#endif  // CONTENT_PUBLIC_BROWSER_SPEECH_RECOGNITION_SESSION_CONFIG_H_
41