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_RENDERER_SPELLCHECKER_SPELLING_ENGINE_H_ 6#define CHROME_RENDERER_SPELLCHECKER_SPELLING_ENGINE_H_ 7 8#include <string> 9#include <vector> 10 11#include "base/files/file.h" 12#include "base/strings/string16.h" 13 14// Creates the platform's "native" spelling engine. 15class SpellingEngine* CreateNativeSpellingEngine(); 16 17// Interface to different spelling engines. 18class SpellingEngine { 19 public: 20 virtual ~SpellingEngine() {} 21 22 // Initialize spelling engine with browser-side info. Must be called before 23 // any other functions are called. 24 virtual void Init(base::File bdict_file) = 0; 25 virtual bool InitializeIfNeeded() = 0; 26 virtual bool IsEnabled() = 0; 27 virtual bool CheckSpelling(const base::string16& word_to_check, int tag) = 0; 28 virtual void FillSuggestionList( 29 const base::string16& wrong_word, 30 std::vector<base::string16>* optional_suggestions) = 0; 31}; 32 33#endif // CHROME_RENDERER_SPELLCHECKER_SPELLING_ENGINE_H_ 34 35