| /************************************************************** |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| |
| #ifndef __com_sun_star_linguistic2_XLinguServiceManager_idl__ |
| #define __com_sun_star_linguistic2_XLinguServiceManager_idl__ |
| |
| |
| #ifndef __com_sun_star_linguistic2_XSpellChecker_idl__ |
| #include <com/sun/star/linguistic2/XSpellChecker.idl> |
| #endif |
| |
| #ifndef __com_sun_star_linguistic2_XHyphenator_idl__ |
| #include <com/sun/star/linguistic2/XHyphenator.idl> |
| #endif |
| |
| #ifndef __com_sun_star_linguistic2_XThesaurus_idl__ |
| #include <com/sun/star/linguistic2/XThesaurus.idl> |
| #endif |
| |
| #ifndef __com_sun_star_lang_XEventListener_idl__ |
| #include <com/sun/star/lang/XEventListener.idl> |
| #endif |
| |
| //============================================================================= |
| |
| module com { module sun { module star { module linguistic2 { |
| |
| //============================================================================= |
| /** the basic interface to be used to access linguistic functionality. |
| |
| <P>This interface is used to access spellchecker, hyphenator, and |
| thesaurus functionality. |
| Additionally, it can query what implementations of those services are |
| available (for specific languages or in general). |
| It can select and query which of those implementations should |
| be used for a specific language.</P> |
| |
| <P> |
| For spellchecking and thesaurus, the order in the list defines the order |
| of creation/usage of those services. |
| That is, if the first spellchecker implementation does not recognize |
| the given word as correct, the second service implementation for that |
| language is created and gets queried. If that one fails, the third one |
| gets created and queried and so on. |
| This chain stops if an implementation reports the word as correct or the |
| end of the list is reached, in which case the word is reported as incorrect. |
| </P> |
| |
| <P> For the thesaurus, the behavior is the same when no meaning was found. |
| </P> |
| |
| @see <type scope="com::sun::star::linguistic2">SpellChecker</type> |
| @see <type scope="com::sun::star::linguistic2">Hyphenator</type> |
| @see <type scope="com::sun::star::linguistic2">Thesaurus</type> |
| */ |
| published interface XLinguServiceManager : com::sun::star::uno::XInterface |
| { |
| //------------------------------------------------------------------------- |
| /** |
| @returns |
| the <type scope="com::sun::star::linguistic2">XSpellChecker</type> |
| interface to be used for spellchecking. |
| */ |
| com::sun::star::linguistic2::XSpellChecker getSpellChecker(); |
| |
| //------------------------------------------------------------------------- |
| /** |
| @returns |
| the <type scope="com::sun::star::linguistic2">XHyphenator</type> |
| interface to be used for hyphenation. |
| */ |
| com::sun::star::linguistic2::XHyphenator getHyphenator(); |
| |
| //------------------------------------------------------------------------- |
| /** |
| @returns |
| the <type scope="com::sun::star::linguistic2">XThesaurus</type> |
| interface to be used for thesaurus functionality. |
| */ |
| com::sun::star::linguistic2::XThesaurus getThesaurus(); |
| |
| //------------------------------------------------------------------------- |
| /** adds a listener to the list of event listeners. |
| |
| <P>The listeners may support one or both of |
| <type scope="com::sun::star::linguistic2">XDictionaryEventListener</type> |
| and |
| <type scope="com::sun::star::linguistic2">XLinguServiceEventListener</type> |
| interfaces. |
| </P> |
| |
| @returns |
| <TRUE/> if the listener was succesfully added, <FALSE/> otherwise. |
| |
| @param xListener |
| the listener to be added. |
| */ |
| boolean addLinguServiceManagerListener( |
| [in] com::sun::star::lang::XEventListener xListener ); |
| |
| //------------------------------------------------------------------------- |
| /** removes a listener from the list of event listeners. |
| |
| @returns |
| <TRUE/> if the listener was succesfully removed, <FALSE/> otherwise. |
| |
| @param xListener |
| the listener to be removed. |
| */ |
| boolean removeLinguServiceManagerListener( |
| [in] com::sun::star::lang::XEventListener xListener ); |
| |
| //------------------------------------------------------------------------- |
| /** |
| @returns |
| the list of implementation names of the available services. |
| |
| @param aServiceName |
| the name of the service requesting the list of available |
| implementations. |
| |
| @param aLocale |
| the language used to query the list of available implementations. |
| */ |
| sequence< string > getAvailableServices( |
| [in] string aServiceName, |
| [in] com::sun::star::lang::Locale aLocale ); |
| |
| //------------------------------------------------------------------------- |
| /** sets the list of service implementations to be used for a |
| given service and language. |
| |
| @param aServiceName |
| the name of the service to set the list of implementations |
| to be used. |
| |
| @param aLocale |
| the language to set the list. |
| |
| @param aServiceImplNames |
| the name of the service to set the list. |
| */ |
| void setConfiguredServices( |
| [in] string aServiceName, |
| [in] com::sun::star::lang::Locale aLocale, |
| [in] sequence< string > aServiceImplNames ); |
| |
| //------------------------------------------------------------------------- |
| /** queries the list of service implementations to be used for a |
| given service and language. |
| |
| @returns |
| the list of implementation names of the services to be used. |
| |
| @param aServiceName |
| the name of the service to get queried. |
| |
| @param aLocale |
| the language to get queried. |
| */ |
| sequence< string > getConfiguredServices( |
| [in] string aServiceName, |
| [in] com::sun::star::lang::Locale aLocale ); |
| |
| }; |
| |
| //============================================================================= |
| |
| }; }; }; }; |
| |
| #endif |