/************************************************************** * * 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_i18n_XExtendedIndexEntrySupplier_idl__ #define __com_sun_star_i18n_XExtendedIndexEntrySupplier_idl__ #include <com/sun/star/i18n/XIndexEntrySupplier.idl> #include <com/sun/star/lang/Locale.idl> //============================================================================= module com { module sun { module star { module i18n { //============================================================================= /** This interface provides information for creating "Table of Index" <p> It is derived from <type scope="::com::sun::star::i18n">XIndexEntrySupplier</type> and provides following additional functionalities.</p> <ul> <li>Provide supported language/locale list. <li>Provide supported algorithm list. <li>Provide phonetic entry support for CJK languge. <li>Provide method to compare index entry. </ul> @since OpenOffice 1.1.2 */ published interface XExtendedIndexEntrySupplier : ::com::sun::star::i18n::XIndexEntrySupplier { //------------------------------------------------------------------------- /** Returns locale list for which the IndexEntrySupplier provides service. */ sequence < com::sun::star::lang::Locale > getLocaleList(); //------------------------------------------------------------------------- /** Returns index algorithm list for specific locale */ sequence < string > getAlgorithmList( [in] com::sun::star::lang::Locale aLocale ); //------------------------------------------------------------------------- /** Checks if Phonetic Entry should be used for the locale. */ boolean usePhoneticEntry( [in] com::sun::star::lang::Locale aLocale); //------------------------------------------------------------------------- /** Returns phonetic candidate for index entry for the locale. */ string getPhoneticCandidate( [in] string aIndexEntry, [in] com::sun::star::lang::Locale aLocale); //------------------------------------------------------------------------- /** Loads index algorithm for the locale. @param aIndexAlgorithm Index algorithm to be loaded. @param nCollatorOptions Sorting option of <type scope="::com::sun::star::i18n">CollatorOptions</type> for comparing index entries @return <TRUE/> if algorithm successfully loaded, <FALSE/> else. */ boolean loadAlgorithm( [in] com::sun::star::lang::Locale aLocale, [in] string aIndexAlgorithm, [in] long nCollatorOptions ); //------------------------------------------------------------------------- /** Returns index key. <p> Note that loadAlgorithm should be called before calling this function. </p> @param aIndexEntry Index entry @param aPhoneticEntry Phonetic entry @param aLocale Language attribute for index and phonetic entry. <br/> aLocale and the locale in loadAlgorithm may be different. In the case they are different, phonetic entry will not be used in the index key generation. */ string getIndexKey( [in] string aIndexEntry, [in] string aPhoneticEntry, [in] com::sun::star::lang::Locale aLocale ); //------------------------------------------------------------------------- /** Compares index entries <p> Note that loadAlgorithm should be called before calling this function. </p> @param aIndexEntry1 @param aIndexEntry2 Index entries to be compared @param aPhoneticEntry1 @param aPhoneticEntry2 Phonetic entries to be compared @param aLocale1 @param aLocale2 Language attribute for index and phonetic entry. <br/> aLocale and the locale in loadAlgorithm may be different. In the case they are different, phonetic entry will not be used in the index key generation. */ short compareIndexEntry( [in] string aIndexEntry1, [in] string aPhoneticEntry1, [in] com::sun::star::lang::Locale aLocale1, [in] string aIndexEntry2, [in] string aPhoneticEntry2, [in] com::sun::star::lang::Locale aLocale2 ); }; //============================================================================= }; }; }; }; #endif