tts_engine_manifest_handler.h revision 2a99a7e74a7f215066514fe81d2bfa6639d9eddd
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 CHROME_COMMON_EXTENSIONS_API_SPEECH_TTS_ENGINE_MANIFEST_HANDLER_H_ 6#define CHROME_COMMON_EXTENSIONS_API_SPEECH_TTS_ENGINE_MANIFEST_HANDLER_H_ 7 8#include <set> 9#include <string> 10#include <vector> 11 12#include "chrome/common/extensions/extension.h" 13#include "chrome/common/extensions/manifest_handler.h" 14 15namespace extensions { 16 17struct TtsVoice { 18 TtsVoice(); 19 ~TtsVoice(); 20 21 std::string voice_name; 22 std::string lang; 23 std::string gender; 24 std::set<std::string> event_types; 25 26 static const std::vector<TtsVoice>* GetTtsVoices(const Extension* extension); 27}; 28 29// Parses the "tts_engine" manifest key. 30class TtsEngineManifestHandler : public ManifestHandler { 31 public: 32 TtsEngineManifestHandler(); 33 virtual ~TtsEngineManifestHandler(); 34 35 virtual bool Parse(Extension* extension, string16* error) OVERRIDE; 36 37 private: 38 virtual const std::vector<std::string> Keys() const OVERRIDE; 39 40 DISALLOW_COPY_AND_ASSIGN(TtsEngineManifestHandler); 41}; 42 43} // namespace extensions 44 45#endif // CHROME_COMMON_EXTENSIONS_API_SPEECH_TTS_ENGINE_MANIFEST_HANDLER_H_ 46