1*b1cdbd2cSJim Jagielski/************************************************************** 2*b1cdbd2cSJim Jagielski * 3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one 4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file 5*b1cdbd2cSJim Jagielski * distributed with this work for additional information 6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file 7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the 8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance 9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at 10*b1cdbd2cSJim Jagielski * 11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0 12*b1cdbd2cSJim Jagielski * 13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing, 14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an 15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the 17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations 18*b1cdbd2cSJim Jagielski * under the License. 19*b1cdbd2cSJim Jagielski * 20*b1cdbd2cSJim Jagielski *************************************************************/ 21*b1cdbd2cSJim Jagielski 22*b1cdbd2cSJim Jagielski 23*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_linguistic2_XLinguServiceManager_idl__ 24*b1cdbd2cSJim Jagielski#define __com_sun_star_linguistic2_XLinguServiceManager_idl__ 25*b1cdbd2cSJim Jagielski 26*b1cdbd2cSJim Jagielski 27*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_linguistic2_XSpellChecker_idl__ 28*b1cdbd2cSJim Jagielski#include <com/sun/star/linguistic2/XSpellChecker.idl> 29*b1cdbd2cSJim Jagielski#endif 30*b1cdbd2cSJim Jagielski 31*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_linguistic2_XHyphenator_idl__ 32*b1cdbd2cSJim Jagielski#include <com/sun/star/linguistic2/XHyphenator.idl> 33*b1cdbd2cSJim Jagielski#endif 34*b1cdbd2cSJim Jagielski 35*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_linguistic2_XThesaurus_idl__ 36*b1cdbd2cSJim Jagielski#include <com/sun/star/linguistic2/XThesaurus.idl> 37*b1cdbd2cSJim Jagielski#endif 38*b1cdbd2cSJim Jagielski 39*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_lang_XEventListener_idl__ 40*b1cdbd2cSJim Jagielski#include <com/sun/star/lang/XEventListener.idl> 41*b1cdbd2cSJim Jagielski#endif 42*b1cdbd2cSJim Jagielski 43*b1cdbd2cSJim Jagielski//============================================================================= 44*b1cdbd2cSJim Jagielski 45*b1cdbd2cSJim Jagielskimodule com { module sun { module star { module linguistic2 { 46*b1cdbd2cSJim Jagielski 47*b1cdbd2cSJim Jagielski//============================================================================= 48*b1cdbd2cSJim Jagielski/** the basic interface to be used to access linguistic functionality. 49*b1cdbd2cSJim Jagielski 50*b1cdbd2cSJim Jagielski <P>This interface is used to access spellchecker, hyphenator, and 51*b1cdbd2cSJim Jagielski thesaurus functionality. 52*b1cdbd2cSJim Jagielski Additionally, it can query what implementations of those services are 53*b1cdbd2cSJim Jagielski available (for specific languages or in general). 54*b1cdbd2cSJim Jagielski It can select and query which of those implementations should 55*b1cdbd2cSJim Jagielski be used for a specific language.</P> 56*b1cdbd2cSJim Jagielski 57*b1cdbd2cSJim Jagielski <P> 58*b1cdbd2cSJim Jagielski For spellchecking and thesaurus, the order in the list defines the order 59*b1cdbd2cSJim Jagielski of creation/usage of those services. 60*b1cdbd2cSJim Jagielski That is, if the first spellchecker implementation does not recognize 61*b1cdbd2cSJim Jagielski the given word as correct, the second service implementation for that 62*b1cdbd2cSJim Jagielski language is created and gets queried. If that one fails, the third one 63*b1cdbd2cSJim Jagielski gets created and queried and so on. 64*b1cdbd2cSJim Jagielski This chain stops if an implementation reports the word as correct or the 65*b1cdbd2cSJim Jagielski end of the list is reached, in which case the word is reported as incorrect. 66*b1cdbd2cSJim Jagielski </P> 67*b1cdbd2cSJim Jagielski 68*b1cdbd2cSJim Jagielski <P> For the thesaurus, the behavior is the same when no meaning was found. 69*b1cdbd2cSJim Jagielski </P> 70*b1cdbd2cSJim Jagielski 71*b1cdbd2cSJim Jagielski @see <type scope="com::sun::star::linguistic2">SpellChecker</type> 72*b1cdbd2cSJim Jagielski @see <type scope="com::sun::star::linguistic2">Hyphenator</type> 73*b1cdbd2cSJim Jagielski @see <type scope="com::sun::star::linguistic2">Thesaurus</type> 74*b1cdbd2cSJim Jagielski*/ 75*b1cdbd2cSJim Jagielskipublished interface XLinguServiceManager : com::sun::star::uno::XInterface 76*b1cdbd2cSJim Jagielski{ 77*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 78*b1cdbd2cSJim Jagielski /** 79*b1cdbd2cSJim Jagielski @returns 80*b1cdbd2cSJim Jagielski the <type scope="com::sun::star::linguistic2">XSpellChecker</type> 81*b1cdbd2cSJim Jagielski interface to be used for spellchecking. 82*b1cdbd2cSJim Jagielski */ 83*b1cdbd2cSJim Jagielski com::sun::star::linguistic2::XSpellChecker getSpellChecker(); 84*b1cdbd2cSJim Jagielski 85*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 86*b1cdbd2cSJim Jagielski /** 87*b1cdbd2cSJim Jagielski @returns 88*b1cdbd2cSJim Jagielski the <type scope="com::sun::star::linguistic2">XHyphenator</type> 89*b1cdbd2cSJim Jagielski interface to be used for hyphenation. 90*b1cdbd2cSJim Jagielski */ 91*b1cdbd2cSJim Jagielski com::sun::star::linguistic2::XHyphenator getHyphenator(); 92*b1cdbd2cSJim Jagielski 93*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 94*b1cdbd2cSJim Jagielski /** 95*b1cdbd2cSJim Jagielski @returns 96*b1cdbd2cSJim Jagielski the <type scope="com::sun::star::linguistic2">XThesaurus</type> 97*b1cdbd2cSJim Jagielski interface to be used for thesaurus functionality. 98*b1cdbd2cSJim Jagielski */ 99*b1cdbd2cSJim Jagielski com::sun::star::linguistic2::XThesaurus getThesaurus(); 100*b1cdbd2cSJim Jagielski 101*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 102*b1cdbd2cSJim Jagielski /** adds a listener to the list of event listeners. 103*b1cdbd2cSJim Jagielski 104*b1cdbd2cSJim Jagielski <P>The listeners may support one or both of 105*b1cdbd2cSJim Jagielski <type scope="com::sun::star::linguistic2">XDictionaryEventListener</type> 106*b1cdbd2cSJim Jagielski and 107*b1cdbd2cSJim Jagielski <type scope="com::sun::star::linguistic2">XLinguServiceEventListener</type> 108*b1cdbd2cSJim Jagielski interfaces. 109*b1cdbd2cSJim Jagielski </P> 110*b1cdbd2cSJim Jagielski 111*b1cdbd2cSJim Jagielski @returns 112*b1cdbd2cSJim Jagielski <TRUE/> if the listener was succesfully added, <FALSE/> otherwise. 113*b1cdbd2cSJim Jagielski 114*b1cdbd2cSJim Jagielski @param xListener 115*b1cdbd2cSJim Jagielski the listener to be added. 116*b1cdbd2cSJim Jagielski */ 117*b1cdbd2cSJim Jagielski boolean addLinguServiceManagerListener( 118*b1cdbd2cSJim Jagielski [in] com::sun::star::lang::XEventListener xListener ); 119*b1cdbd2cSJim Jagielski 120*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 121*b1cdbd2cSJim Jagielski /** removes a listener from the list of event listeners. 122*b1cdbd2cSJim Jagielski 123*b1cdbd2cSJim Jagielski @returns 124*b1cdbd2cSJim Jagielski <TRUE/> if the listener was succesfully removed, <FALSE/> otherwise. 125*b1cdbd2cSJim Jagielski 126*b1cdbd2cSJim Jagielski @param xListener 127*b1cdbd2cSJim Jagielski the listener to be removed. 128*b1cdbd2cSJim Jagielski */ 129*b1cdbd2cSJim Jagielski boolean removeLinguServiceManagerListener( 130*b1cdbd2cSJim Jagielski [in] com::sun::star::lang::XEventListener xListener ); 131*b1cdbd2cSJim Jagielski 132*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 133*b1cdbd2cSJim Jagielski /** 134*b1cdbd2cSJim Jagielski @returns 135*b1cdbd2cSJim Jagielski the list of implementation names of the available services. 136*b1cdbd2cSJim Jagielski 137*b1cdbd2cSJim Jagielski @param aServiceName 138*b1cdbd2cSJim Jagielski the name of the service requesting the list of available 139*b1cdbd2cSJim Jagielski implementations. 140*b1cdbd2cSJim Jagielski 141*b1cdbd2cSJim Jagielski @param aLocale 142*b1cdbd2cSJim Jagielski the language used to query the list of available implementations. 143*b1cdbd2cSJim Jagielski */ 144*b1cdbd2cSJim Jagielski sequence< string > getAvailableServices( 145*b1cdbd2cSJim Jagielski [in] string aServiceName, 146*b1cdbd2cSJim Jagielski [in] com::sun::star::lang::Locale aLocale ); 147*b1cdbd2cSJim Jagielski 148*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 149*b1cdbd2cSJim Jagielski /** sets the list of service implementations to be used for a 150*b1cdbd2cSJim Jagielski given service and language. 151*b1cdbd2cSJim Jagielski 152*b1cdbd2cSJim Jagielski @param aServiceName 153*b1cdbd2cSJim Jagielski the name of the service to set the list of implementations 154*b1cdbd2cSJim Jagielski to be used. 155*b1cdbd2cSJim Jagielski 156*b1cdbd2cSJim Jagielski @param aLocale 157*b1cdbd2cSJim Jagielski the language to set the list. 158*b1cdbd2cSJim Jagielski 159*b1cdbd2cSJim Jagielski @param aServiceImplNames 160*b1cdbd2cSJim Jagielski the name of the service to set the list. 161*b1cdbd2cSJim Jagielski */ 162*b1cdbd2cSJim Jagielski void setConfiguredServices( 163*b1cdbd2cSJim Jagielski [in] string aServiceName, 164*b1cdbd2cSJim Jagielski [in] com::sun::star::lang::Locale aLocale, 165*b1cdbd2cSJim Jagielski [in] sequence< string > aServiceImplNames ); 166*b1cdbd2cSJim Jagielski 167*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 168*b1cdbd2cSJim Jagielski /** queries the list of service implementations to be used for a 169*b1cdbd2cSJim Jagielski given service and language. 170*b1cdbd2cSJim Jagielski 171*b1cdbd2cSJim Jagielski @returns 172*b1cdbd2cSJim Jagielski the list of implementation names of the services to be used. 173*b1cdbd2cSJim Jagielski 174*b1cdbd2cSJim Jagielski @param aServiceName 175*b1cdbd2cSJim Jagielski the name of the service to get queried. 176*b1cdbd2cSJim Jagielski 177*b1cdbd2cSJim Jagielski @param aLocale 178*b1cdbd2cSJim Jagielski the language to get queried. 179*b1cdbd2cSJim Jagielski */ 180*b1cdbd2cSJim Jagielski sequence< string > getConfiguredServices( 181*b1cdbd2cSJim Jagielski [in] string aServiceName, 182*b1cdbd2cSJim Jagielski [in] com::sun::star::lang::Locale aLocale ); 183*b1cdbd2cSJim Jagielski 184*b1cdbd2cSJim Jagielski}; 185*b1cdbd2cSJim Jagielski 186*b1cdbd2cSJim Jagielski//============================================================================= 187*b1cdbd2cSJim Jagielski 188*b1cdbd2cSJim Jagielski}; }; }; }; 189*b1cdbd2cSJim Jagielski 190*b1cdbd2cSJim Jagielski#endif 191