diff options
author | Eike Rathke <erack@redhat.com> | 2012-11-30 17:26:32 +0100 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2012-11-30 17:27:07 +0100 |
commit | 73bda5058bcef6be9a3185aa46375c7b147ffa22 (patch) | |
tree | f278b7b2dd94d0059bc25f98fa050d4f40a8c006 /sal | |
parent | 84f24288ee5883cd533985ee9ff66b60046bd4ac (diff) |
ditched rtl::OLocale
Change-Id: I3f4a09c82df1bc71759331705c502320f973d4bb
Diffstat (limited to 'sal')
-rw-r--r-- | sal/Package_inc.mk | 1 | ||||
-rw-r--r-- | sal/inc/rtl/locale.hxx | 250 | ||||
-rw-r--r-- | sal/qa/rtl/locale/rtl_locale.cxx | 60 | ||||
-rw-r--r-- | sal/qa/rtl_strings/rtl_old_testowstring.cxx | 2 |
4 files changed, 30 insertions, 283 deletions
diff --git a/sal/Package_inc.mk b/sal/Package_inc.mk index fa4246d5f0f3..dff02297abbd 100644 --- a/sal/Package_inc.mk +++ b/sal/Package_inc.mk @@ -77,7 +77,6 @@ $(eval $(call gb_Package_add_file,sal_inc,inc/rtl/crc.h,rtl/crc.h)) $(eval $(call gb_Package_add_file,sal_inc,inc/rtl/digest.h,rtl/digest.h)) $(eval $(call gb_Package_add_file,sal_inc,inc/rtl/instance.hxx,rtl/instance.hxx)) $(eval $(call gb_Package_add_file,sal_inc,inc/rtl/locale.h,rtl/locale.h)) -$(eval $(call gb_Package_add_file,sal_inc,inc/rtl/locale.hxx,rtl/locale.hxx)) $(eval $(call gb_Package_add_file,sal_inc,inc/rtl/logfile.h,rtl/logfile.h)) $(eval $(call gb_Package_add_file,sal_inc,inc/rtl/logfile.hxx,rtl/logfile.hxx)) $(eval $(call gb_Package_add_file,sal_inc,inc/rtl/malformeduriexception.hxx,rtl/malformeduriexception.hxx)) diff --git a/sal/inc/rtl/locale.hxx b/sal/inc/rtl/locale.hxx deleted file mode 100644 index 9fb4960d2aa3..000000000000 --- a/sal/inc/rtl/locale.hxx +++ /dev/null @@ -1,250 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * 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 . - */ - -#ifndef _RTL_LOCALE_HXX_ -#define _RTL_LOCALE_HXX_ - -#include <rtl/locale.h> -#include <rtl/ustring.hxx> - -#ifdef __cplusplus - -namespace rtl -{ - -/** - A <code>OLocale</code> object represents a specific geographical, political, - or cultural region. An operation that requires a <code>OLocale</code> to perform - its task is called <em>locale-sensitive</em> and uses the <code>OLocale</code> - to tailor information for the user. For example, displaying a number - is a locale-sensitive operation--the number should be formatted - according to the customs/conventions of the user's native country, - region, or culture. - - <P> - You create a <code>OLocale</code> object using one of the two constructors in - this class: - <blockquote> - <pre> - OLocale(String language, String country) - OLocale(String language, String country, String variant) - </pre> - </blockquote> - The first argument to both constructors is a valid <STRONG>ISO - Language Code.</STRONG> These codes are the lower-case two-letter - codes as defined by ISO-639. - You can find a full list of these codes at a number of sites, such as: - <BR><a href ="http://www.ics.uci.edu/pub/ietf/http/related/iso639.txt"> - <code>http://www.ics.uci.edu/pub/ietf/http/related/iso639.txt</code></a> - - <P> - The second argument to both constructors is a valid <STRONG>ISO Country - Code.</STRONG> These codes are the upper-case two-letter codes - as defined by ISO-3166. - You can find a full list of these codes at a number of sites, such as: - <BR><a href="http://www.chemie.fu-berlin.de/diverse/doc/ISO_3166.html"> - <code>http://www.chemie.fu-berlin.de/diverse/doc/ISO_3166.html</code></a> - - <P> - The second constructor requires a third argument--the <STRONG>Variant.</STRONG> - The Variant codes are vendor and browser-specific. - For example, use WIN for Windows, MAC for Macintosh, and POSIX for POSIX. - Where there are two variants, separate them with an underscore, and - put the most important one first. For - example, a Traditional Spanish collation might be referenced, with - "ES", "ES", "Traditional_WIN". - - <P> - Because a <code>OLocale</code> object is just an identifier for a region, - no validity check is performed when you construct a <code>OLocale</code>. - If you want to see whether particular resources are available for the - <code>OLocale</code> you construct, you must query those resources. For - example, ask the <code>NumberFormat</code> for the locales it supports - using its <code>getAvailableLocales</code> method. - <BR><STRONG>Note:</STRONG> When you ask for a resource for a particular - locale, you get back the best available match, not necessarily - precisely what you asked for. For more information, look at - <a href="java.util.ResourceBundle.html"><code>ResourceBundle</code></a>. - - <P> - The <code>OLocale</code> class provides a number of convenient constants - that you can use to create <code>OLocale</code> objects for commonly used - locales. For example, the following creates a <code>OLocale</code> object - for the United States: - <blockquote> - <pre> - OLocale.US - </pre> - </blockquote> - - <P> - Once you've created a <code>OLocale</code> you can query it for information about - itself. Use <code>getCountry</code> to get the ISO Country Code and - <code>getLanguage</code> to get the ISO Language Code. You can - use <code>getDisplayCountry</code> to get the - name of the country suitable for displaying to the user. Similarly, - you can use <code>getDisplayLanguage</code> to get the name of - the language suitable for displaying to the user. Interestingly, - the <code>getDisplayXXX</code> methods are themselves locale-sensitive - and have two versions: one that uses the default locale and one - that uses the locale specified as an argument. - - <P> - The JDK provides a number of classes that perform locale-sensitive - operations. For example, the <code>NumberFormat</code> class formats - numbers, currency, or percentages in a locale-sensitive manner. Classes - such as <code>NumberFormat</code> have a number of convenience methods - for creating a default object of that type. For example, the - <code>NumberFormat</code> class provides these three convenience methods - for creating a default <code>NumberFormat</code> object: - <blockquote> - <pre> - NumberFormat.getInstance() - NumberFormat.getCurrencyInstance() - NumberFormat.getPercentInstance() - </pre> - </blockquote> - These methods have two variants; one with an explicit locale - and one without; the latter using the default locale. - <blockquote> - <pre> - NumberFormat.getInstance(myLocale) - NumberFormat.getCurrencyInstance(myLocale) - NumberFormat.getPercentInstance(myLocale) - </pre> - </blockquote> - A <code>OLocale</code> is the mechanism for identifying the kind of object - (<code>NumberFormat</code>) that you would like to get. The locale is - <STRONG>just</STRONG> a mechanism for identifying objects, - <STRONG>not</STRONG> a container for the objects themselves. - - <P> - Each class that performs locale-sensitive operations allows you - to get all the available objects of that type. You can sift - through these objects by language, country, or variant, - and use the display names to present a menu to the user. - For example, you can create a menu of all the collation objects - suitable for a given language. Such classes must implement these - three class methods: - <blockquote> - <pre> - public static OLocale[] getAvailableLocales() - public static String getDisplayName(OLocale objectLocale, - OLocale displayLocale) - public static final String getDisplayName(OLocale objectLocale) - // getDisplayName will throw MissingResourceException if the locale - // is not one of the available locales. - </pre> - </blockquote> - */ -class OLocale -{ -public: - OLocale( rtl_Locale * locale ) - : pData( locale ) {} - - OLocale( const OLocale & obj) - : pData(obj.pData) {} - - OLocale & operator = ( const OLocale & obj) - { - pData = obj.pData; - return *this; - } - - /** - Construct a locale from language, country, variant. - @param language lowercase two-letter ISO-639 code. - @param country uppercase two-letter ISO-3166 code. - @param variant vendor and browser specific code. See class description. - */ - static OLocale registerLocale( const OUString & language, const OUString & country, - const OUString & variant ) - { - return rtl_locale_register( language.getStr(), country.getStr(), variant.getStr() ); - } - - /** - Construct a locale from language, country. - @param language lowercase two-letter ISO-639 code. - @param country uppercase two-letter ISO-3166 code. - */ - static OLocale registerLocale( const OUString & language, const OUString & country ) - { - return rtl_locale_register( language.getStr(), country.getStr(), NULL ); - } - - /** @deprecated - */ - static OLocale getDefault() { return rtl_locale_getDefault(); } - - /** @deprecated - */ - static void setDefault( const OUString & language, const OUString & country, - const OUString & variant ) - { rtl_locale_setDefault(language.getStr(), country.getStr(), variant.getStr()); } - - /** - Getter for programmatic name of field, - an lowercased two-letter ISO-639 code. - */ - OUString getLanguage() const { return pData->Language; } - - /** - Getter for programmatic name of field, - an uppercased two-letter ISO-3166 code. - */ - OUString getCountry() const { return pData->Country; } - - /** - Getter for programmatic name of field. - */ - OUString getVariant() const { return pData->Variant; } - - - /** - Returns the hash code of the locale This. - */ - sal_Int32 hashCode() const { return pData->HashCode; } - - sal_Bool operator == (const OLocale & obj ) const - { - return pData == obj.pData; - } - - rtl_Locale * getData() const { return pData; } - -private: - /** - Must be the first member in this class. OUString access this member with - *(rtl_Locale **)&locale. - */ - rtl_Locale * pData; - - OLocale() - : pData(rtl_locale_getDefault()) {} -}; - -} - -#endif /* __cplusplus */ -#endif /* _RTL_LOCALE_HXX_ */ - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/qa/rtl/locale/rtl_locale.cxx b/sal/qa/rtl/locale/rtl_locale.cxx index 8a047ca3f78a..6607b76ec5a6 100644 --- a/sal/qa/rtl/locale/rtl_locale.cxx +++ b/sal/qa/rtl/locale/rtl_locale.cxx @@ -19,7 +19,8 @@ #include <sal/types.h> #include <osl/thread.h> -#include <rtl/locale.hxx> +#include <rtl/locale.h> +#include <rtl/ustring.hxx> #include <cppunit/TestFixture.h> #include <cppunit/extensions/HelperMacros.h> @@ -30,7 +31,7 @@ namespace rtl_locale // default locale for test purpose void setDefaultLocale() { - rtl::OLocale::setDefault(rtl::OUString("de"), rtl::OUString("DE"), /* rtl::OUString() */ rtl::OUString("hochdeutsch") ); + rtl_locale_setDefault(rtl::OUString("de").getStr(), rtl::OUString("DE").getStr(), /* rtl::OUString() */ rtl::OUString("hochdeutsch").getStr() ); } class getDefault : public CppUnit::TestFixture @@ -61,9 +62,8 @@ public: void getDefault_001() { - // rtl::OLocale::setDefault(rtl::OUString("de"), rtl::OUString("DE"), rtl::OUString()); - rtl::OLocale aLocale = ::rtl::OLocale::getDefault(); - CPPUNIT_ASSERT_MESSAGE("locale must not null", aLocale.getData() != NULL); + rtl_Locale* pData = rtl_locale_getDefault(); + CPPUNIT_ASSERT_MESSAGE("locale must not null", pData != NULL); } // Change the following lines only, if you add, remove or rename @@ -95,9 +95,9 @@ public: // insert your test code here. void setDefault_001() { - rtl::OLocale::setDefault(rtl::OUString("en"), rtl::OUString("US"), rtl::OUString()); - rtl::OLocale aLocale = ::rtl::OLocale::getDefault(); - CPPUNIT_ASSERT_MESSAGE("locale must not null", aLocale.getData() != NULL); + rtl_locale_setDefault(rtl::OUString("en").getStr(), rtl::OUString("US").getStr(), rtl::OUString().getStr()); + rtl_Locale* pData = rtl_locale_getDefault(); + CPPUNIT_ASSERT_MESSAGE("locale must not null", pData != NULL); // be sure to not GPF } @@ -129,14 +129,14 @@ public: // insert your test code here. void getLanguage_001() { - rtl::OLocale aLocale = ::rtl::OLocale::getDefault(); - rtl::OUString suLanguage = aLocale.getLanguage(); + rtl_Locale* pData = rtl_locale_getDefault(); + rtl::OUString suLanguage = pData->Language; CPPUNIT_ASSERT_MESSAGE( "locale language must be 'de'", suLanguage == "de" ); } void getLanguage_002() { - rtl::OLocale aLocale = ::rtl::OLocale::getDefault(); - rtl::OUString suLanguage(rtl_locale_getLanguage(aLocale.getData()), SAL_NO_ACQUIRE); + rtl_Locale* pData = rtl_locale_getDefault(); + rtl::OUString suLanguage(rtl_locale_getLanguage(pData), SAL_NO_ACQUIRE); CPPUNIT_ASSERT_MESSAGE( "locale language must be 'de'", suLanguage == "de" ); } @@ -168,14 +168,14 @@ public: // insert your test code here. void getCountry_001() { - rtl::OLocale aLocale = ::rtl::OLocale::getDefault(); - rtl::OUString suCountry = aLocale.getCountry(); + rtl_Locale* pData = rtl_locale_getDefault(); + rtl::OUString suCountry = pData->Country; CPPUNIT_ASSERT_MESSAGE( "locale country must be 'DE'", suCountry == "DE" ); } void getCountry_002() { - rtl::OLocale aLocale = ::rtl::OLocale::getDefault(); - rtl::OUString suCountry(rtl_locale_getCountry(aLocale.getData()), SAL_NO_ACQUIRE); + rtl_Locale* pData = rtl_locale_getDefault(); + rtl::OUString suCountry(rtl_locale_getCountry(pData), SAL_NO_ACQUIRE); CPPUNIT_ASSERT_MESSAGE( "locale country must be 'DE'", suCountry == "DE" ); } @@ -207,14 +207,14 @@ public: // insert your test code here. void getVariant_001() { - rtl::OLocale aLocale = ::rtl::OLocale::getDefault(); - rtl::OUString suVariant = aLocale.getVariant(); + rtl_Locale* pData = rtl_locale_getDefault(); + rtl::OUString suVariant = pData->Variant; CPPUNIT_ASSERT_MESSAGE( "locale variant must be 'hochdeutsch'", suVariant == "hochdeutsch" ); } void getVariant_002() { - rtl::OLocale aLocale = ::rtl::OLocale::getDefault(); - rtl::OUString suVariant(rtl_locale_getVariant(aLocale.getData()), SAL_NO_ACQUIRE); + rtl_Locale* pData = rtl_locale_getDefault(); + rtl::OUString suVariant(rtl_locale_getVariant(pData), SAL_NO_ACQUIRE); CPPUNIT_ASSERT_MESSAGE( "locale variant must be 'hochdeutsch'", suVariant == "hochdeutsch" ); } @@ -246,14 +246,14 @@ public: // insert your test code here. void hashCode_001() { - rtl::OLocale aLocale = ::rtl::OLocale::getDefault(); - sal_Int32 nHashCode = aLocale.hashCode(); + rtl_Locale* pData = rtl_locale_getDefault(); + sal_Int32 nHashCode = pData->HashCode; CPPUNIT_ASSERT_MESSAGE("locale hashcode must be 3831", nHashCode != 0); } void hashCode_002() { - rtl::OLocale aLocale = ::rtl::OLocale::getDefault(); - sal_Int32 nHashCode = rtl_locale_hashCode(aLocale.getData()); + rtl_Locale* pData = rtl_locale_getDefault(); + sal_Int32 nHashCode = rtl_locale_hashCode(pData); CPPUNIT_ASSERT_MESSAGE("locale hashcode must be 3831", nHashCode != 0); } @@ -285,21 +285,21 @@ public: // insert your test code here. void equals_001() { - rtl::OLocale aLocale1 = rtl::OLocale::registerLocale(rtl::OUString("en"), rtl::OUString("US"), rtl::OUString()); - rtl::OLocale aLocale2 = rtl::OLocale::registerLocale(rtl::OUString("en"), rtl::OUString("US")); + rtl_Locale* pData1 = rtl_locale_register(rtl::OUString("en").getStr(), rtl::OUString("US").getStr(), rtl::OUString().getStr()); + rtl_Locale* pData2 = rtl_locale_register(rtl::OUString("en").getStr(), rtl::OUString("US").getStr(), rtl::OUString().getStr()); sal_Bool bLocaleAreEqual = sal_False; - bLocaleAreEqual = (aLocale1 == aLocale2); + bLocaleAreEqual = (pData1 == pData2); CPPUNIT_ASSERT_MESSAGE("check operator ==()", bLocaleAreEqual == sal_True); } void equals_002() { - rtl::OLocale aLocale1 = rtl::OLocale::registerLocale(rtl::OUString("en"), rtl::OUString("US"), rtl::OUString()); - rtl::OLocale aLocale2 = rtl::OLocale::registerLocale(rtl::OUString("en"), rtl::OUString("US")); + rtl_Locale* pData1 = rtl_locale_register(rtl::OUString("en").getStr(), rtl::OUString("US").getStr(), rtl::OUString().getStr()); + rtl_Locale* pData2 = rtl_locale_register(rtl::OUString("en").getStr(), rtl::OUString("US").getStr(), rtl::OUString().getStr()); - sal_Int32 nEqual = rtl_locale_equals(aLocale1.getData(), aLocale2.getData()); + sal_Int32 nEqual = rtl_locale_equals(pData1, pData2); CPPUNIT_ASSERT(nEqual != 0); } diff --git a/sal/qa/rtl_strings/rtl_old_testowstring.cxx b/sal/qa/rtl_strings/rtl_old_testowstring.cxx index 207a7d9b9ecb..92a0e143b138 100644 --- a/sal/qa/rtl_strings/rtl_old_testowstring.cxx +++ b/sal/qa/rtl_strings/rtl_old_testowstring.cxx @@ -33,8 +33,6 @@ #include <rtl/string.hxx> -#include <rtl/locale.hxx> - #include <testshl/simpleheader.hxx> #define TEST_ENSURE(c, m) CPPUNIT_ASSERT_MESSAGE((m), (c)) |