summaryrefslogtreecommitdiff
path: root/sal
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2012-11-30 17:26:32 +0100
committerEike Rathke <erack@redhat.com>2012-11-30 17:27:07 +0100
commit73bda5058bcef6be9a3185aa46375c7b147ffa22 (patch)
treef278b7b2dd94d0059bc25f98fa050d4f40a8c006 /sal
parent84f24288ee5883cd533985ee9ff66b60046bd4ac (diff)
ditched rtl::OLocale
Change-Id: I3f4a09c82df1bc71759331705c502320f973d4bb
Diffstat (limited to 'sal')
-rw-r--r--sal/Package_inc.mk1
-rw-r--r--sal/inc/rtl/locale.hxx250
-rw-r--r--sal/qa/rtl/locale/rtl_locale.cxx60
-rw-r--r--sal/qa/rtl_strings/rtl_old_testowstring.cxx2
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))