Implement LocaleData2, XLocaleData5, LocaleDataItem2, tdf#81671
Change-Id: Idba5a30bc44c7b2bd951f954ea3bfd048b022660 Reviewed-on: https://gerrit.libreoffice.org/43920 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com>
This commit is contained in:
parent
91987a559b
commit
ba9f44d6ee
@ -23,7 +23,7 @@
|
||||
|
||||
#include <comphelper/processfactory.hxx>
|
||||
|
||||
#include <com/sun/star/i18n/XLocaleData4.hpp>
|
||||
#include <com/sun/star/i18n/XLocaleData5.hpp>
|
||||
|
||||
|
||||
#include <cppuhelper/implbase.hxx>
|
||||
@ -35,7 +35,7 @@
|
||||
#include <com/sun/star/i18n/FormatElement.hpp>
|
||||
#include <com/sun/star/i18n/Currency.hpp>
|
||||
#include <com/sun/star/lang/Locale.hpp>
|
||||
#include <com/sun/star/i18n/LocaleDataItem.hpp>
|
||||
#include <com/sun/star/i18n/LocaleDataItem2.hpp>
|
||||
#include <com/sun/star/i18n/UnicodeScript.hpp>
|
||||
#include <com/sun/star/uno/RuntimeException.hpp>
|
||||
#include <com/sun/star/uno/XInterface.hpp>
|
||||
@ -61,7 +61,7 @@ namespace i18npool {
|
||||
|
||||
class LocaleDataImpl : public cppu::WeakImplHelper
|
||||
<
|
||||
css::i18n::XLocaleData4,
|
||||
css::i18n::XLocaleData5,
|
||||
css::lang::XServiceInfo
|
||||
>
|
||||
{
|
||||
@ -108,6 +108,9 @@ public:
|
||||
// XLocaleData4
|
||||
virtual css::uno::Sequence< OUString > SAL_CALL getDateAcceptancePatterns( const css::lang::Locale& rLocale ) override;
|
||||
|
||||
// XLocaleData5
|
||||
virtual css::i18n::LocaleDataItem2 SAL_CALL getLocaleItem2( const css::lang::Locale& rLocale ) override;
|
||||
|
||||
// following methods are used by indexentry service
|
||||
/// @throws css::uno::RuntimeException
|
||||
css::uno::Sequence< OUString > SAL_CALL getIndexAlgorithm( const css::lang::Locale& rLocale );
|
||||
|
@ -423,6 +423,47 @@ LocaleDataImpl::getLocaleItem( const Locale& rLocale )
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
LocaleDataItem2 SAL_CALL
|
||||
LocaleDataImpl::getLocaleItem2( const Locale& rLocale )
|
||||
{
|
||||
MyFunc_Type func = reinterpret_cast<MyFunc_Type>(getFunctionSymbol( rLocale, "getLocaleItem" ));
|
||||
|
||||
if ( func ) {
|
||||
sal_Int16 dataItemCount = 0;
|
||||
sal_Unicode **dataItem = func(dataItemCount);
|
||||
|
||||
assert(dataItemCount >= 18);
|
||||
|
||||
LocaleDataItem2 item(
|
||||
dataItem[0],
|
||||
dataItem[1],
|
||||
dataItem[2],
|
||||
dataItem[3],
|
||||
dataItem[4],
|
||||
dataItem[5],
|
||||
dataItem[6],
|
||||
dataItem[7],
|
||||
dataItem[8],
|
||||
dataItem[9],
|
||||
dataItem[10],
|
||||
dataItem[11],
|
||||
dataItem[12],
|
||||
dataItem[13],
|
||||
dataItem[14],
|
||||
dataItem[15],
|
||||
dataItem[16],
|
||||
dataItem[17],
|
||||
dataItemCount >= 19 ? dataItem[18] : OUString()
|
||||
);
|
||||
return item;
|
||||
}
|
||||
else {
|
||||
LocaleDataItem2 item1;
|
||||
return item1;
|
||||
}
|
||||
}
|
||||
|
||||
#ifndef DISABLE_DYNLOADING
|
||||
|
||||
extern "C" { static void SAL_CALL thisModule() {} }
|
||||
@ -1560,7 +1601,10 @@ sal_Bool SAL_CALL LocaleDataImpl::supportsService(const OUString& rServiceName)
|
||||
Sequence< OUString > SAL_CALL
|
||||
LocaleDataImpl::getSupportedServiceNames()
|
||||
{
|
||||
Sequence< OUString > aRet { "com.sun.star.i18n.LocaleData" };
|
||||
Sequence< OUString > aRet {
|
||||
"com.sun.star.i18n.LocaleData",
|
||||
"com.sun.star.i18n.LocaleData2"
|
||||
};
|
||||
return aRet;
|
||||
}
|
||||
|
||||
|
@ -128,6 +128,7 @@
|
||||
<implementation name="com.sun.star.i18n.LocaleDataImpl"
|
||||
constructor="com_sun_star_i18n_LocaleDataImpl_get_implementation">
|
||||
<service name="com.sun.star.i18n.LocaleData"/>
|
||||
<service name="com.sun.star.i18n.LocaleData2"/>
|
||||
</implementation>
|
||||
<implementation name="com.sun.star.i18n.NativeNumberSupplier"
|
||||
constructor="com_sun_star_i18n_NativeNumberSupplier_get_implementation">
|
||||
|
Loading…
x
Reference in New Issue
Block a user