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_XConversionDictionary_idl__ 24*b1cdbd2cSJim Jagielski#define __com_sun_star_linguistic2_XConversionDictionary_idl__ 25*b1cdbd2cSJim Jagielski 26*b1cdbd2cSJim Jagielski 27*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_uno_XInterface_idl__ 28*b1cdbd2cSJim Jagielski#include <com/sun/star/uno/XInterface.idl> 29*b1cdbd2cSJim Jagielski#endif 30*b1cdbd2cSJim Jagielski 31*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_lang_Locale_idl__ 32*b1cdbd2cSJim Jagielski#include <com/sun/star/lang/Locale.idl> 33*b1cdbd2cSJim Jagielski#endif 34*b1cdbd2cSJim Jagielski 35*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_linguistic2_ConversionDictionaryType_idl__ 36*b1cdbd2cSJim Jagielski#include <com/sun/star/linguistic2/ConversionDictionaryType.idl> 37*b1cdbd2cSJim Jagielski#endif 38*b1cdbd2cSJim Jagielski 39*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_linguistic2_ConversionDirection_idl__ 40*b1cdbd2cSJim Jagielski#include <com/sun/star/linguistic2/ConversionDirection.idl> 41*b1cdbd2cSJim Jagielski#endif 42*b1cdbd2cSJim Jagielski 43*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ 44*b1cdbd2cSJim Jagielski#include <com/sun/star/lang/IllegalArgumentException.idl> 45*b1cdbd2cSJim Jagielski#endif 46*b1cdbd2cSJim Jagielski 47*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_container_ElementExistException_idl__ 48*b1cdbd2cSJim Jagielski#include <com/sun/star/container/ElementExistException.idl> 49*b1cdbd2cSJim Jagielski#endif 50*b1cdbd2cSJim Jagielski 51*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_container_NoSuchElementException_idl__ 52*b1cdbd2cSJim Jagielski#include <com/sun/star/container/NoSuchElementException.idl> 53*b1cdbd2cSJim Jagielski#endif 54*b1cdbd2cSJim Jagielski 55*b1cdbd2cSJim Jagielski 56*b1cdbd2cSJim Jagielski//============================================================================= 57*b1cdbd2cSJim Jagielski 58*b1cdbd2cSJim Jagielskimodule com { module sun { module star { module linguistic2 { 59*b1cdbd2cSJim Jagielski 60*b1cdbd2cSJim Jagielski//============================================================================= 61*b1cdbd2cSJim Jagielski/** Allows the user to access a conversion dictionary. 62*b1cdbd2cSJim Jagielski 63*b1cdbd2cSJim Jagielski <p>The dictionary consists of entries (pairs) of the form 64*b1cdbd2cSJim Jagielski ( aLeftText, aRightText ). 65*b1cdbd2cSJim Jagielski Those pairs can be added and removed. Also it can be looked 66*b1cdbd2cSJim Jagielski for all entries where the left text or the right text matches 67*b1cdbd2cSJim Jagielski a given text. Thus it can be used for conversions in both 68*b1cdbd2cSJim Jagielski directions.</p> 69*b1cdbd2cSJim Jagielski 70*b1cdbd2cSJim Jagielski <p>Restrictions to what has to be the left and right text are usually 71*b1cdbd2cSJim Jagielski given by specific services implementing this interface.</p> 72*b1cdbd2cSJim Jagielski 73*b1cdbd2cSJim Jagielski @see com::sun::star::linguistic2::ConversionDictionary 74*b1cdbd2cSJim Jagielski @see com::sun::star::linguistic2::HangulHanjaConversionDictionary 75*b1cdbd2cSJim Jagielski 76*b1cdbd2cSJim Jagielski @since OpenOffice 1.1.2 77*b1cdbd2cSJim Jagielski*/ 78*b1cdbd2cSJim Jagielskipublished interface XConversionDictionary : com::sun::star::uno::XInterface 79*b1cdbd2cSJim Jagielski{ 80*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 81*b1cdbd2cSJim Jagielski /** 82*b1cdbd2cSJim Jagielski @returns 83*b1cdbd2cSJim Jagielski the name of the dictionary. 84*b1cdbd2cSJim Jagielski */ 85*b1cdbd2cSJim Jagielski string getName(); 86*b1cdbd2cSJim Jagielski 87*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 88*b1cdbd2cSJim Jagielski /** 89*b1cdbd2cSJim Jagielski @returns 90*b1cdbd2cSJim Jagielski the language supported by the dictionary. 91*b1cdbd2cSJim Jagielski 92*b1cdbd2cSJim Jagielski @see com::sun::star::lang::Locale 93*b1cdbd2cSJim Jagielski */ 94*b1cdbd2cSJim Jagielski com::sun::star::lang::Locale getLocale(); 95*b1cdbd2cSJim Jagielski 96*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 97*b1cdbd2cSJim Jagielski /** 98*b1cdbd2cSJim Jagielski @returns 99*b1cdbd2cSJim Jagielski the conversion type supported by the dictionary. 100*b1cdbd2cSJim Jagielski 101*b1cdbd2cSJim Jagielski @see com::sun::star::linguistic2::ConversionDictionaryType 102*b1cdbd2cSJim Jagielski */ 103*b1cdbd2cSJim Jagielski short getConversionType(); 104*b1cdbd2cSJim Jagielski 105*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 106*b1cdbd2cSJim Jagielski /** specifies whether the dictionary should be used or not . 107*b1cdbd2cSJim Jagielski 108*b1cdbd2cSJim Jagielski @param bAcvtivate 109*b1cdbd2cSJim Jagielski <TRUE/> if the dictionary should be used, <FALSE/> otherwise. 110*b1cdbd2cSJim Jagielski 111*b1cdbd2cSJim Jagielski */ 112*b1cdbd2cSJim Jagielski void setActive( [in] boolean bActivate ); 113*b1cdbd2cSJim Jagielski 114*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 115*b1cdbd2cSJim Jagielski /** 116*b1cdbd2cSJim Jagielski @returns 117*b1cdbd2cSJim Jagielski <TRUE/> if the dictionary is active, <FALSE/> otherwise. 118*b1cdbd2cSJim Jagielski */ 119*b1cdbd2cSJim Jagielski boolean isActive(); 120*b1cdbd2cSJim Jagielski 121*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 122*b1cdbd2cSJim Jagielski /** removes all entries from the dictionary. 123*b1cdbd2cSJim Jagielski */ 124*b1cdbd2cSJim Jagielski void clear(); 125*b1cdbd2cSJim Jagielski 126*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 127*b1cdbd2cSJim Jagielski /** searches for entries or conversions that match the given text. 128*b1cdbd2cSJim Jagielski 129*b1cdbd2cSJim Jagielski <p>The exact string to be looked for is the substring from the 130*b1cdbd2cSJim Jagielski aText parameter that starts at position nStartPos and has the 131*b1cdbd2cSJim Jagielski length nLength.</p> 132*b1cdbd2cSJim Jagielski 133*b1cdbd2cSJim Jagielski @returns 134*b1cdbd2cSJim Jagielski the list of conversions found for the supplied text. 135*b1cdbd2cSJim Jagielski If no nothing was found, it is empty. 136*b1cdbd2cSJim Jagielski 137*b1cdbd2cSJim Jagielski @param aText 138*b1cdbd2cSJim Jagielski the text where the substring to be looked for will be taken from. 139*b1cdbd2cSJim Jagielski Depending on the conversion direction parameter it specifies 140*b1cdbd2cSJim Jagielski either the left text or the right text to look for. 141*b1cdbd2cSJim Jagielski @param nStartPos 142*b1cdbd2cSJim Jagielski the starting pos of the substring to be looked for. 143*b1cdbd2cSJim Jagielski @param nLength 144*b1cdbd2cSJim Jagielski the length of the substring to be looked for. 145*b1cdbd2cSJim Jagielski 146*b1cdbd2cSJim Jagielski @param eConversionDirection 147*b1cdbd2cSJim Jagielski specifies the direction of the conversion to look for. 148*b1cdbd2cSJim Jagielski It is one of 149*b1cdbd2cSJim Jagielski <type scope="com::sun::star::linguistic2">ConversionDirection</type>. 150*b1cdbd2cSJim Jagielski 151*b1cdbd2cSJim Jagielski @param nTextConversionOptions 152*b1cdbd2cSJim Jagielski Combination of <type scope="com::sun::star::i18n">TextConversionOption</type> 153*b1cdbd2cSJim Jagielski values. 154*b1cdbd2cSJim Jagielski 155*b1cdbd2cSJim Jagielski @throws com::sun::star::lang::IllegalArgumentException 156*b1cdbd2cSJim Jagielski if the locale is not supported by the dictionary or if 157*b1cdbd2cSJim Jagielski nTextConversionOptions is invalid for the given locale. 158*b1cdbd2cSJim Jagielski */ 159*b1cdbd2cSJim Jagielski sequence< string > getConversions( 160*b1cdbd2cSJim Jagielski [in] string aText, 161*b1cdbd2cSJim Jagielski [in] long nStartPos, 162*b1cdbd2cSJim Jagielski [in] long nLength, 163*b1cdbd2cSJim Jagielski [in] com::sun::star::linguistic2::ConversionDirection eDirection, 164*b1cdbd2cSJim Jagielski [in] long nTextConversionOptions ) 165*b1cdbd2cSJim Jagielski raises( com::sun::star::lang::IllegalArgumentException ); 166*b1cdbd2cSJim Jagielski 167*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 168*b1cdbd2cSJim Jagielski /** is used to add a conversion pair to the dictionary. 169*b1cdbd2cSJim Jagielski 170*b1cdbd2cSJim Jagielski @param aLeftText 171*b1cdbd2cSJim Jagielski the left text of the pair to be added. 172*b1cdbd2cSJim Jagielski 173*b1cdbd2cSJim Jagielski @param aRightText 174*b1cdbd2cSJim Jagielski the right text of the pair to be added. 175*b1cdbd2cSJim Jagielski 176*b1cdbd2cSJim Jagielski @throws com::sun::star::lang::IllegalArgumentException 177*b1cdbd2cSJim Jagielski if the arguments are invalid. 178*b1cdbd2cSJim Jagielski For example if the specifications defined by the service 179*b1cdbd2cSJim Jagielski implementing this object are not met. 180*b1cdbd2cSJim Jagielski 181*b1cdbd2cSJim Jagielski @throws com::sun::star::container::ElementExistException 182*b1cdbd2cSJim Jagielski if such an entry already exists. 183*b1cdbd2cSJim Jagielski */ 184*b1cdbd2cSJim Jagielski void addEntry( 185*b1cdbd2cSJim Jagielski [in] string aLeftText, 186*b1cdbd2cSJim Jagielski [in] string aRightText ) 187*b1cdbd2cSJim Jagielski raises( com::sun::star::lang::IllegalArgumentException, 188*b1cdbd2cSJim Jagielski com::sun::star::container::ElementExistException); 189*b1cdbd2cSJim Jagielski 190*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 191*b1cdbd2cSJim Jagielski /** removes a conversion pair from the dictionary. 192*b1cdbd2cSJim Jagielski 193*b1cdbd2cSJim Jagielski @param aLeftText 194*b1cdbd2cSJim Jagielski the left text of the pair to be removed. 195*b1cdbd2cSJim Jagielski 196*b1cdbd2cSJim Jagielski @param aRightText 197*b1cdbd2cSJim Jagielski the right text of the pair to be removed. 198*b1cdbd2cSJim Jagielski 199*b1cdbd2cSJim Jagielski @throws com::sun::star::container::NoSuchElementException 200*b1cdbd2cSJim Jagielski if there is no such entry. 201*b1cdbd2cSJim Jagielski */ 202*b1cdbd2cSJim Jagielski void removeEntry( 203*b1cdbd2cSJim Jagielski [in] string aLeftText, 204*b1cdbd2cSJim Jagielski [in] string aRightText ) 205*b1cdbd2cSJim Jagielski raises( com::sun::star::container::NoSuchElementException ); 206*b1cdbd2cSJim Jagielski 207*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 208*b1cdbd2cSJim Jagielski /** returns the maximum number of characters used as left or right text 209*b1cdbd2cSJim Jagielski in entries. 210*b1cdbd2cSJim Jagielski 211*b1cdbd2cSJim Jagielski @param eDirection 212*b1cdbd2cSJim Jagielski specifies if the left text or the right text of entries will 213*b1cdbd2cSJim Jagielski be used. 214*b1cdbd2cSJim Jagielski 215*b1cdbd2cSJim Jagielski @see com::sun::star::linguistic2::ConversionDirection 216*b1cdbd2cSJim Jagielski */ 217*b1cdbd2cSJim Jagielski short getMaxCharCount( 218*b1cdbd2cSJim Jagielski [in] com::sun::star::linguistic2::ConversionDirection eDirection ); 219*b1cdbd2cSJim Jagielski 220*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 221*b1cdbd2cSJim Jagielski /** 222*b1cdbd2cSJim Jagielski @returns 223*b1cdbd2cSJim Jagielski a list of all left or right parts of the dictionaries entries. 224*b1cdbd2cSJim Jagielski @param eDirection 225*b1cdbd2cSJim Jagielski specifies if all left or all right parts of the entries 226*b1cdbd2cSJim Jagielski should be returned. 227*b1cdbd2cSJim Jagielski */ 228*b1cdbd2cSJim Jagielski 229*b1cdbd2cSJim Jagielski sequence< string > getConversionEntries( 230*b1cdbd2cSJim Jagielski [in] com::sun::star::linguistic2::ConversionDirection eDirection ); 231*b1cdbd2cSJim Jagielski 232*b1cdbd2cSJim Jagielski}; 233*b1cdbd2cSJim Jagielski 234*b1cdbd2cSJim Jagielski//============================================================================= 235*b1cdbd2cSJim Jagielski 236*b1cdbd2cSJim Jagielski}; }; }; }; 237*b1cdbd2cSJim Jagielski 238*b1cdbd2cSJim Jagielski#endif 239*b1cdbd2cSJim Jagielski 240