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. 15 class SpellingEngine* CreateNativeSpellingEngine(); 16 17 // Interface to different spelling engines. 18 class SpellingEngine { 19 public: ~SpellingEngine()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