LCOV - code coverage report
Current view: top level - i18npool/source/registerservices - registerservices.cxx (source / functions) Hit Total Coverage
Test: libreoffice_filtered.info Lines: 34 161 21.1 %
Date: 2012-08-25 Functions: 21 148 14.2 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 33 318 10.4 %

           Branch data     Line data    Source code
       1                 :            : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2                 :            : /*
       3                 :            :  * This file is part of the LibreOffice project.
       4                 :            :  *
       5                 :            :  * This Source Code Form is subject to the terms of the Mozilla Public
       6                 :            :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       7                 :            :  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       8                 :            :  *
       9                 :            :  * This file incorporates work covered by the following license notice:
      10                 :            :  *
      11                 :            :  *   Licensed to the Apache Software Foundation (ASF) under one or more
      12                 :            :  *   contributor license agreements. See the NOTICE file distributed
      13                 :            :  *   with this work for additional information regarding copyright
      14                 :            :  *   ownership. The ASF licenses this file to you under the Apache
      15                 :            :  *   License, Version 2.0 (the "License"); you may not use this file
      16                 :            :  *   except in compliance with the License. You may obtain a copy of
      17                 :            :  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
      18                 :            :  */
      19                 :            : 
      20                 :            : #include <com/sun/star/lang/XSingleServiceFactory.hpp>
      21                 :            : #include <com/sun/star/lang/XMultiServiceFactory.hpp>
      22                 :            : #include <com/sun/star/registry/XRegistryKey.hpp>
      23                 :            : 
      24                 :            : #include <cppuhelper/factory.hxx>
      25                 :            : #include <cppuhelper/weak.hxx>
      26                 :            : #include <osl/mutex.hxx>
      27                 :            : 
      28                 :            : #include <localedata.hxx>
      29                 :            : #include <numberformatcode.hxx>
      30                 :            : #include <nativenumbersupplier.hxx>
      31                 :            : #include <defaultnumberingprovider.hxx>
      32                 :            : #include <servicename.hxx>
      33                 :            : 
      34                 :            : #define TRANSLITERATION_ALL
      35                 :            : #include <transliterationImpl.hxx>
      36                 :            : #include <transliteration_body.hxx>
      37                 :            : #include <transliteration_caseignore.hxx>
      38                 :            : #include <transliteration_Ignore.hxx>
      39                 :            : #include <transliteration_OneToOne.hxx>
      40                 :            : #include <textToPronounce_zh.hxx>
      41                 :            : #include <numtotext_cjk.hxx>
      42                 :            : #include <numtochar.hxx>
      43                 :            : #include <texttonum.hxx>
      44                 :            : #include <chartonum.hxx>
      45                 :            : 
      46                 :            : #include <calendarImpl.hxx>
      47                 :            : #include <calendar_gregorian.hxx>
      48                 :            : #include <calendar_hijri.hxx>
      49                 :            : #include <calendar_jewish.hxx>
      50                 :            : 
      51                 :            : #define BREAKITERATOR_ALL
      52                 :            : #include <breakiteratorImpl.hxx>
      53                 :            : #include <breakiterator_cjk.hxx>
      54                 :            : #include <breakiterator_th.hxx>
      55                 :            : #include <breakiterator_unicode.hxx>
      56                 :            : 
      57                 :            : #include <indexentrysupplier.hxx>
      58                 :            : #include <indexentrysupplier_asian.hxx>
      59                 :            : #include <indexentrysupplier_ja_phonetic.hxx>
      60                 :            : #include <indexentrysupplier_common.hxx>
      61                 :            : #include <indexentrysupplier_default.hxx>
      62                 :            : 
      63                 :            : #define CCLASS_ALL
      64                 :            : #include <characterclassificationImpl.hxx>
      65                 :            : #include <unoscripttypedetector.hxx>
      66                 :            : #include <cclass_unicode.hxx>
      67                 :            : 
      68                 :            : #define COLLATOR_ALL
      69                 :            : #include <collatorImpl.hxx>
      70                 :            : #include <chaptercollator.hxx>
      71                 :            : #include <collator_unicode.hxx>
      72                 :            : 
      73                 :            : #include <inputsequencechecker.hxx>
      74                 :            : #include <inputsequencechecker_th.hxx>
      75                 :            : #include <inputsequencechecker_hi.hxx>
      76                 :            : 
      77                 :            : #include <textconversionImpl.hxx>
      78                 :            : #include <textconversion.hxx>
      79                 :            : 
      80                 :            : #include <ordinalsuffix.hxx>
      81                 :            : 
      82                 :            : #define IMPL_CREATEINSTANCE( ImplName ) \
      83                 :            :     ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >   \
      84                 :            :         SAL_CALL ImplName##_CreateInstance(                                 \
      85                 :            :             SAL_UNUSED_PARAMETER const ::com::sun::star::uno::Reference<    \
      86                 :            :                     ::com::sun::star::lang::XMultiServiceFactory >& )       \
      87                 :            : {                                                                           \
      88                 :            :     return ::com::sun::star::uno::Reference <                               \
      89                 :            :             ::com::sun::star::uno::XInterface >( ( ::cppu::OWeakObject* )   \
      90                 :            :                                     new ImplName );                         \
      91                 :            : }
      92                 :            : 
      93                 :            : #define IMPL_CREATEINSTANCE_MSF( ImplName ) \
      94                 :            :     ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >   \
      95                 :            :         SAL_CALL ImplName##_CreateInstance(                                 \
      96                 :            :             const ::com::sun::star::uno::Reference<                         \
      97                 :            :                     ::com::sun::star::lang::XMultiServiceFactory >& rxMSF ) \
      98                 :            : {                                                                           \
      99                 :            :     return ::com::sun::star::uno::Reference <                               \
     100                 :            :             ::com::sun::star::uno::XInterface >( ( ::cppu::OWeakObject* )   \
     101                 :            :                                     new ImplName( rxMSF ) );                \
     102                 :            : }
     103                 :            : 
     104                 :            : typedef ::com::sun::star::uno::Reference<
     105                 :            :         ::com::sun::star::uno::XInterface > (SAL_CALL *FN_CreateInstance)(
     106                 :            :             const ::com::sun::star::uno::Reference<
     107                 :            :                 ::com::sun::star::lang::XMultiServiceFactory >& );
     108                 :            : 
     109                 :            : #define IMPL_TRANSLITERATION_ITEM( implName ) \
     110                 :            :     {       TRLT_SERVICELNAME_L10N, \
     111                 :            :         TRLT_IMPLNAME_PREFIX  #implName, \
     112                 :            :         &implName##_CreateInstance }
     113                 :            : 
     114                 :            : // -------------------------------------------------------------------------------------
     115                 :            : 
     116                 :            : using namespace ::com::sun::star::i18n;
     117                 :            : 
     118         [ +  - ]:      16910 : IMPL_CREATEINSTANCE_MSF( NumberFormatCodeMapper )
     119         [ #  # ]:          0 : IMPL_CREATEINSTANCE( NativeNumberSupplier )
     120         [ +  - ]:      66833 : IMPL_CREATEINSTANCE( LocaleData )
     121         [ +  - ]:         59 : IMPL_CREATEINSTANCE_MSF( DefaultNumberingProvider )
     122         [ +  - ]:          4 : IMPL_CREATEINSTANCE_MSF( IndexEntrySupplier )
     123         [ #  # ]:          0 : IMPL_CREATEINSTANCE_MSF( IndexEntrySupplier_asian )
     124         [ #  # ]:          0 : IMPL_CREATEINSTANCE_MSF( IndexEntrySupplier_ja_phonetic_alphanumeric_first_by_syllable )
     125         [ #  # ]:          0 : IMPL_CREATEINSTANCE_MSF( IndexEntrySupplier_ja_phonetic_alphanumeric_first_by_consonant )
     126         [ #  # ]:          0 : IMPL_CREATEINSTANCE_MSF( IndexEntrySupplier_ja_phonetic_alphanumeric_last_by_syllable )
     127         [ #  # ]:          0 : IMPL_CREATEINSTANCE_MSF( IndexEntrySupplier_ja_phonetic_alphanumeric_last_by_consonant )
     128         [ #  # ]:          0 : IMPL_CREATEINSTANCE_MSF( IndexEntrySupplier_Unicode )
     129         [ +  - ]:        199 : IMPL_CREATEINSTANCE_MSF( CalendarImpl )
     130         [ +  - ]:        199 : IMPL_CREATEINSTANCE( Calendar_gregorian )
     131         [ #  # ]:          0 : IMPL_CREATEINSTANCE( Calendar_hanja )
     132         [ #  # ]:          0 : IMPL_CREATEINSTANCE( Calendar_gengou )
     133         [ #  # ]:          0 : IMPL_CREATEINSTANCE( Calendar_ROC )
     134         [ #  # ]:          0 : IMPL_CREATEINSTANCE( Calendar_hijri )
     135         [ #  # ]:          0 : IMPL_CREATEINSTANCE( Calendar_jewish )
     136         [ #  # ]:          0 : IMPL_CREATEINSTANCE( Calendar_buddhist )
     137         [ +  - ]:      26017 : IMPL_CREATEINSTANCE_MSF( BreakIteratorImpl )
     138         [ +  - ]:       1991 : IMPL_CREATEINSTANCE( BreakIterator_Unicode )
     139         [ #  # ]:          0 : IMPL_CREATEINSTANCE( BreakIterator_ja )
     140         [ +  - ]:          3 : IMPL_CREATEINSTANCE( BreakIterator_zh )
     141         [ #  # ]:          0 : IMPL_CREATEINSTANCE( BreakIterator_zh_TW )
     142         [ #  # ]:          0 : IMPL_CREATEINSTANCE( BreakIterator_ko )
     143         [ +  - ]:          3 : IMPL_CREATEINSTANCE( BreakIterator_th )
     144         [ #  # ]:          0 : IMPL_CREATEINSTANCE_MSF( ChapterCollator )
     145         [ +  - ]:        581 : IMPL_CREATEINSTANCE_MSF( CollatorImpl )
     146         [ +  - ]:        573 : IMPL_CREATEINSTANCE( Collator_Unicode )
     147                 :            : 
     148         [ +  - ]:      34872 : IMPL_CREATEINSTANCE_MSF( CharacterClassificationImpl )
     149 [ +  - ][ +  - ]:      34872 : IMPL_CREATEINSTANCE_MSF( cclass_Unicode )
     150         [ +  - ]:        365 : IMPL_CREATEINSTANCE_MSF( TransliterationImpl )
     151         [ #  # ]:          0 : IMPL_CREATEINSTANCE( UnoScriptTypeDetector )
     152                 :            : 
     153         [ #  # ]:          0 : IMPL_CREATEINSTANCE_MSF( InputSequenceCheckerImpl )
     154         [ #  # ]:          0 : IMPL_CREATEINSTANCE( InputSequenceChecker_th )
     155         [ #  # ]:          0 : IMPL_CREATEINSTANCE( InputSequenceChecker_hi )
     156                 :            : 
     157         [ #  # ]:          0 : IMPL_CREATEINSTANCE_MSF( TextConversionImpl )
     158         [ #  # ]:          0 : IMPL_CREATEINSTANCE_MSF( TextConversion_ko )
     159         [ #  # ]:          0 : IMPL_CREATEINSTANCE_MSF( TextConversion_zh )
     160                 :            : 
     161         [ #  # ]:          0 : IMPL_CREATEINSTANCE( Transliteration_u2l )
     162         [ +  - ]:          6 : IMPL_CREATEINSTANCE( Transliteration_l2u )
     163         [ #  # ]:          0 : IMPL_CREATEINSTANCE( Transliteration_sentencecase )
     164         [ #  # ]:          0 : IMPL_CREATEINSTANCE( Transliteration_titlecase )
     165         [ #  # ]:          0 : IMPL_CREATEINSTANCE( Transliteration_togglecase )
     166         [ +  - ]:        165 : IMPL_CREATEINSTANCE( Transliteration_caseignore )
     167         [ #  # ]:          0 : IMPL_CREATEINSTANCE( hiraganaToKatakana )
     168         [ #  # ]:          0 : IMPL_CREATEINSTANCE( katakanaToHiragana )
     169         [ +  - ]:         67 : IMPL_CREATEINSTANCE( ignoreKana )
     170         [ #  # ]:          0 : IMPL_CREATEINSTANCE( fullwidthToHalfwidth )
     171         [ #  # ]:          0 : IMPL_CREATEINSTANCE( halfwidthToFullwidth )
     172         [ +  - ]:        123 : IMPL_CREATEINSTANCE( ignoreWidth )
     173                 :            : 
     174         [ #  # ]:          0 : IMPL_CREATEINSTANCE( smallToLarge_ja_JP)
     175         [ #  # ]:          0 : IMPL_CREATEINSTANCE( largeToSmall_ja_JP)
     176         [ #  # ]:          0 : IMPL_CREATEINSTANCE( ignoreTraditionalKanji_ja_JP)
     177         [ #  # ]:          0 : IMPL_CREATEINSTANCE( ignoreTraditionalKana_ja_JP)
     178         [ #  # ]:          0 : IMPL_CREATEINSTANCE( ignoreMinusSign_ja_JP)
     179         [ #  # ]:          0 : IMPL_CREATEINSTANCE( ignoreIterationMark_ja_JP)
     180         [ #  # ]:          0 : IMPL_CREATEINSTANCE( ignoreSeparator_ja_JP)
     181         [ #  # ]:          0 : IMPL_CREATEINSTANCE( ignoreZiZu_ja_JP)
     182         [ #  # ]:          0 : IMPL_CREATEINSTANCE( ignoreBaFa_ja_JP)
     183         [ #  # ]:          0 : IMPL_CREATEINSTANCE( ignoreTiJi_ja_JP)
     184         [ #  # ]:          0 : IMPL_CREATEINSTANCE( ignoreHyuByu_ja_JP)
     185         [ #  # ]:          0 : IMPL_CREATEINSTANCE( ignoreSeZe_ja_JP)
     186         [ #  # ]:          0 : IMPL_CREATEINSTANCE( ignoreIandEfollowedByYa_ja_JP)
     187         [ #  # ]:          0 : IMPL_CREATEINSTANCE( ignoreKiKuFollowedBySa_ja_JP)
     188         [ #  # ]:          0 : IMPL_CREATEINSTANCE( ignoreSize_ja_JP)
     189         [ #  # ]:          0 : IMPL_CREATEINSTANCE( ignoreProlongedSoundMark_ja_JP)
     190         [ #  # ]:          0 : IMPL_CREATEINSTANCE( ignoreMiddleDot_ja_JP)
     191         [ #  # ]:          0 : IMPL_CREATEINSTANCE( ignoreSpace_ja_JP)
     192                 :            : 
     193         [ #  # ]:          0 : IMPL_CREATEINSTANCE( TextToChuyin_zh_TW )
     194         [ #  # ]:          0 : IMPL_CREATEINSTANCE( TextToPinyin_zh_CN )
     195                 :            : 
     196         [ #  # ]:          0 : IMPL_CREATEINSTANCE( NumToCharLower_zh_CN )
     197         [ #  # ]:          0 : IMPL_CREATEINSTANCE( NumToCharUpper_zh_CN )
     198         [ #  # ]:          0 : IMPL_CREATEINSTANCE( NumToCharLower_zh_TW )
     199         [ #  # ]:          0 : IMPL_CREATEINSTANCE( NumToCharUpper_zh_TW )
     200         [ #  # ]:          0 : IMPL_CREATEINSTANCE( NumToCharHalfwidth )
     201         [ #  # ]:          0 : IMPL_CREATEINSTANCE( NumToCharFullwidth )
     202         [ #  # ]:          0 : IMPL_CREATEINSTANCE( NumToCharKanjiShort_ja_JP )
     203         [ #  # ]:          0 : IMPL_CREATEINSTANCE( NumToCharKanjiTraditional_ja_JP )
     204         [ #  # ]:          0 : IMPL_CREATEINSTANCE( NumToCharHangul_ko )
     205         [ #  # ]:          0 : IMPL_CREATEINSTANCE( NumToCharLower_ko )
     206         [ #  # ]:          0 : IMPL_CREATEINSTANCE( NumToCharUpper_ko )
     207         [ #  # ]:          0 : IMPL_CREATEINSTANCE( NumToCharIndic_ar )
     208         [ #  # ]:          0 : IMPL_CREATEINSTANCE( NumToCharEastIndic_ar )
     209         [ #  # ]:          0 : IMPL_CREATEINSTANCE( NumToCharIndic_hi )
     210         [ #  # ]:          0 : IMPL_CREATEINSTANCE( NumToChar_th )
     211                 :            : 
     212         [ #  # ]:          0 : IMPL_CREATEINSTANCE( CharToNumLower_zh_CN )
     213         [ #  # ]:          0 : IMPL_CREATEINSTANCE( CharToNumUpper_zh_CN )
     214         [ #  # ]:          0 : IMPL_CREATEINSTANCE( CharToNumLower_zh_TW )
     215         [ #  # ]:          0 : IMPL_CREATEINSTANCE( CharToNumUpper_zh_TW )
     216         [ #  # ]:          0 : IMPL_CREATEINSTANCE( CharToNumFullwidth )
     217         [ #  # ]:          0 : IMPL_CREATEINSTANCE( CharToNumKanjiShort_ja_JP )
     218         [ #  # ]:          0 : IMPL_CREATEINSTANCE( CharToNumKanjiTraditional_ja_JP )
     219         [ #  # ]:          0 : IMPL_CREATEINSTANCE( CharToNumHangul_ko )
     220         [ #  # ]:          0 : IMPL_CREATEINSTANCE( CharToNumLower_ko )
     221         [ #  # ]:          0 : IMPL_CREATEINSTANCE( CharToNumUpper_ko )
     222         [ #  # ]:          0 : IMPL_CREATEINSTANCE( CharToNumIndic_ar )
     223         [ #  # ]:          0 : IMPL_CREATEINSTANCE( CharToNumEastIndic_ar )
     224         [ #  # ]:          0 : IMPL_CREATEINSTANCE( CharToNumIndic_hi )
     225         [ #  # ]:          0 : IMPL_CREATEINSTANCE( CharToNum_th )
     226                 :            : 
     227         [ #  # ]:          0 : IMPL_CREATEINSTANCE( NumToTextLower_zh_CN )
     228         [ #  # ]:          0 : IMPL_CREATEINSTANCE( NumToTextUpper_zh_CN )
     229         [ #  # ]:          0 : IMPL_CREATEINSTANCE( NumToTextLower_zh_TW )
     230         [ #  # ]:          0 : IMPL_CREATEINSTANCE( NumToTextUpper_zh_TW )
     231         [ #  # ]:          0 : IMPL_CREATEINSTANCE( NumToTextFullwidth_zh_CN )
     232         [ #  # ]:          0 : IMPL_CREATEINSTANCE( NumToTextFullwidth_zh_TW )
     233         [ #  # ]:          0 : IMPL_CREATEINSTANCE( NumToTextFullwidth_ja_JP )
     234         [ #  # ]:          0 : IMPL_CREATEINSTANCE( NumToTextFullwidth_ko )
     235         [ #  # ]:          0 : IMPL_CREATEINSTANCE( NumToTextKanjiLongModern_ja_JP )
     236         [ #  # ]:          0 : IMPL_CREATEINSTANCE( NumToTextKanjiLongTraditional_ja_JP )
     237         [ #  # ]:          0 : IMPL_CREATEINSTANCE( NumToTextKanjiShortModern_ja_JP )
     238         [ #  # ]:          0 : IMPL_CREATEINSTANCE( NumToTextKanjiShortTraditional_ja_JP )
     239         [ #  # ]:          0 : IMPL_CREATEINSTANCE( NumToTextFormalHangul_ko )
     240         [ #  # ]:          0 : IMPL_CREATEINSTANCE( NumToTextFormalLower_ko )
     241         [ #  # ]:          0 : IMPL_CREATEINSTANCE( NumToTextFormalUpper_ko )
     242         [ #  # ]:          0 : IMPL_CREATEINSTANCE( NumToTextInformalHangul_ko )
     243         [ #  # ]:          0 : IMPL_CREATEINSTANCE( NumToTextInformalUpper_ko )
     244         [ #  # ]:          0 : IMPL_CREATEINSTANCE( NumToTextInformalLower_ko )
     245                 :            : 
     246         [ #  # ]:          0 : IMPL_CREATEINSTANCE( TextToNumLower_zh_CN )
     247         [ #  # ]:          0 : IMPL_CREATEINSTANCE( TextToNumUpper_zh_CN )
     248         [ #  # ]:          0 : IMPL_CREATEINSTANCE( TextToNumLower_zh_TW )
     249         [ #  # ]:          0 : IMPL_CREATEINSTANCE( TextToNumUpper_zh_TW )
     250         [ #  # ]:          0 : IMPL_CREATEINSTANCE( TextToNumKanjiLongModern_ja_JP )
     251         [ #  # ]:          0 : IMPL_CREATEINSTANCE( TextToNumKanjiLongTraditional_ja_JP )
     252         [ #  # ]:          0 : IMPL_CREATEINSTANCE( TextToNumFormalHangul_ko )
     253         [ #  # ]:          0 : IMPL_CREATEINSTANCE( TextToNumFormalLower_ko )
     254         [ #  # ]:          0 : IMPL_CREATEINSTANCE( TextToNumFormalUpper_ko )
     255         [ #  # ]:          0 : IMPL_CREATEINSTANCE( TextToNumInformalHangul_ko )
     256         [ #  # ]:          0 : IMPL_CREATEINSTANCE( TextToNumInformalUpper_ko )
     257         [ #  # ]:          0 : IMPL_CREATEINSTANCE( TextToNumInformalLower_ko )
     258                 :            : 
     259         [ #  # ]:          0 : IMPL_CREATEINSTANCE( NumToTextDate_zh )
     260         [ #  # ]:          0 : IMPL_CREATEINSTANCE( NumToTextAIUFullWidth_ja_JP )
     261         [ #  # ]:          0 : IMPL_CREATEINSTANCE( NumToTextAIUHalfWidth_ja_JP )
     262         [ #  # ]:          0 : IMPL_CREATEINSTANCE( NumToTextIROHAFullWidth_ja_JP )
     263         [ #  # ]:          0 : IMPL_CREATEINSTANCE( NumToTextIROHAHalfWidth_ja_JP )
     264         [ #  # ]:          0 : IMPL_CREATEINSTANCE( NumToTextCircledNumber )
     265         [ #  # ]:          0 : IMPL_CREATEINSTANCE( NumToTextHangulJamo_ko )
     266         [ #  # ]:          0 : IMPL_CREATEINSTANCE( NumToTextHangulSyllable_ko )
     267         [ #  # ]:          0 : IMPL_CREATEINSTANCE( NumToTextHangulCircledJamo_ko )
     268         [ #  # ]:          0 : IMPL_CREATEINSTANCE( NumToTextHangulCircledSyllable_ko )
     269         [ #  # ]:          0 : IMPL_CREATEINSTANCE( NumToTextTianGan_zh )
     270         [ #  # ]:          0 : IMPL_CREATEINSTANCE( NumToTextDiZi_zh )
     271                 :            : 
     272         [ #  # ]:          0 : IMPL_CREATEINSTANCE( fullwidthKatakanaToHalfwidthKatakana )
     273         [ #  # ]:          0 : IMPL_CREATEINSTANCE( halfwidthKatakanaToFullwidthKatakana )
     274         [ #  # ]:          0 : IMPL_CREATEINSTANCE( fullwidthToHalfwidthLikeASC )
     275         [ #  # ]:          0 : IMPL_CREATEINSTANCE( halfwidthToFullwidthLikeJIS )
     276                 :            : 
     277         [ +  - ]:          3 : IMPL_CREATEINSTANCE_MSF( OrdinalSuffix )
     278                 :            : 
     279                 :            : static const struct InstancesArray {
     280                 :            :         const sal_Char* pServiceNm;
     281                 :            :         const sal_Char* pImplementationNm;
     282                 :            :         FN_CreateInstance pFn;
     283                 :            : } aInstances[] = {
     284                 :            :     {   "com.sun.star.i18n.LocaleData",
     285                 :            :         "com.sun.star.i18n.LocaleData",
     286                 :            :         & LocaleData_CreateInstance },
     287                 :            :     {   "com.sun.star.i18n.NumberFormatMapper",
     288                 :            :         "com.sun.star.i18n.NumberFormatCodeMapper",
     289                 :            :         & NumberFormatCodeMapper_CreateInstance },
     290                 :            :     {   "com.sun.star.i18n.NativeNumberSupplier",
     291                 :            :         "com.sun.star.i18n.NativeNumberSupplier",
     292                 :            :         & NativeNumberSupplier_CreateInstance },
     293                 :            :     {   "com.sun.star.text.DefaultNumberingProvider",
     294                 :            :         "com.sun.star.text.DefaultNumberingProvider",
     295                 :            :         &DefaultNumberingProvider_CreateInstance },
     296                 :            :     {   "com.sun.star.i18n.IndexEntrySupplier",
     297                 :            :         "com.sun.star.i18n.IndexEntrySupplier",
     298                 :            :         &IndexEntrySupplier_CreateInstance },
     299                 :            :     {   "com.sun.star.i18n.IndexEntrySupplier_asian",
     300                 :            :         "com.sun.star.i18n.IndexEntrySupplier_asian",
     301                 :            :         &IndexEntrySupplier_asian_CreateInstance },
     302                 :            :     {   "com.sun.star.i18n.IndexEntrySupplier_ja_phonetic (alphanumeric first)",
     303                 :            :         "com.sun.star.i18n.IndexEntrySupplier_ja_phonetic (alphanumeric first)",
     304                 :            :         &IndexEntrySupplier_ja_phonetic_alphanumeric_first_by_syllable_CreateInstance },
     305                 :            :     {   "com.sun.star.i18n.IndexEntrySupplier_ja_phonetic (alphanumeric last)",
     306                 :            :         "com.sun.star.i18n.IndexEntrySupplier_ja_phonetic (alphanumeric last)",
     307                 :            :         &IndexEntrySupplier_ja_phonetic_alphanumeric_last_by_syllable_CreateInstance },
     308                 :            :     {   "com.sun.star.i18n.IndexEntrySupplier_ja_phonetic (alphanumeric first) (grouped by syllable)",
     309                 :            :         "com.sun.star.i18n.IndexEntrySupplier_ja_phonetic (alphanumeric first) (grouped by syllable)",
     310                 :            :         &IndexEntrySupplier_ja_phonetic_alphanumeric_first_by_syllable_CreateInstance },
     311                 :            :     {   "com.sun.star.i18n.IndexEntrySupplier_ja_phonetic (alphanumeric first) (grouped by consonant)",
     312                 :            :         "com.sun.star.i18n.IndexEntrySupplier_ja_phonetic (alphanumeric first) (grouped by consonant)",
     313                 :            :         &IndexEntrySupplier_ja_phonetic_alphanumeric_first_by_consonant_CreateInstance },
     314                 :            :     {   "com.sun.star.i18n.IndexEntrySupplier_ja_phonetic (alphanumeric last) (grouped by syllable)",
     315                 :            :         "com.sun.star.i18n.IndexEntrySupplier_ja_phonetic (alphanumeric last) (grouped by syllable)",
     316                 :            :         &IndexEntrySupplier_ja_phonetic_alphanumeric_last_by_syllable_CreateInstance },
     317                 :            :     {   "com.sun.star.i18n.IndexEntrySupplier_ja_phonetic (alphanumeric last) (grouped by consonant)",
     318                 :            :         "com.sun.star.i18n.IndexEntrySupplier_ja_phonetic (alphanumeric last) (grouped by consonant)",
     319                 :            :         &IndexEntrySupplier_ja_phonetic_alphanumeric_last_by_consonant_CreateInstance },
     320                 :            :     {       "com.sun.star.i18n.IndexEntrySupplier_Unicode",
     321                 :            :         "com.sun.star.i18n.IndexEntrySupplier_Unicode",
     322                 :            :         &IndexEntrySupplier_Unicode_CreateInstance },
     323                 :            :     {   "com.sun.star.i18n.LocaleCalendar",
     324                 :            :         "com.sun.star.i18n.CalendarImpl",
     325                 :            :         &CalendarImpl_CreateInstance },
     326                 :            :     {   "com.sun.star.i18n.Calendar_gregorian",
     327                 :            :         "com.sun.star.i18n.Calendar_gregorian",
     328                 :            :         &Calendar_gregorian_CreateInstance },
     329                 :            :     {   "com.sun.star.i18n.Calendar_gengou",
     330                 :            :         "com.sun.star.i18n.Calendar_gengou",
     331                 :            :         &Calendar_gengou_CreateInstance },
     332                 :            :     {   "com.sun.star.i18n.Calendar_ROC",
     333                 :            :         "com.sun.star.i18n.Calendar_ROC",
     334                 :            :         &Calendar_ROC_CreateInstance },
     335                 :            :     {   "com.sun.star.i18n.Calendar_hanja_yoil",
     336                 :            :         "com.sun.star.i18n.Calendar_hanja_yoil",
     337                 :            :         &Calendar_hanja_CreateInstance },
     338                 :            :     {   "com.sun.star.i18n.Calendar_hanja",
     339                 :            :         "com.sun.star.i18n.Calendar_hanja",
     340                 :            :         &Calendar_hanja_CreateInstance },
     341                 :            :     {   "com.sun.star.i18n.Calendar_hijri",
     342                 :            :         "com.sun.star.i18n.Calendar_hijri",
     343                 :            :         &Calendar_hijri_CreateInstance },
     344                 :            :     {   "com.sun.star.i18n.Calendar_jewish",
     345                 :            :         "com.sun.star.i18n.Calendar_jewish",
     346                 :            :         &Calendar_jewish_CreateInstance },
     347                 :            :     {   "com.sun.star.i18n.Calendar_buddhist",
     348                 :            :         "com.sun.star.i18n.Calendar_buddhist",
     349                 :            :         &Calendar_buddhist_CreateInstance },
     350                 :            :     {   "com.sun.star.i18n.BreakIterator",
     351                 :            :         "com.sun.star.i18n.BreakIterator",
     352                 :            :         &BreakIteratorImpl_CreateInstance },
     353                 :            :     {   "com.sun.star.i18n.BreakIterator_Unicode",
     354                 :            :         "com.sun.star.i18n.BreakIterator_Unicode",
     355                 :            :         &BreakIterator_Unicode_CreateInstance },
     356                 :            :     {   "com.sun.star.i18n.BreakIterator_ja",
     357                 :            :         "com.sun.star.i18n.BreakIterator_ja",
     358                 :            :         &BreakIterator_ja_CreateInstance },
     359                 :            :     {   "com.sun.star.i18n.BreakIterator_zh",
     360                 :            :         "com.sun.star.i18n.BreakIterator_zh",
     361                 :            :         &BreakIterator_zh_CreateInstance },
     362                 :            :     {   "com.sun.star.i18n.BreakIterator_zh_TW",
     363                 :            :         "com.sun.star.i18n.BreakIterator_zh_TW",
     364                 :            :         &BreakIterator_zh_TW_CreateInstance },
     365                 :            :     {   "com.sun.star.i18n.BreakIterator_ko",
     366                 :            :         "com.sun.star.i18n.BreakIterator_ko",
     367                 :            :         &BreakIterator_ko_CreateInstance },
     368                 :            :     {   "com.sun.star.i18n.BreakIterator_th",
     369                 :            :         "com.sun.star.i18n.BreakIterator_th",
     370                 :            :         &BreakIterator_th_CreateInstance },
     371                 :            :     {   "com.sun.star.i18n.Collator",
     372                 :            :         "com.sun.star.i18n.Collator",
     373                 :            :         &CollatorImpl_CreateInstance },
     374                 :            :     {   "com.sun.star.i18n.ChapterCollator",
     375                 :            :         "com.sun.star.i18n.ChapterCollator",
     376                 :            :         &ChapterCollator_CreateInstance },
     377                 :            :     {   "com.sun.star.i18n.Collator_Unicode",
     378                 :            :         "com.sun.star.i18n.Collator_Unicode",
     379                 :            :         &Collator_Unicode_CreateInstance },
     380                 :            :     {   "com.sun.star.i18n.ScriptTypeDetector",
     381                 :            :         "com.sun.star.i18n.ScriptTypeDetector",
     382                 :            :         &UnoScriptTypeDetector_CreateInstance },
     383                 :            :     {   "com.sun.star.i18n.CharacterClassification",
     384                 :            :         "com.sun.star.i18n.CharacterClassification",
     385                 :            :         &CharacterClassificationImpl_CreateInstance },
     386                 :            :     {   "com.sun.star.i18n.CharacterClassification_Unicode",
     387                 :            :         "com.sun.star.i18n.CharacterClassification_Unicode",
     388                 :            :         &cclass_Unicode_CreateInstance },
     389                 :            :     {   "com.sun.star.i18n.InputSequenceChecker",
     390                 :            :         "com.sun.star.i18n.InputSequenceChecker",
     391                 :            :         &InputSequenceCheckerImpl_CreateInstance },
     392                 :            :     {   "com.sun.star.i18n.InputSequenceChecker_th",
     393                 :            :         "com.sun.star.i18n.InputSequenceChecker_th",
     394                 :            :         &InputSequenceChecker_th_CreateInstance },
     395                 :            :     {   "com.sun.star.i18n.InputSequenceChecker_hi",
     396                 :            :         "com.sun.star.i18n.InputSequenceChecker_hi",
     397                 :            :         &InputSequenceChecker_hi_CreateInstance },
     398                 :            :     {   "com.sun.star.i18n.TextConversion",
     399                 :            :         "com.sun.star.i18n.TextConversion",
     400                 :            :         &TextConversionImpl_CreateInstance },
     401                 :            :     {   "com.sun.star.i18n.TextConversion_ko",
     402                 :            :         "com.sun.star.i18n.TextConversion_ko",
     403                 :            :         &TextConversion_ko_CreateInstance },
     404                 :            :     {   "com.sun.star.i18n.TextConversion_zh",
     405                 :            :         "com.sun.star.i18n.TextConversion_zh",
     406                 :            :         &TextConversion_zh_CreateInstance },
     407                 :            :     {   TRLT_SERVICELNAME,
     408                 :            :         TRLT_IMPLNAME ,
     409                 :            :         &TransliterationImpl_CreateInstance },
     410                 :            :     {   TRLT_SERVICELNAME_L10N,
     411                 :            :         TRLT_IMPLNAME_PREFIX  "UPPERCASE_LOWERCASE",
     412                 :            :         &Transliteration_u2l_CreateInstance },
     413                 :            :     {   TRLT_SERVICELNAME_L10N,
     414                 :            :         TRLT_IMPLNAME_PREFIX  "LOWERCASE_UPPERCASE",
     415                 :            :         &Transliteration_l2u_CreateInstance },
     416                 :            :     {   TRLT_SERVICELNAME_L10N,
     417                 :            :         TRLT_IMPLNAME_PREFIX  "SENTENCE_CASE",
     418                 :            :         &Transliteration_sentencecase_CreateInstance },
     419                 :            :     {   TRLT_SERVICELNAME_L10N,
     420                 :            :         TRLT_IMPLNAME_PREFIX  "TITLE_CASE",
     421                 :            :         &Transliteration_titlecase_CreateInstance },
     422                 :            :     {   TRLT_SERVICELNAME_L10N,
     423                 :            :         TRLT_IMPLNAME_PREFIX  "TOGGLE_CASE",
     424                 :            :         &Transliteration_togglecase_CreateInstance },
     425                 :            :     {   TRLT_SERVICELNAME_L10N,
     426                 :            :         TRLT_IMPLNAME_PREFIX  "IGNORE_CASE",
     427                 :            :         &Transliteration_caseignore_CreateInstance },
     428                 :            :     {   TRLT_SERVICELNAME_L10N,
     429                 :            :         TRLT_IMPLNAME_PREFIX  "HIRAGANA_KATAKANA",
     430                 :            :         &hiraganaToKatakana_CreateInstance },
     431                 :            :     {   TRLT_SERVICELNAME_L10N,
     432                 :            :         TRLT_IMPLNAME_PREFIX  "KATAKANA_HIRAGANA",
     433                 :            :         &katakanaToHiragana_CreateInstance },
     434                 :            :     {   TRLT_SERVICELNAME_L10N,
     435                 :            :         TRLT_IMPLNAME_PREFIX  "IGNORE_KANA",
     436                 :            :         &ignoreKana_CreateInstance },
     437                 :            :     {   TRLT_SERVICELNAME_L10N,
     438                 :            :         TRLT_IMPLNAME_PREFIX  "FULLWIDTH_HALFWIDTH",
     439                 :            :         &fullwidthToHalfwidth_CreateInstance },
     440                 :            :     {   TRLT_SERVICELNAME_L10N,
     441                 :            :         TRLT_IMPLNAME_PREFIX  "HALFWIDTH_FULLWIDTH",
     442                 :            :         &halfwidthToFullwidth_CreateInstance },
     443                 :            :     {   TRLT_SERVICELNAME_L10N,
     444                 :            :         TRLT_IMPLNAME_PREFIX  "IGNORE_WIDTH",
     445                 :            :         &ignoreWidth_CreateInstance },
     446                 :            :     IMPL_TRANSLITERATION_ITEM (smallToLarge_ja_JP),
     447                 :            :     IMPL_TRANSLITERATION_ITEM (largeToSmall_ja_JP),
     448                 :            :     IMPL_TRANSLITERATION_ITEM (ignoreTraditionalKanji_ja_JP),
     449                 :            :     IMPL_TRANSLITERATION_ITEM (ignoreTraditionalKana_ja_JP),
     450                 :            :     IMPL_TRANSLITERATION_ITEM (ignoreKana),
     451                 :            :     IMPL_TRANSLITERATION_ITEM (ignoreMinusSign_ja_JP),
     452                 :            :     IMPL_TRANSLITERATION_ITEM (ignoreIterationMark_ja_JP),
     453                 :            :     IMPL_TRANSLITERATION_ITEM (ignoreSeparator_ja_JP),
     454                 :            :     IMPL_TRANSLITERATION_ITEM (ignoreZiZu_ja_JP),
     455                 :            :     IMPL_TRANSLITERATION_ITEM (ignoreBaFa_ja_JP),
     456                 :            :     IMPL_TRANSLITERATION_ITEM (ignoreTiJi_ja_JP),
     457                 :            :     IMPL_TRANSLITERATION_ITEM (ignoreHyuByu_ja_JP),
     458                 :            :     IMPL_TRANSLITERATION_ITEM (ignoreSeZe_ja_JP),
     459                 :            :     IMPL_TRANSLITERATION_ITEM (ignoreIandEfollowedByYa_ja_JP),
     460                 :            :     IMPL_TRANSLITERATION_ITEM (ignoreKiKuFollowedBySa_ja_JP),
     461                 :            :     IMPL_TRANSLITERATION_ITEM (ignoreSize_ja_JP),
     462                 :            :     IMPL_TRANSLITERATION_ITEM (ignoreProlongedSoundMark_ja_JP),
     463                 :            :     IMPL_TRANSLITERATION_ITEM (ignoreMiddleDot_ja_JP),
     464                 :            :     IMPL_TRANSLITERATION_ITEM (ignoreSpace_ja_JP),
     465                 :            :     IMPL_TRANSLITERATION_ITEM (TextToPinyin_zh_CN),
     466                 :            :     IMPL_TRANSLITERATION_ITEM (TextToChuyin_zh_TW),
     467                 :            : 
     468                 :            :     IMPL_TRANSLITERATION_ITEM (NumToCharUpper_zh_CN),
     469                 :            :     IMPL_TRANSLITERATION_ITEM (NumToCharLower_zh_CN),
     470                 :            :     IMPL_TRANSLITERATION_ITEM (NumToCharUpper_zh_TW),
     471                 :            :     IMPL_TRANSLITERATION_ITEM (NumToCharLower_zh_TW),
     472                 :            :     IMPL_TRANSLITERATION_ITEM (NumToCharHalfwidth),
     473                 :            :     IMPL_TRANSLITERATION_ITEM (NumToCharFullwidth),
     474                 :            :     IMPL_TRANSLITERATION_ITEM (NumToCharKanjiShort_ja_JP),
     475                 :            :     IMPL_TRANSLITERATION_ITEM (NumToCharKanjiTraditional_ja_JP),
     476                 :            :     IMPL_TRANSLITERATION_ITEM (NumToCharLower_ko),
     477                 :            :     IMPL_TRANSLITERATION_ITEM (NumToCharUpper_ko),
     478                 :            :     IMPL_TRANSLITERATION_ITEM (NumToCharHangul_ko),
     479                 :            :     IMPL_TRANSLITERATION_ITEM (NumToCharIndic_ar),
     480                 :            :     IMPL_TRANSLITERATION_ITEM (NumToCharEastIndic_ar),
     481                 :            :     IMPL_TRANSLITERATION_ITEM (NumToCharIndic_hi),
     482                 :            :     IMPL_TRANSLITERATION_ITEM (NumToChar_th),
     483                 :            : 
     484                 :            :     IMPL_TRANSLITERATION_ITEM (CharToNumUpper_zh_CN),
     485                 :            :     IMPL_TRANSLITERATION_ITEM (CharToNumLower_zh_CN),
     486                 :            :     IMPL_TRANSLITERATION_ITEM (CharToNumUpper_zh_TW),
     487                 :            :     IMPL_TRANSLITERATION_ITEM (CharToNumLower_zh_TW),
     488                 :            :     IMPL_TRANSLITERATION_ITEM (CharToNumFullwidth),
     489                 :            :     IMPL_TRANSLITERATION_ITEM (CharToNumKanjiShort_ja_JP),
     490                 :            :     IMPL_TRANSLITERATION_ITEM (CharToNumKanjiTraditional_ja_JP),
     491                 :            :     IMPL_TRANSLITERATION_ITEM (CharToNumLower_ko),
     492                 :            :     IMPL_TRANSLITERATION_ITEM (CharToNumUpper_ko),
     493                 :            :     IMPL_TRANSLITERATION_ITEM (CharToNumHangul_ko),
     494                 :            :     IMPL_TRANSLITERATION_ITEM (CharToNumIndic_ar),
     495                 :            :     IMPL_TRANSLITERATION_ITEM (CharToNumEastIndic_ar),
     496                 :            :     IMPL_TRANSLITERATION_ITEM (CharToNumIndic_hi),
     497                 :            :     IMPL_TRANSLITERATION_ITEM (CharToNum_th),
     498                 :            : 
     499                 :            :     IMPL_TRANSLITERATION_ITEM (NumToTextUpper_zh_CN),
     500                 :            :     IMPL_TRANSLITERATION_ITEM (NumToTextLower_zh_CN),
     501                 :            :     IMPL_TRANSLITERATION_ITEM (NumToTextUpper_zh_TW),
     502                 :            :     IMPL_TRANSLITERATION_ITEM (NumToTextLower_zh_TW),
     503                 :            :     IMPL_TRANSLITERATION_ITEM (NumToTextFullwidth_zh_CN),
     504                 :            :     IMPL_TRANSLITERATION_ITEM (NumToTextFullwidth_zh_TW),
     505                 :            :     IMPL_TRANSLITERATION_ITEM (NumToTextFullwidth_ja_JP),
     506                 :            :     IMPL_TRANSLITERATION_ITEM (NumToTextFullwidth_ko),
     507                 :            :     IMPL_TRANSLITERATION_ITEM (NumToTextKanjiLongModern_ja_JP),
     508                 :            :     IMPL_TRANSLITERATION_ITEM (NumToTextKanjiLongTraditional_ja_JP),
     509                 :            :     IMPL_TRANSLITERATION_ITEM (NumToTextKanjiShortModern_ja_JP),
     510                 :            :     IMPL_TRANSLITERATION_ITEM (NumToTextKanjiShortTraditional_ja_JP),
     511                 :            :     IMPL_TRANSLITERATION_ITEM (NumToTextInformalHangul_ko),
     512                 :            :     IMPL_TRANSLITERATION_ITEM (NumToTextInformalLower_ko),
     513                 :            :     IMPL_TRANSLITERATION_ITEM (NumToTextInformalUpper_ko),
     514                 :            :     IMPL_TRANSLITERATION_ITEM (NumToTextFormalHangul_ko),
     515                 :            :     IMPL_TRANSLITERATION_ITEM (NumToTextFormalLower_ko),
     516                 :            :     IMPL_TRANSLITERATION_ITEM (NumToTextFormalUpper_ko),
     517                 :            : 
     518                 :            :     IMPL_TRANSLITERATION_ITEM (TextToNumUpper_zh_CN),
     519                 :            :     IMPL_TRANSLITERATION_ITEM (TextToNumLower_zh_CN),
     520                 :            :     IMPL_TRANSLITERATION_ITEM (TextToNumUpper_zh_TW),
     521                 :            :     IMPL_TRANSLITERATION_ITEM (TextToNumLower_zh_TW),
     522                 :            :     IMPL_TRANSLITERATION_ITEM (TextToNumKanjiLongModern_ja_JP),
     523                 :            :     IMPL_TRANSLITERATION_ITEM (TextToNumKanjiLongTraditional_ja_JP),
     524                 :            :     IMPL_TRANSLITERATION_ITEM (TextToNumInformalHangul_ko),
     525                 :            :     IMPL_TRANSLITERATION_ITEM (TextToNumInformalLower_ko),
     526                 :            :     IMPL_TRANSLITERATION_ITEM (TextToNumInformalUpper_ko),
     527                 :            :     IMPL_TRANSLITERATION_ITEM (TextToNumFormalHangul_ko),
     528                 :            :     IMPL_TRANSLITERATION_ITEM (TextToNumFormalLower_ko),
     529                 :            :     IMPL_TRANSLITERATION_ITEM (TextToNumFormalUpper_ko),
     530                 :            : 
     531                 :            :     IMPL_TRANSLITERATION_ITEM (NumToTextDate_zh),
     532                 :            :     IMPL_TRANSLITERATION_ITEM (NumToTextAIUFullWidth_ja_JP),
     533                 :            :     IMPL_TRANSLITERATION_ITEM (NumToTextAIUHalfWidth_ja_JP),
     534                 :            :     IMPL_TRANSLITERATION_ITEM (NumToTextIROHAFullWidth_ja_JP),
     535                 :            :     IMPL_TRANSLITERATION_ITEM (NumToTextIROHAHalfWidth_ja_JP),
     536                 :            :     IMPL_TRANSLITERATION_ITEM (NumToTextCircledNumber),
     537                 :            :     IMPL_TRANSLITERATION_ITEM (NumToTextHangulJamo_ko),
     538                 :            :     IMPL_TRANSLITERATION_ITEM (NumToTextHangulSyllable_ko),
     539                 :            :     IMPL_TRANSLITERATION_ITEM (NumToTextHangulCircledJamo_ko),
     540                 :            :     IMPL_TRANSLITERATION_ITEM (NumToTextHangulCircledSyllable_ko),
     541                 :            :     IMPL_TRANSLITERATION_ITEM (NumToTextTianGan_zh),
     542                 :            :     IMPL_TRANSLITERATION_ITEM (NumToTextDiZi_zh),
     543                 :            : 
     544                 :            :     {   "com.sun.star.i18n.OrdinalSuffix",
     545                 :            :         "com.sun.star.i18n.OrdinalSuffix",
     546                 :            :         & OrdinalSuffix_CreateInstance },
     547                 :            : 
     548                 :            :     {   TRLT_SERVICELNAME_L10N,
     549                 :            :         TRLT_IMPLNAME_PREFIX  "FULLWIDTHKATAKANA_HALFWIDTHKATAKANA",
     550                 :            :         &fullwidthKatakanaToHalfwidthKatakana_CreateInstance },
     551                 :            :     {   TRLT_SERVICELNAME_L10N,
     552                 :            :         TRLT_IMPLNAME_PREFIX  "HALFWIDTHKATAKANA_FULLWIDTHKATAKANA",
     553                 :            :         &halfwidthKatakanaToFullwidthKatakana_CreateInstance },
     554                 :            :     {   TRLT_SERVICELNAME_L10N,
     555                 :            :         TRLT_IMPLNAME_PREFIX  "FULLWIDTH_HALFWIDTH_LIKE_ASC",
     556                 :            :         &fullwidthToHalfwidthLikeASC_CreateInstance },
     557                 :            :     {   TRLT_SERVICELNAME_L10N,
     558                 :            :         TRLT_IMPLNAME_PREFIX  "HALFWIDTH_FULLWIDTH_LIKE_JIS",
     559                 :            :         &halfwidthToFullwidthLikeJIS_CreateInstance },
     560                 :            : // add here new services !!
     561                 :            :     { 0, 0, 0 }
     562                 :            : };
     563                 :            : 
     564                 :            : 
     565                 :            : extern "C"
     566                 :            : {
     567                 :            : 
     568                 :       1561 : SAL_DLLPUBLIC_EXPORT void* SAL_CALL i18npool_component_getFactory( const sal_Char* sImplementationName, void* _pServiceManager, SAL_UNUSED_PARAMETER void* /*_pRegistryKey*/ )
     569                 :            : {
     570                 :       1561 :     void* pRet = NULL;
     571                 :            : 
     572                 :            :     ::com::sun::star::lang::XMultiServiceFactory* pServiceManager =
     573                 :            :         reinterpret_cast< ::com::sun::star::lang::XMultiServiceFactory* >
     574                 :       1561 :             ( _pServiceManager );
     575                 :            :     ::com::sun::star::uno::Reference<
     576                 :       1561 :             ::com::sun::star::lang::XSingleServiceFactory > xFactory;
     577                 :            : 
     578         [ +  - ]:      41520 :     for( const InstancesArray* pArr = aInstances; pArr->pServiceNm; ++pArr )
     579                 :            :     {
     580         [ +  + ]:      41520 :         if( 0 == rtl_str_compare( sImplementationName, pArr->pImplementationNm ) )
     581                 :            :         {
     582         [ +  - ]:       1561 :             ::com::sun::star::uno::Sequence< ::rtl::OUString > aServiceNames(1);
     583                 :            :             aServiceNames.getArray()[0] =
     584         [ +  - ]:       1561 :                 ::rtl::OUString::createFromAscii( pArr->pServiceNm );
     585                 :            :             xFactory = ::cppu::createSingleFactory(
     586                 :            :                     pServiceManager,
     587                 :            :                     ::rtl::OUString::createFromAscii( pArr->pImplementationNm ),
     588 [ +  - ][ +  - ]:       1561 :                     *pArr->pFn, aServiceNames );
                 [ +  - ]
     589         [ +  - ]:       1561 :             break;
     590                 :            :         }
     591                 :            :     }
     592                 :            : 
     593         [ +  - ]:       1561 :     if ( xFactory.is() )
     594                 :            :     {
     595         [ +  - ]:       1561 :         xFactory->acquire();
     596         [ +  - ]:       1561 :         pRet = xFactory.get();
     597                 :            :     }
     598                 :            : 
     599                 :       1561 :     return pRet;
     600                 :            : }
     601                 :            : 
     602                 :            : }   // "C"
     603                 :            : 
     604                 :            : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10