summaryrefslogtreecommitdiffstats
path: root/extensions/spellcheck/idl/mozISpellCheckingEngine.idl
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/spellcheck/idl/mozISpellCheckingEngine.idl')
-rw-r--r--extensions/spellcheck/idl/mozISpellCheckingEngine.idl84
1 files changed, 84 insertions, 0 deletions
diff --git a/extensions/spellcheck/idl/mozISpellCheckingEngine.idl b/extensions/spellcheck/idl/mozISpellCheckingEngine.idl
new file mode 100644
index 0000000000..f3e67280f6
--- /dev/null
+++ b/extensions/spellcheck/idl/mozISpellCheckingEngine.idl
@@ -0,0 +1,84 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#include "nsISupports.idl"
+
+interface nsIFile;
+interface nsIURI;
+interface mozIPersonalDictionary;
+
+/**
+ * This interface represents a SpellChecker.
+ */
+[scriptable, uuid(8ba643a4-7ddc-4662-b976-7ec123843f10)]
+interface mozISpellCheckingEngine : nsISupports {
+ /**
+ * The names of the dictionaries currently used. These are either values
+ * from getDictionaryList or the empty array if no dictionary is selected.
+ * Setting this attribute to contain a value not in getDictionaryList will
+ * throw NS_ERROR_FILE_NOT_FOUND.
+ *
+ * If the dictionaries are changed to no dictionary (the empty array), an
+ * observer is allowed to set another dictionary before it returns.
+ */
+ attribute Array<ACString> dictionaries;
+
+ /**
+ * the personal dictionary
+ */
+ attribute mozIPersonalDictionary personalDictionary;
+
+ /**
+ * Get the list of dictionaries
+ */
+ Array<ACString> getDictionaryList();
+
+ /**
+ * check a word
+ */
+ boolean check(in AString word);
+
+ /**
+ * get a list of suggestions for a misspelled word
+ */
+ Array<AString> suggest(in AString word);
+
+ /**
+ * Load dictionaries from the specified dir
+ */
+ void loadDictionariesFromDir(in nsIFile dir);
+
+ /**
+ * Add dictionaries from a directory to the spell checker
+ */
+ void addDirectory(in nsIFile dir);
+
+ /**
+ * Remove dictionaries from a directory from the spell checker
+ */
+ void removeDirectory(in nsIFile dir);
+
+ /**
+ * Add a dictionary with the given language code and source URI. The URI
+ * must point to an affix file, with the ".aff" extension. The word list
+ * file must be in the same directory, with the same base name, and the
+ * ".dic" extension.
+ */
+ void addDictionary(in AString lang, in nsIURI file);
+
+ /**
+ * Remove a dictionary with the given language code and path. If the path does
+ * not match that of the current entry with the given language code, it is not
+ * removed.
+ *
+ * @returns True if the dictionary was found and removed.
+ */
+ bool removeDictionary(in AString lang, in nsIURI file);
+};
+
+%{C++
+#define SPELLCHECK_DICTIONARY_REMOVE_NOTIFICATION \
+ "spellcheck-dictionary-remove"
+%}