i18npool/inc/breakiteratorImpl.hxx | 4 - i18npool/inc/cclass_unicode.hxx | 5 -- i18npool/source/breakiterator/breakiteratorImpl.cxx | 8 +-- i18npool/source/characterclassification/cclass_unicode.cxx | 4 - i18npool/source/characterclassification/cclass_unicode_parser.cxx | 23 +--------- i18npool/source/registerservices/registerservices.cxx | 4 - offapi/UnoApi_offapi.mk | 2 svl/inc/svl/ondemand.hxx | 12 ++--- svl/source/numbers/zforlist.cxx | 2 unotools/inc/unotools/nativenumberwrapper.hxx | 7 +-- unotools/source/i18n/nativenumberwrapper.cxx | 11 +--- 11 files changed, 30 insertions(+), 52 deletions(-)
New commits: commit 9df0baaf0b2d0dc22b88d13848014b402937aac6 Author: Noel Grandin <n...@peralex.com> Date: Mon Nov 5 15:19:49 2012 +0200 fdo#46808, convert i18n::BreakIterator impl to XComponentContext Change-Id: I2e6800d0f5a6346fc743d5a57bab34d1e36b4ee4 diff --git a/i18npool/inc/breakiteratorImpl.hxx b/i18npool/inc/breakiteratorImpl.hxx index 395c144..7a6ef2a 100644 --- a/i18npool/inc/breakiteratorImpl.hxx +++ b/i18npool/inc/breakiteratorImpl.hxx @@ -46,7 +46,7 @@ class BreakIteratorImpl : public cppu::WeakImplHelper2 > { public: - BreakIteratorImpl( const com::sun::star::uno::Reference < com::sun::star::lang::XMultiServiceFactory >& rxMSF ); + BreakIteratorImpl( const com::sun::star::uno::Reference < com::sun::star::uno::XComponentContext >& rxContext ); BreakIteratorImpl(); ~BreakIteratorImpl(); @@ -123,8 +123,8 @@ private : std::vector<lookupTableItem*> lookupTable; com::sun::star::lang::Locale aLocale; com::sun::star::uno::Reference < XBreakIterator > xBI; + com::sun::star::uno::Reference < com::sun::star::uno::XComponentContext > m_xContext; - com::sun::star::uno::Reference < com::sun::star::lang::XMultiServiceFactory > xMSF; sal_Bool SAL_CALL createLocaleSpecificBreakIterator( const rtl::OUString& aLocaleName ) throw( com::sun::star::uno::RuntimeException ); com::sun::star::uno::Reference < XBreakIterator > SAL_CALL getLocaleSpecificBreakIterator( const com::sun::star::lang::Locale& rLocale ) diff --git a/i18npool/inc/cclass_unicode.hxx b/i18npool/inc/cclass_unicode.hxx index 340b72f..d515cfd 100644 --- a/i18npool/inc/cclass_unicode.hxx +++ b/i18npool/inc/cclass_unicode.hxx @@ -22,7 +22,6 @@ #include <com/sun/star/i18n/XNativeNumberSupplier.hpp> #include <com/sun/star/i18n/XCharacterClassification.hpp> #include <com/sun/star/i18n/XLocaleData4.hpp> -#include <com/sun/star/lang/XMultiServiceFactory.hpp> #include <cppuhelper/implbase1.hxx> // helper for implementations #include <com/sun/star/lang/XServiceInfo.hpp> @@ -36,7 +35,7 @@ typedef sal_uInt32 UPT_FLAG_TYPE; class cclass_Unicode : public cppu::WeakImplHelper1 < XCharacterClassification > { public: - cclass_Unicode(com::sun::star::uno::Reference < com::sun::star::lang::XMultiServiceFactory > xSMgr ); + cclass_Unicode(const com::sun::star::uno::Reference < com::sun::star::uno::XComponentContext >& rxContext ); ~cclass_Unicode(); virtual rtl::OUString SAL_CALL toUpper( const rtl::OUString& Text, sal_Int32 nPos, sal_Int32 nCount, @@ -118,7 +117,7 @@ private: static const sal_Unicode* StrChr( const sal_Unicode* pStr, sal_Unicode c ); - com::sun::star::uno::Reference < com::sun::star::lang::XMultiServiceFactory > xMSF; + com::sun::star::uno::Reference < com::sun::star::uno::XComponentContext > m_xContext; /// used for parser only com::sun::star::lang::Locale aParserLocale; diff --git a/i18npool/source/breakiterator/breakiteratorImpl.cxx b/i18npool/source/breakiterator/breakiteratorImpl.cxx index 4ea8e48..4f2207a 100644 --- a/i18npool/source/breakiterator/breakiteratorImpl.cxx +++ b/i18npool/source/breakiterator/breakiteratorImpl.cxx @@ -29,7 +29,7 @@ using namespace ::rtl; namespace com { namespace sun { namespace star { namespace i18n { -BreakIteratorImpl::BreakIteratorImpl( const Reference < XMultiServiceFactory >& rxMSF ) : xMSF( rxMSF ) +BreakIteratorImpl::BreakIteratorImpl( const Reference < XComponentContext >& rxContext ) : m_xContext( rxContext ) { } @@ -545,8 +545,8 @@ sal_Bool SAL_CALL BreakIteratorImpl::createLocaleSpecificBreakIterator(const OUS } } - Reference < uno::XInterface > xI = xMSF->createInstance( - OUString("com.sun.star.i18n.BreakIterator_") + aLocaleName); + Reference < uno::XInterface > xI = m_xContext->getServiceManager()->createInstanceWithContext( + OUString("com.sun.star.i18n.BreakIterator_") + aLocaleName, m_xContext); if ( xI.is() ) { xI->queryInterface( getCppuType((const Reference< XBreakIterator>*)0) ) >>= xBI; @@ -563,7 +563,7 @@ BreakIteratorImpl::getLocaleSpecificBreakIterator(const Locale& rLocale) throw ( { if (xBI.is() && rLocale == aLocale) return xBI; - else if (xMSF.is()) { + else if (m_xContext.is()) { aLocale = rLocale; for (size_t i = 0; i < lookupTable.size(); i++) { diff --git a/i18npool/source/characterclassification/cclass_unicode.cxx b/i18npool/source/characterclassification/cclass_unicode.cxx index da8529b..5e27fa5 100644 --- a/i18npool/source/characterclassification/cclass_unicode.cxx +++ b/i18npool/source/characterclassification/cclass_unicode.cxx @@ -35,7 +35,7 @@ namespace com { namespace sun { namespace star { namespace i18n { // class cclass_Unicode // ----------------------------------------------------; -cclass_Unicode::cclass_Unicode( uno::Reference < XMultiServiceFactory > xSMgr ) : xMSF( xSMgr ), +cclass_Unicode::cclass_Unicode( const uno::Reference < XComponentContext >& rxContext ) : m_xContext( rxContext ), pTable( NULL ), pStart( NULL ), pCont( NULL ), @@ -90,7 +90,7 @@ cclass_Unicode::toTitle( const OUString& Text, sal_Int32 nPos, sal_Int32 nCount, trans->setMappingType(MappingTypeToTitle, rLocale); rtl_uString* pStr = comphelper::string::rtl_uString_alloc(nCount); sal_Unicode* out = pStr->buffer; - BreakIteratorImpl brk(xMSF); + BreakIteratorImpl brk(m_xContext); Boundary bdy = brk.getWordBoundary(Text, nPos, rLocale, WordType::ANYWORD_IGNOREWHITESPACES, sal_True); for (sal_Int32 i = nPos; i < nCount + nPos; i++, out++) { diff --git a/i18npool/source/characterclassification/cclass_unicode_parser.cxx b/i18npool/source/characterclassification/cclass_unicode_parser.cxx index c3f5ac5..3f3de5b 100644 --- a/i18npool/source/characterclassification/cclass_unicode_parser.cxx +++ b/i18npool/source/characterclassification/cclass_unicode_parser.cxx @@ -402,7 +402,7 @@ sal_Bool cclass_Unicode::setupInternational( const Locale& rLocale ) } if ( !mxLocaleData.is() ) { - mxLocaleData.set( LocaleData::create(comphelper::getComponentContext(xMSF)) ); + mxLocaleData.set( LocaleData::create(m_xContext) ); } return bChanged; } @@ -1007,9 +1007,9 @@ void cclass_Unicode::parseText( ParseResult& r, const OUString& rText, sal_Int32 { if ( !xNatNumSup.is() ) { - if ( xMSF.is() ) + if ( m_xContext.is() ) { - xNatNumSup = NativeNumberSupplier::create( comphelper::getComponentContext(xMSF) ); + xNatNumSup = NativeNumberSupplier::create( m_xContext ); } } OUString aTmp( pTextStart + r.LeadingWhiteSpace, r.EndPos - nPos + diff --git a/i18npool/source/registerservices/registerservices.cxx b/i18npool/source/registerservices/registerservices.cxx index c837022..44e00d3 100644 --- a/i18npool/source/registerservices/registerservices.cxx +++ b/i18npool/source/registerservices/registerservices.cxx @@ -146,7 +146,7 @@ IMPL_CREATEINSTANCE( Calendar_ROC ) IMPL_CREATEINSTANCE( Calendar_hijri ) IMPL_CREATEINSTANCE( Calendar_jewish ) IMPL_CREATEINSTANCE( Calendar_buddhist ) -IMPL_CREATEINSTANCE_MSF( BreakIteratorImpl ) +IMPL_CREATEINSTANCE_CTX( BreakIteratorImpl ) IMPL_CREATEINSTANCE( BreakIterator_Unicode ) IMPL_CREATEINSTANCE( BreakIterator_ja ) IMPL_CREATEINSTANCE( BreakIterator_zh ) @@ -158,7 +158,7 @@ IMPL_CREATEINSTANCE_MSF( CollatorImpl ) IMPL_CREATEINSTANCE( Collator_Unicode ) IMPL_CREATEINSTANCE_MSF( CharacterClassificationImpl ) -IMPL_CREATEINSTANCE_MSF( cclass_Unicode ) +IMPL_CREATEINSTANCE_CTX( cclass_Unicode ) IMPL_CREATEINSTANCE_CTX( TransliterationImpl ) IMPL_CREATEINSTANCE( UnoScriptTypeDetector ) commit c2bbc9797c2fef9078c11460100996972bebd971 Author: Noel Grandin <n...@peralex.com> Date: Mon Nov 5 15:07:20 2012 +0200 fdo#46808, use service constructor for i18n::NativeNumberSupplier Change-Id: I092ca8f912e26f0743909920c6e740d648b8677e diff --git a/i18npool/source/characterclassification/cclass_unicode_parser.cxx b/i18npool/source/characterclassification/cclass_unicode_parser.cxx index 24ec060..c3f5ac5 100644 --- a/i18npool/source/characterclassification/cclass_unicode_parser.cxx +++ b/i18npool/source/characterclassification/cclass_unicode_parser.cxx @@ -27,6 +27,7 @@ #include <com/sun/star/i18n/UnicodeType.hpp> #include <com/sun/star/i18n/LocaleData.hpp> #include <com/sun/star/i18n/NativeNumberMode.hpp> +#include <com/sun/star/i18n/NativeNumberSupplier.hpp> #include <comphelper/processfactory.hxx> #include <string.h> // memcpy() @@ -1006,26 +1007,10 @@ void cclass_Unicode::parseText( ParseResult& r, const OUString& rText, sal_Int32 { if ( !xNatNumSup.is() ) { -#define NATIVENUMBERSUPPLIER_SERVICENAME "com.sun.star.i18n.NativeNumberSupplier" if ( xMSF.is() ) { - xNatNumSup = Reference< XNativeNumberSupplier > ( - xMSF->createInstance( OUString( - RTL_CONSTASCII_USTRINGPARAM( - NATIVENUMBERSUPPLIER_SERVICENAME ) ) ), - UNO_QUERY ); + xNatNumSup = NativeNumberSupplier::create( comphelper::getComponentContext(xMSF) ); } - if ( !xNatNumSup.is() ) - { - throw RuntimeException( OUString( -#ifdef DBG_UTIL - RTL_CONSTASCII_USTRINGPARAM( - "cclass_Unicode::parseText: can't instanciate " - NATIVENUMBERSUPPLIER_SERVICENAME ) -#endif - ), *this ); - } -#undef NATIVENUMBERSUPPLIER_SERVICENAME } OUString aTmp( pTextStart + r.LeadingWhiteSpace, r.EndPos - nPos + r.LeadingWhiteSpace ); diff --git a/offapi/UnoApi_offapi.mk b/offapi/UnoApi_offapi.mk index f01eb68..97b6394 100644 --- a/offapi/UnoApi_offapi.mk +++ b/offapi/UnoApi_offapi.mk @@ -147,6 +147,7 @@ $(eval $(call gb_UnoApi_add_idlfiles_nohdl,offapi,offapi/com/sun/star/i18n,\ CharacterClassification \ LocaleCalendar \ LocaleData \ + NativeNumberSupplier \ NumberFormatMapper \ TextConversion \ Transliteration \ @@ -860,7 +861,6 @@ $(eval $(call gb_UnoApi_add_idlfiles_noheader,offapi,offapi/com/sun/star/i18n,\ Collator \ IndexEntrySupplier \ InputSequenceChecker \ - NativeNumberSupplier \ OrdinalSuffix \ )) $(eval $(call gb_UnoApi_add_idlfiles_noheader,offapi,offapi/com/sun/star/image,\ diff --git a/svl/inc/svl/ondemand.hxx b/svl/inc/svl/ondemand.hxx index 70c028f..1aa7851 100644 --- a/svl/inc/svl/ondemand.hxx +++ b/svl/inc/svl/ondemand.hxx @@ -329,7 +329,7 @@ public: */ class OnDemandNativeNumberWrapper { - ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > xSMgr; + ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > m_xContext; mutable NativeNumberWrapper* pPtr; bool bInitialized; @@ -339,12 +339,12 @@ public: , bInitialized(false) {} OnDemandNativeNumberWrapper( - const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& rxSMgr + const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& rxContext ) : pPtr(0) , bInitialized(false) { - init( rxSMgr ); + init( rxContext ); } ~OnDemandNativeNumberWrapper() { @@ -354,10 +354,10 @@ public: bool isInitialized() const { return bInitialized; } void init( - const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& rxSMgr + const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& rxContext ) { - xSMgr = rxSMgr; + m_xContext = rxContext; if ( pPtr ) { delete pPtr; @@ -371,7 +371,7 @@ public: NativeNumberWrapper* get() const { if ( !pPtr ) - pPtr = new NativeNumberWrapper( xSMgr ); + pPtr = new NativeNumberWrapper( m_xContext ); return pPtr; } diff --git a/svl/source/numbers/zforlist.cxx b/svl/source/numbers/zforlist.cxx index a8bc1ca..9496d9a 100644 --- a/svl/source/numbers/zforlist.cxx +++ b/svl/source/numbers/zforlist.cxx @@ -240,7 +240,7 @@ void SvNumberFormatter::ImpConstruct( LanguageType eLang ) xCalendar.init( comphelper::getComponentContext(xServiceManager), maLanguageTag.getLocale() ); xTransliteration.init( comphelper::getComponentContext(xServiceManager), eLang, ::com::sun::star::i18n::TransliterationModules_IGNORE_CASE ); - xNatNum.init( xServiceManager ); + xNatNum.init( comphelper::getComponentContext(xServiceManager) ); // cached locale data items const LocaleDataWrapper* pLoc = GetLocaleData(); diff --git a/unotools/inc/unotools/nativenumberwrapper.hxx b/unotools/inc/unotools/nativenumberwrapper.hxx index b8bac89..dea1ee0 100644 --- a/unotools/inc/unotools/nativenumberwrapper.hxx +++ b/unotools/inc/unotools/nativenumberwrapper.hxx @@ -23,15 +23,14 @@ #include <com/sun/star/i18n/XNativeNumberSupplier.hpp> namespace com { namespace sun { namespace star { - namespace lang { - class XMultiServiceFactory; + namespace uno { + class XComponentContext; } }}} class UNOTOOLS_DLLPUBLIC NativeNumberWrapper { - ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > xSMgr; ::com::sun::star::uno::Reference< ::com::sun::star::i18n::XNativeNumberSupplier > xNNS; // not implemented, prevent usage NativeNumberWrapper( const NativeNumberWrapper& ); @@ -39,7 +38,7 @@ class UNOTOOLS_DLLPUBLIC NativeNumberWrapper public: NativeNumberWrapper( - const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > & xSF + const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > & rxContext ); ~NativeNumberWrapper(); diff --git a/unotools/source/i18n/nativenumberwrapper.cxx b/unotools/source/i18n/nativenumberwrapper.cxx index 5fa8f0a..5923808 100644 --- a/unotools/source/i18n/nativenumberwrapper.cxx +++ b/unotools/source/i18n/nativenumberwrapper.cxx @@ -20,20 +20,15 @@ #include <unotools/nativenumberwrapper.hxx> #include <tools/debug.hxx> -#include "instance.hxx" +#include <com/sun/star/i18n/NativeNumberSupplier.hpp> using namespace ::com::sun::star; NativeNumberWrapper::NativeNumberWrapper( - const uno::Reference< lang::XMultiServiceFactory > & xSF + const uno::Reference< uno::XComponentContext > & rxContext ) - : - xSMgr( xSF ) { - xNNS = uno::Reference< i18n::XNativeNumberSupplier > ( - intl_createInstance( xSMgr, "com.sun.star.i18n.NativeNumberSupplier", - "NativeNumberWrapper"), uno::UNO_QUERY ); - DBG_ASSERT( xNNS.is(), "NativeNumberWrapper: no NativeNumberSupplier" ); + xNNS = i18n::NativeNumberSupplier::create(rxContext); } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits