summaryrefslogtreecommitdiff
path: root/unotools
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@novell.com>2011-08-19 10:28:42 +0100
committerMichael Meeks <michael.meeks@novell.com>2011-08-19 12:27:18 +0100
commitd27d1489770666fe1d44f832882b67ac507033cd (patch)
treed0a32605a43b68ccd3b75d0ff35242b1ffaf0019 /unotools
parent1ee8a779c21e8d6f6a85a4e0bcefee227bff5a94 (diff)
remove legacy explicit library loading fallbacks, and clean
centralise cut/paste coding designed to explicitly load i18n and i18npool libraries if UNO is not bootstrapped. Instead fallback to the process service manager, and require this to be initialized, even for small tools.
Diffstat (limited to 'unotools')
-rw-r--r--unotools/inc/unotools/charclass.hxx3
-rw-r--r--unotools/source/i18n/calendarwrapper.cxx51
-rw-r--r--unotools/source/i18n/charclass.cxx48
-rw-r--r--unotools/source/i18n/collatorwrapper.cxx45
-rw-r--r--unotools/source/i18n/instance.hxx64
-rw-r--r--unotools/source/i18n/localedatawrapper.cxx55
-rw-r--r--unotools/source/i18n/nativenumberwrapper.cxx46
-rw-r--r--unotools/source/i18n/numberformatcodewrapper.cxx45
-rw-r--r--unotools/source/i18n/transliterationwrapper.cxx45
9 files changed, 90 insertions, 312 deletions
diff --git a/unotools/inc/unotools/charclass.hxx b/unotools/inc/unotools/charclass.hxx
index 8cd379f678dd..acb640d36825 100644
--- a/unotools/inc/unotools/charclass.hxx
+++ b/unotools/inc/unotools/charclass.hxx
@@ -85,9 +85,6 @@ class UNOTOOLS_DLLPUBLIC CharClass
CharClass( const CharClass& );
CharClass& operator=( const CharClass& );
- // instantiate component somehow
- void getComponentInstance();
-
public:
/// Preferred ctor with service manager specified
CharClass(
diff --git a/unotools/source/i18n/calendarwrapper.cxx b/unotools/source/i18n/calendarwrapper.cxx
index 4510981a8bd2..bd79ab71ee01 100644
--- a/unotools/source/i18n/calendarwrapper.cxx
+++ b/unotools/source/i18n/calendarwrapper.cxx
@@ -32,16 +32,13 @@
#include <unotools/calendarwrapper.hxx>
#include <tools/string.hxx>
#include <tools/debug.hxx>
-
-#include <comphelper/componentfactory.hxx>
+#include <instance.hxx>
#include <com/sun/star/i18n/CalendarFieldIndex.hpp>
#include <com/sun/star/i18n/XExtendedCalendar.hpp>
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#define CALENDAR_LIBRARYNAME "i18n"
#define CALENDAR_SERVICENAME "com.sun.star.i18n.LocaleCalendar"
-
using namespace ::com::sun::star;
using namespace ::com::sun::star::i18n;
using namespace ::com::sun::star::uno;
@@ -57,53 +54,9 @@ CalendarWrapper::CalendarWrapper(
xSMgr( xSF ),
aEpochStart( Date( 1, 1, 1970 ) )
{
- if ( xSMgr.is() )
- {
- try
- {
- xC = Reference< XExtendedCalendar > ( xSMgr->createInstance(
- ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( CALENDAR_SERVICENAME ) ) ),
- uno::UNO_QUERY );
- }
- catch ( Exception& e )
- {
-#ifdef DBG_UTIL
- ByteString aMsg( "CalendarWrapper ctor: Exception caught\n" );
- aMsg += ByteString( String( e.Message ), RTL_TEXTENCODING_UTF8 );
- DBG_ERRORFILE( aMsg.GetBuffer() );
-#else
- (void)e;
-#endif
- }
- }
- else
- { // try to get an instance somehow
- DBG_ERRORFILE( "CalendarWrapper: no service manager, trying own" );
- try
- {
- Reference< XInterface > xI = ::comphelper::getComponentInstance(
- ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( LLCF_LIBNAME( CALENDAR_LIBRARYNAME ) ) ),
- ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( CALENDAR_SERVICENAME ) ) );
- if ( xI.is() )
- {
- Any x = xI->queryInterface( ::getCppuType((const Reference< XExtendedCalendar >*)0) );
- x >>= xC;
- }
- }
- catch ( Exception& e )
- {
-#ifdef DBG_UTIL
- ByteString aMsg( "getComponentInstance: Exception caught\n" );
- aMsg += ByteString( String( e.Message ), RTL_TEXTENCODING_UTF8 );
- DBG_ERRORFILE( aMsg.GetBuffer() );
-#else
- (void)e;
-#endif
- }
- }
+ xC = Reference< XExtendedCalendar >( intl_createInstance( xSMgr, CALENDAR_SERVICENAME, "CalendarWrapper" ), uno::UNO_QUERY );
}
-
CalendarWrapper::~CalendarWrapper()
{
}
diff --git a/unotools/source/i18n/charclass.cxx b/unotools/source/i18n/charclass.cxx
index d4a9be17929a..a8343d98eec3 100644
--- a/unotools/source/i18n/charclass.cxx
+++ b/unotools/source/i18n/charclass.cxx
@@ -33,11 +33,8 @@
#include <tools/string.hxx>
#include <tools/debug.hxx>
-#include <comphelper/componentfactory.hxx>
-#include <com/sun/star/uno/XInterface.hpp>
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
+#include "instance.hxx"
-#define CHARCLASS_LIBRARYNAME "i18n"
#define CHARCLASS_SERVICENAME "com.sun.star.i18n.CharacterClassification"
using namespace ::com::sun::star;
@@ -53,23 +50,7 @@ CharClass::CharClass(
xSMgr( xSF )
{
setLocale( rLocale );
- if ( xSMgr.is() )
- {
- try
- {
- xCC = Reference< XCharacterClassification > ( xSMgr->createInstance(
- ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( CHARCLASS_SERVICENAME ) ) ),
- uno::UNO_QUERY );
- }
- catch ( const Exception& )
- {
- DBG_ERRORFILE( "CharClass ctor: Exception caught!" );
- }
- }
- else
- { // try to get an instance somehow
- getComponentInstance();
- }
+ xCC = Reference< XCharacterClassification > ( intl_createInstance( xSMgr, CHARCLASS_SERVICENAME, "CharClass" ), uno::UNO_QUERY );
}
@@ -77,7 +58,8 @@ CharClass::CharClass(
const ::com::sun::star::lang::Locale& rLocale )
{
setLocale( rLocale );
- getComponentInstance();
+ Reference< lang::XMultiServiceFactory > xNil;
+ xCC = Reference< XCharacterClassification > ( intl_createInstance( xNil, CHARCLASS_SERVICENAME, "CharClass" ), uno::UNO_QUERY );
}
@@ -86,28 +68,6 @@ CharClass::~CharClass()
}
-void CharClass::getComponentInstance()
-{
- try
- {
- // CharClass may be needed by "small tools" like the Setup
- // => maybe no service manager => loadLibComponentFactory
- Reference < XInterface > xI = ::comphelper::getComponentInstance(
- ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( LLCF_LIBNAME( CHARCLASS_LIBRARYNAME ) ) ),
- ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( CHARCLASS_SERVICENAME ) ) );
- if ( xI.is() )
- {
- Any x = xI->queryInterface( ::getCppuType((const Reference< XCharacterClassification >*)0) );
- x >>= xCC;
- }
- }
- catch ( const Exception& )
- {
- DBG_ERRORFILE( "getComponentInstance: Exception caught!" );
- }
-}
-
-
void CharClass::setLocale( const ::com::sun::star::lang::Locale& rLocale )
{
::osl::MutexGuard aGuard( aMutex );
diff --git a/unotools/source/i18n/collatorwrapper.cxx b/unotools/source/i18n/collatorwrapper.cxx
index 58f0b1764914..e872b8271b59 100644
--- a/unotools/source/i18n/collatorwrapper.cxx
+++ b/unotools/source/i18n/collatorwrapper.cxx
@@ -31,9 +31,7 @@
#include <unotools/collatorwrapper.hxx>
#include <tools/debug.hxx>
-#include <comphelper/componentfactory.hxx>
-#include <com/sun/star/uno/XInterface.hpp>
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
+#include "instance.hxx"
using namespace ::com::sun::star;
@@ -41,44 +39,9 @@ CollatorWrapper::CollatorWrapper (
const uno::Reference< lang::XMultiServiceFactory > &xServiceFactory)
: mxServiceFactory (xServiceFactory)
{
- ::rtl::OUString aService (RTL_CONSTASCII_USTRINGPARAM("com.sun.star.i18n.Collator"));
-
- if (mxServiceFactory.is())
- {
- try
- {
- mxInternationalCollator = uno::Reference< i18n::XCollator > (
- mxServiceFactory->createInstance(aService), uno::UNO_QUERY);
- }
- catch (uno::Exception& rException)
- {
- (void)rException;
- DBG_ERRORFILE ("CollatorWrapper: failed to create instance");
- }
- }
- else
- {
- ::rtl::OUString aLibrary (RTL_CONSTASCII_USTRINGPARAM(LLCF_LIBNAME("i18n")));
-
- try
- {
- uno::Reference< uno::XInterface > xInstance =
- ::comphelper::getComponentInstance (aLibrary, aService);
-
- if (xInstance.is())
- {
- uno::Any xInterface = xInstance->queryInterface (
- ::getCppuType((const uno::Reference< i18n::XCollator >*)0) );
- xInterface >>= mxInternationalCollator;
- }
- }
- catch (uno::Exception& rException)
- {
- (void)rException;
- DBG_ERRORFILE ("CollatorWrapper: failed to get component instance!");
- }
- }
-
+ mxInternationalCollator = uno::Reference< i18n::XCollator > (
+ intl_createInstance( xServiceFactory, "com.sun.star.i18n.Collator",
+ "CollatorWrapper" ), uno::UNO_QUERY );
DBG_ASSERT (mxInternationalCollator.is(), "CollatorWrapper: no i18n collator");
}
diff --git a/unotools/source/i18n/instance.hxx b/unotools/source/i18n/instance.hxx
new file mode 100644
index 000000000000..34c64decb58a
--- /dev/null
+++ b/unotools/source/i18n/instance.hxx
@@ -0,0 +1,64 @@
+/*
+ * Version: MPL 1.1 / GPLv3+ / LGPLv3+
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License or as specified alternatively below. You may obtain a copy of
+ * the License at http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * Major Contributor(s):
+ * Copyright (C) 2011 Novell, Inc <michael.meeks@novell.com> (initial developer)
+ *
+ * All Rights Reserved.
+ *
+ * For minor contributions see the git repository.
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+ * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+ * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+ * instead of those above.
+ */
+#ifndef _INTL_INSTANCE_HXX
+#define INTL_INSTANCE_HXX
+
+#include <comphelper/processfactory.hxx>
+#include <comphelper/componentfactory.hxx>
+#include <com/sun/star/lang/XMultiServiceFactory.hpp>
+
+// ugly but so is this namespacing evil.
+#define css ::com::sun::star
+
+// Helper to share code between activators with a fallback MSF.
+// Potentially this may also needs to find the library the component
+// is implemented inside, but at least centralises this.
+inline css::uno::Reference<css::uno::XInterface>
+ intl_createInstance( const css::uno::Reference< css::lang::XMultiServiceFactory > & xOptSF,
+ const char *serviceName, const char *context )
+{
+ css::uno::Reference<css::uno::XInterface> xRet;
+ css::uno::Reference<css::lang::XMultiServiceFactory > xSMgr( xOptSF );
+ try {
+ if (!xSMgr.is())
+ xSMgr = ::comphelper::getProcessServiceFactory();
+ xRet = xSMgr->createInstance( rtl::OUString::createFromAscii( serviceName ) );
+ } catch (css::uno::Exception &e) {
+#ifdef DBG_UTIL
+ ByteString aMsg( context );
+ aMsg += "ctor: Exception caught\n";
+ aMsg += ByteString( String( e.Message ), RTL_TEXTENCODING_UTF8 );
+ DBG_ERRORFILE( aMsg.GetBuffer() );
+#else
+ (void)e; (void)context;
+#endif
+ xRet = css::uno::Reference<css::uno::XInterface>();
+ }
+ return xRet;
+}
+
+#endif // _INTL_INSTANCE_HXX
diff --git a/unotools/source/i18n/localedatawrapper.cxx b/unotools/source/i18n/localedatawrapper.cxx
index a8e1dccf0727..6bb166fdc7a4 100644
--- a/unotools/source/i18n/localedatawrapper.cxx
+++ b/unotools/source/i18n/localedatawrapper.cxx
@@ -40,10 +40,7 @@
#include <tools/debug.hxx>
#include <i18npool/mslangid.hxx>
-#include <comphelper/componentfactory.hxx>
-#include <unotools/processfactory.hxx>
-#include <com/sun/star/uno/XInterface.hpp>
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
+#include "instance.hxx"
#include <com/sun/star/i18n/KNumberFormatUsage.hpp>
#include <com/sun/star/i18n/KNumberFormatType.hpp>
#include <com/sun/star/i18n/CalendarFieldIndex.hpp>
@@ -54,9 +51,6 @@
#include <rtl/ustrbuf.hxx>
#include <sal/macros.h>
-#define LOCALEDATA_LIBRARYNAME "i18npool"
-#define LOCALEDATA_SERVICENAME "com.sun.star.i18n.LocaleData"
-
static const int nDateFormatInvalid = -1;
static const sal_uInt16 nCurrFormatInvalid = 0xffff;
static const sal_uInt16 nCurrFormatDefault = 0;
@@ -90,50 +84,9 @@ LocaleDataWrapper::LocaleDataWrapper(
bReservedWordValid( sal_False )
{
setLocale( rLocale );
- if ( xSMgr.is() )
- {
- try
- {
- xLD = Reference< XLocaleData2 > ( xSMgr->createInstance(
- ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( LOCALEDATA_SERVICENAME ) ) ),
- uno::UNO_QUERY );
- }
- catch ( Exception& e )
- {
-#ifdef DBG_UTIL
- ByteString aMsg( "LocaleDataWrapper ctor: Exception caught\n" );
- aMsg += ByteString( String( e.Message ), RTL_TEXTENCODING_UTF8 );
- DBG_ERRORFILE( aMsg.GetBuffer() );
-#else
- (void)e;
-#endif
- }
- }
- else
- { // try to get an instance somehow
- DBG_ERRORFILE( "LocaleDataWrapper: no service manager, trying own" );
- try
- {
- Reference< XInterface > xI = ::comphelper::getComponentInstance(
- ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( LLCF_LIBNAME( LOCALEDATA_LIBRARYNAME ) ) ),
- ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( LOCALEDATA_SERVICENAME ) ) );
- if ( xI.is() )
- {
- Any x = xI->queryInterface( ::getCppuType((const Reference< XLocaleData2 >*)0) );
- x >>= xLD;
- }
- }
- catch ( Exception& e )
- {
-#ifdef DBG_UTIL
- ByteString aMsg( "getComponentInstance: Exception caught\n" );
- aMsg += ByteString( String( e.Message ), RTL_TEXTENCODING_UTF8 );
- DBG_ERRORFILE( aMsg.GetBuffer() );
-#else
- (void)e;
-#endif
- }
- }
+ xLD = Reference< XLocaleData2 > (
+ intl_createInstance( xSMgr, "com.sun.star.i18n.LocaleData",
+ "LocaleDataWrapper" ), uno::UNO_QUERY );
}
diff --git a/unotools/source/i18n/nativenumberwrapper.cxx b/unotools/source/i18n/nativenumberwrapper.cxx
index 71e74fd0c249..b1a8c8c7591b 100644
--- a/unotools/source/i18n/nativenumberwrapper.cxx
+++ b/unotools/source/i18n/nativenumberwrapper.cxx
@@ -31,57 +31,19 @@
#include <unotools/nativenumberwrapper.hxx>
#include <tools/debug.hxx>
-
-#include <comphelper/componentfactory.hxx>
-#include <com/sun/star/uno/XInterface.hpp>
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
-
-#define LOCALEDATA_LIBRARYNAME "i18npool"
-#define LOCALEDATA_SERVICENAME "com.sun.star.i18n.NativeNumberSupplier"
+#include "instance.hxx"
using namespace ::com::sun::star;
-
NativeNumberWrapper::NativeNumberWrapper(
const uno::Reference< lang::XMultiServiceFactory > & xSF
)
:
xSMgr( xSF )
{
- if ( xSMgr.is() )
- {
- try
- {
- xNNS = uno::Reference< i18n::XNativeNumberSupplier > ( xSMgr->createInstance(
- ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( LOCALEDATA_SERVICENAME ) ) ),
- uno::UNO_QUERY );
- }
- catch ( uno::Exception& e )
- {
- (void)e;
- DBG_ERRORFILE( "NativeNumberWrapper ctor: Exception caught!" );
- }
- }
- else
- { // try to get an instance somehow
- DBG_ERRORFILE( "NativeNumberWrapper: no service manager, trying own" );
- try
- {
- uno::Reference< uno::XInterface > xI = ::comphelper::getComponentInstance(
- ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( LLCF_LIBNAME( LOCALEDATA_LIBRARYNAME ) ) ),
- ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( LOCALEDATA_SERVICENAME ) ) );
- if ( xI.is() )
- {
- uno::Any x = xI->queryInterface( ::getCppuType((const uno::Reference< i18n::XNativeNumberSupplier >*)0) );
- x >>= xNNS;
- }
- }
- catch ( uno::Exception& e )
- {
- (void)e;
- DBG_ERRORFILE( "getComponentInstance: Exception caught!" );
- }
- }
+ xNNS = uno::Reference< i18n::XNativeNumberSupplier > (
+ intl_createInstance( xSMgr, "com.sun.star.i18n.NativeNumberSupplier",
+ "NativeNumberWrapper"), uno::UNO_QUERY );
DBG_ASSERT( xNNS.is(), "NativeNumberWrapper: no NativeNumberSupplier" );
}
diff --git a/unotools/source/i18n/numberformatcodewrapper.cxx b/unotools/source/i18n/numberformatcodewrapper.cxx
index 116c64f9fc70..430adbefdea9 100644
--- a/unotools/source/i18n/numberformatcodewrapper.cxx
+++ b/unotools/source/i18n/numberformatcodewrapper.cxx
@@ -31,13 +31,7 @@
#include <unotools/numberformatcodewrapper.hxx>
#include <tools/debug.hxx>
-
-#include <comphelper/componentfactory.hxx>
-#include <com/sun/star/uno/XInterface.hpp>
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
-
-#define LOCALEDATA_LIBRARYNAME "i18npool"
-#define LOCALEDATA_SERVICENAME "com.sun.star.i18n.NumberFormatMapper"
+#include "instance.hxx"
using namespace ::com::sun::star;
using namespace ::com::sun::star::i18n;
@@ -52,40 +46,9 @@ NumberFormatCodeWrapper::NumberFormatCodeWrapper(
xSMgr( xSF )
{
setLocale( rLocale );
- if ( xSMgr.is() )
- {
- try
- {
- xNFC = Reference< XNumberFormatCode > ( xSMgr->createInstance(
- ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( LOCALEDATA_SERVICENAME ) ) ),
- uno::UNO_QUERY );
- }
- catch ( Exception& e )
- {
- (void)e;
- DBG_ERRORFILE( "NumberFormatCodeWrapper ctor: Exception caught!" );
- }
- }
- else
- { // try to get an instance somehow
- DBG_ERRORFILE( "NumberFormatCodeWrapper: no service manager, trying own" );
- try
- {
- Reference< XInterface > xI = ::comphelper::getComponentInstance(
- ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( LLCF_LIBNAME( LOCALEDATA_LIBRARYNAME ) ) ),
- ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( LOCALEDATA_SERVICENAME ) ) );
- if ( xI.is() )
- {
- Any x = xI->queryInterface( ::getCppuType((const Reference< XNumberFormatCode >*)0) );
- x >>= xNFC;
- }
- }
- catch ( Exception& e )
- {
- (void)e;
- DBG_ERRORFILE( "getComponentInstance: Exception caught!" );
- }
- }
+ xNFC = Reference< XNumberFormatCode > (
+ intl_createInstance( xSMgr, "com.sun.star.i18n.NumberFormatMapper",
+ "NumberFormatCodeWrapper" ), uno::UNO_QUERY );
DBG_ASSERT( xNFC.is(), "NumberFormatCodeWrapper: no NumberFormatMapper" );
}
diff --git a/unotools/source/i18n/transliterationwrapper.cxx b/unotools/source/i18n/transliterationwrapper.cxx
index 82b8492f80ce..fdeff1c90e9f 100644
--- a/unotools/source/i18n/transliterationwrapper.cxx
+++ b/unotools/source/i18n/transliterationwrapper.cxx
@@ -34,14 +34,9 @@
#include <i18npool/mslangid.hxx>
#include <comphelper/componentfactory.hxx>
-#include <com/sun/star/uno/XInterface.hpp>
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
+#include "instance.hxx"
#include <com/sun/star/i18n/TransliterationModulesExtra.hpp>
-#define TRANSLIT_LIBRARYNAME "i18n"
-#define TRANSLIT_SERVICENAME "com.sun.star.i18n.Transliteration"
-
using namespace ::com::sun::star::lang;
using namespace ::com::sun::star::i18n;
using namespace ::com::sun::star::uno;
@@ -52,41 +47,9 @@ TransliterationWrapper::TransliterationWrapper(
sal_uInt32 nTyp )
: xSMgr( xSF ), nType( nTyp ), nLanguage( 0 ), bFirstCall( sal_True )
{
- if( xSMgr.is() )
- {
- try {
- xTrans = Reference< XExtendedTransliteration > (
- xSMgr->createInstance( ::rtl::OUString(
- RTL_CONSTASCII_USTRINGPARAM(
- TRANSLIT_SERVICENAME))), UNO_QUERY );
- }
- catch ( Exception& )
- {
- DBG_ERRORFILE( "TransliterationWrapper: Exception caught!" );
- }
- }
- else
- { // try to get an instance somehow
- DBG_ERRORFILE( "TransliterationWrapper: no service manager, trying own" );
- try
- {
- Reference< XInterface > xI = ::comphelper::getComponentInstance(
- ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( LLCF_LIBNAME(
- TRANSLIT_LIBRARYNAME ))),
- ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM(
- TRANSLIT_SERVICENAME)));
- if ( xI.is() )
- {
- Any x = xI->queryInterface(
- ::getCppuType((const Reference< XExtendedTransliteration>*)0) );
- x >>= xTrans ;
- }
- }
- catch ( Exception& )
- {
- DBG_ERRORFILE( "getComponentInstance: Exception caught!" );
- }
- }
+ xTrans = Reference< XExtendedTransliteration > (
+ intl_createInstance( xSMgr, "com.sun.star.i18n.Transliteration",
+ "TransliterationWrapper" ), UNO_QUERY );
DBG_ASSERT( xTrans.is(), "TransliterationWrapper: no Transliteraion available" );
}