Enable build with iniparser v 3.1
[platform/framework/native/appfw.git] / inc / FLclLocale.h
index b2a1950..5f8c396 100644 (file)
@@ -1,5 +1,4 @@
 //
-// Open Service Platform
 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
 //
 // Licensed under the Apache License, Version 2.0 (the License);
@@ -61,13 +60,15 @@ enum CalendarType
  * @enum       LanguageCode
  *
  * Defines the ISO 639-2 language code. @n
- * The LanguageCode enumerator represents the ISO 639-2 language codes. @n
- * The specified LanguageCode represents the language code with the locale's ISO-15924 abbreviation script code. 
+ * This enum represents the ISO 639-2 language codes. @n
+ * The specific LanguageCode represents the language code with the locale's ISO-15924 abbreviation script code. @n
+ * The supported ISO-15924 script codes are Arabic, Cyrillic, Latin, Hans, Hant and Gurmukhi.
  *
  * @since              2.0
  */
 enum LanguageCode
 {
+       LANGUAGE_INVALID = -1, /**< An invalid language code */
        LANGUAGE_AAR, /**< Afar */
        LANGUAGE_ABK, /**< Abkhazian */
        LANGUAGE_ACE, /**< Achinese */
@@ -570,8 +571,7 @@ enum LanguageCode
        LANGUAGE_ZUN, /**< Zuni */
        LANGUAGE_ZXX, /**< No linguistic content; Not applicable */
        LANGUAGE_ZZA, /**< Zaza; Dimili; Dimli; Kirdki; Kirmanjki; Zazaki */
-       LANGUAGE_MAX, // Language max count
-       LANGUAGE_INVALID /**< An invalid language code */
+       LANGUAGE_MAX // Language max count
 }; // LanguageCode
 
 
@@ -579,12 +579,14 @@ enum LanguageCode
  * @enum       CountryCode
  *
  * Defines the ISO 3166-1 alpha-2 country code. @n
- * The CountryCode enumerator represents the ISO 3166-1 alpha-2 country codes.
+ * This enum represents the ISO 3166-1 alpha-2 country codes.
+ * The area code for Latin america and the Caribbean represents the ISO 3166-1 numeric-3 code.
  *
  * @since              2.0
  */
 enum CountryCode
 {
+    COUNTRY_INVALID = -1, /**< An invalid country code */
        COUNTRY_AF, /**< AFGHANISTAN  */
        COUNTRY_AX, /**< ALAND ISLANDS */
        COUNTRY_AL, /**< ALBANIA */
@@ -826,8 +828,10 @@ enum CountryCode
        COUNTRY_ZW, /**< ZIMBABWE */
        COUNTRY_RS, /**< SERBIA */
        COUNTRY_ME, /**< MONTENEGRO */
-       COUNTRY_MAX,    //< Country max count
-       COUNTRY_INVALID, //< invalid country code
+       COUNTRY_BL, /**< SAINT BARTHELEMY @b Since: @b 2.1  */
+       COUNTRY_MF, /**< SAINT MARTIN (FRENCH PART) @b Since: @b 2.1 */
+       COUNTRY_AREA_419, /**< Latin America and the Caribbean @b Since: @b 2.1  */
+       COUNTRY_MAX    //< Country max count
 };
 
 
@@ -839,7 +843,7 @@ enum CountryCode
  *
  * @final      This class is not intended for extension.
  *
- * @remarks    For more information on the example codes for %Locale class, see LocaleManager.
+ * @remarks    For more information on the example codes for the %Locale class, see LocaleManager.
  *
  * The %Locale class represents a specific geographical, political, or cultural region. @n
  * A %Locale object has three attributes:
@@ -873,10 +877,10 @@ public:
         *
         * @since                               2.0
         *
-        * @param[in]                   languageCode                                    The language code
-        * @param[in]                   countryCode                                             The country code
-        * @param[in]                   pVariantCodeString                              A pointer to the variant code string @n
-        *                                                                              It is converted to a uppercase letter if it is written in a lowercase letter.
+        * @param[in]                   languageCode                    The language code
+        * @param[in]                   countryCode                             The country code
+        * @param[in]                   pVariantCodeString              A pointer to the variant code string @n
+        *                                                                                              It is converted to upper case letters if it is written in lower case letters.
         */
        Locale(LanguageCode languageCode, CountryCode countryCode, const Tizen::Base::String* pVariantCodeString = null);
 
@@ -884,10 +888,10 @@ public:
         * Assigns the value of the specified instance to the current instance of %Locale. @n
         * Copying of objects using this copy assignment operator is allowed.
         *
-        * @since                               2.0
+        * @since                       2.0
         *
         * @return                      A reference to the current instance of %Locale
-        * @param[in]           otherLocale                                                     An instance of %Locale
+        * @param[in]           otherLocale                             An instance of %Locale
         */
        Locale& operator =(const Locale& otherLocale);
 
@@ -902,11 +906,11 @@ public:
        /**
         * Compares the current instance of %Locale with the specified instance of %Locale.
         *
-        * @since                               2.0
+        * @since                       2.0
         *
         * @return                      @c true if the value of the specified instance is equal to the value of the current instance, @n
         *                                      else @c false
-        * @param[in]           otherLocale                                             An instance of %Locale
+        * @param[in]           otherLocale                             An instance of %Locale
         */
        bool operator ==(const Locale& otherLocale) const;
 
@@ -922,14 +926,14 @@ public:
        bool operator !=(const Locale& otherLocale) const;
 
        /**
-        *      Converts the operand @c obj to an object of the %Locale type and then compares it with the current instance of %Locale.
+        * Converts the operand @c obj to an object of the %Locale type and compares it with the current instance of %Locale.
         *
         * @since               2.0
         *
         * @return              @c true if the value of the current instance is equal to the value of the specified Tizen::Base::Object, @n
         *                              else @c false
-        * @param[in]   obj             The object to compare with the current instance
-        * @see         Tizen::Base::Object::Equals()
+        * @param[in]   obj                             The object to compare with the current instance
+        * @see                 Tizen::Base::Object::Equals()
         */
        virtual bool Equals(const Object& obj) const;
 
@@ -948,6 +952,8 @@ public:
         * @since               2.0
         *
         * @return              The language code enum value of the instance
+        *
+        * @remarks             The specific LanguageCode represents the language code with the locale's ISO-15924 abbreviation script code.
         */
        LanguageCode GetLanguageCode(void) const;
 
@@ -965,7 +971,8 @@ public:
         *
         * @since               2.0
         *
-        * @return              The language code
+        * @return              The language code, @n
+        *                              The specific language code string has the locale's ISO-15924 abbreviation script code.
         */
        Tizen::Base::String GetLanguageCodeString(void) const;
 
@@ -984,7 +991,7 @@ public:
         *
         * @since               2.0
         *
-        * @return              The variant code string written in a uppercase letter even if it was set to a lowercase letter, @n
+        * @return              The variant code string in upper case letters even if it was set to lower case letters, @n
         *                              else an empty string if the variant is not specified
         * @see                 SetVariantCodeString()
         */
@@ -995,32 +1002,29 @@ public:
         * Gets the string representing the current instance of %Locale. @n
         * The string consists of the values returned by GetLanguageCodeString(), GetCountryCodeString(), and GetVariantCodeString() assembled into a string.
         *
-        * @since                                       2.0
+        * @since                               2.0
         *
-        * @return                              A concatenated string with the language code string, country code string, and variant string @n
-        *                                              For example, if the language code is LANGUAGE_ENG, country code is COUNTRY_US, and variant string is empty, @n
+        * @return                              The concatenated string with the language code string, country code string, and variant string @n
+        *                                              For example, if the language code is ::LANGUAGE_ENG, country code is ::COUNTRY_US, and variant string is empty, @n
         *                                              the locale code string is "eng_US".
-        * @see                                 GetLanguageCodeString()
-        * @see                                 GetCountryCodeString()
-        * @see                                 GetVariantCodeString()
         */
        Tizen::Base::String GetLocaleCodeString(void) const;
 
        /**
-        * Gets the country name of the current instance of %Locale that is appropriate for display to the user. @n
+        * Gets the country name of the current instance of %Locale that is appropriate for display. @n
         * The name is localized for this locale. For example, if this locale is eng_US, the name is "United States".
         *
         * @since                               2.0
         *
         * @return                              An error code
-        * @param[out]                  countryName                             The country name of the locale
-        * @exception                   E_SUCCESS                               The method is successful.
-        * @exception                   E_UNSUPPORTED_OPERATION The current @c locale does not have country name entry in the database.
+        * @param[out]                  countryName                                     The country name of the locale
+        * @exception                   E_SUCCESS                                       The method is successful.
+        * @exception                   E_UNSUPPORTED_OPERATION         The current @c locale does not have a country name entry in the database.
         */
        result GetCountryName(Tizen::Base::String& countryName) const;
 
        /**
-        * Gets the country name of the current instance of %Locale that is appropriate for display to the user in the specified %Locale. @n
+        * Gets the country name of the current instance of %Locale that is appropriate for display in the specified %Locale. @n
         * The country name is localized for the specified locale(@c otherLocale). For example, if
         * the current instance of %Locale is fra_FR and the @c otherLocale is eng_US, the name is "France";
         * if the current instance is eng_US and the @c otherLocale is fra_FR, the name returned is "Etats-Unis".
@@ -1028,29 +1032,28 @@ public:
         * @since                                       2.0
         *
         * @return                                      An error code
-        * @param[in]                           otherLocale                             An instance of %Locale according to which the country name of the specified %Locale is displayed
-        * @param[out]                          countryName                             The country name of the locale
-        * @exception                           E_SUCCESS                               The method is successful.
-        * @exception                           E_UNSUPPORTED_OPERATION         The specified @c locale is not supported, or the current @c locale does not have country name entry in the database.
+        * @param[in]                           otherLocale                                     An instance of %Locale to display the country name
+        * @param[out]                          countryName                                     The country name of the locale
+        * @exception                           E_SUCCESS                                       The method is successful.
+        * @exception                           E_UNSUPPORTED_OPERATION         The specified @c locale is not supported, or the current @c locale does not have country name entry in the database.
         */
        result GetCountryName(const Locale& otherLocale, Tizen::Base::String& countryName) const;
 
        /**
-        * Gets the language name of the current instance of %Locale that is appropriate for display to the user. @n
-        * The name is localized for the locale. For example, if this locale is
-        * eng_US, the name is "English".
+        * Gets the language name of the current instance of %Locale that is appropriate for display. @n
+        * The name is localized for the locale. For example, if this locale is eng_US, the name is "English".
         *
         * @since                                       2.0
         *
         * @return                                      An error code
-        * @param[out]                          languageName            The language name of the locale
-        * @exception                           E_SUCCESS                       The method is successful.
-        * @exception                           E_UNSUPPORTED_OPERATION         The current @c locale does not have country name entry in the database.
+        * @param[out]                          languageName                            The language name of the locale
+        * @exception                           E_SUCCESS                                       The method is successful.
+        * @exception                           E_UNSUPPORTED_OPERATION         The current @c locale does not have country name entry in the database.
         */
        result GetLanguageName(Tizen::Base::String& languageName) const;
 
        /**
-        * Gets the language name of the current instance of %Locale that is appropriate for display to the user in the specified %Locale. @n
+        * Gets the language name of the current instance of %Locale that is appropriate for display in the specified %Locale. @n
         * The name is localized for the specified locale (@c otherLocale). For example, if
         * the current instance is fra_FR and the @c otherLocale is eng_US, the name is "French";
         * if the current instance is engUS and the @c otherLocale is fra_FR, the name returned is "anglais".
@@ -1058,20 +1061,20 @@ public:
         * @since                                       2.0
         *
         * @return                                      An error code
-        * @param[in]                           otherLocale                             An instance of %Locale according to which the language name of the specified %Locale is displayed
-        * @param[out]                          languageName                    The language name of the locale
-        * @exception                           E_SUCCESS                               The method is successful.
+        * @param[in]                           otherLocale                                     An instance of %Locale to display the language name
+        * @param[out]                          languageName                            The language name of the locale
+        * @exception                           E_SUCCESS                                       The method is successful.
         * @exception                           E_UNSUPPORTED_OPERATION         The specified @c locale is not supported, or the current @c locale does not have country name entry in the database.
         */
        result GetLanguageName(const Locale& otherLocale, Tizen::Base::String& languageName) const;
 
        /**
         * Sets the variant code with the specified variant code string. @n
-        * The variant code string is converted to a uppercase letter even if it is set to a lowercase letter.
+        * The variant code string is converted to upper case letters even if it is set to lower case letters.
         *
         * @since                                       2.0
         *
-        * @param[in]                           pVariantCode                    A pointer to the variant code   
+        * @param[in]                           pVariantCode                    The pointer to the variant code
         */
        void SetVariantCodeString(const Tizen::Base::String* pVariantCode = null);
 
@@ -1080,84 +1083,94 @@ public:
         *
         * @since                       2.0
         *
-        * @param[in]           languageCodeString                              The language code 
-        * @return              An instance of LanguageCode associated with the @c languageCodeString.
+        * @param[in]           languageCodeString                              The language code, @n
+        *                                                                                                      To get the specified language code with the locale's ISO-15924 abbreviation script code, 
+        *                                                                                                      the form of @c languageCodeString should combine the ISO 639-2 language codes and the locale's 
+        *                                                                                                      ISO-15924 abbreviation script code by "-". @n
+        *                                                                                                      For example, if the language code is "aze" and the script code is "latn", 
+        *                                                                                                      the @c languageCodeString is "aze-latn", and the language code is @c LANGUAGE_AZE_LATIN.
+        * @return                      An instance of LanguageCode associated with @c languageCodeString.
         */
        static LanguageCode StringToLanguageCode(const Tizen::Base::String& languageCodeString);
 
        /**
-        * Gets the country code equivalent to the specified country code string.
+        * Gets the country code equivalent of the specified country code string.
         *
         * @since                       2.0
         *
         * @param[in]           countryCodeString                               The country code
-        * @return              An instance of CountryCode associated with the @c countryCodeString.
+        * @return                      An instance of CountryCode associated with the @c countryCodeString.
         */
        static CountryCode StringToCountryCode(const Tizen::Base::String& countryCodeString);
 
        /**
-        * Gets the language code string equivalent to the specified @c languageCode.
+        * Gets the language code string equivalent of the specified @c languageCode.
         *
         * @since                       2.0
         *
         * @param[in]           languageCode                                    The language code
-        * @return              The language code string associated with the @c languageCode, @n
-        *                              else an empty string if languageCode is invaild.
+        * @return                      The language code string associated with @c languageCode, @n
+        *                                      else an empty string if @c languageCode is invalid.
+        * @see                         StringToLanguageCode()
         */
        static Tizen::Base::String LanguageCodeToString(LanguageCode languageCode);
 
        /**
-        * Gets the country code string equivalent to the specified @c countryCode.
+        * Gets the country code string equivalent of the specified @c countryCode.
         *
         * @since                       2.0
         *
         * @param[in]           countryCode                                             The country code
-        * @return              The ISO 3166-1 alpha-2 country code string associated with the @c countryCode, @n
-        *                              else an empty string if countryCode is invaild. 
+        * @return                      The ISO 3166-1 alpha-2 country code string associated with @c countryCode, @n
+        *                                      else an empty string if @c countryCode is invalid.
         */
        static Tizen::Base::String CountryCodeToString(CountryCode countryCode);
 
        /**
-        * Gets the 2-letter language code string equivalent to the specified @c languageCode.
+        * Gets the 2-letter language code string equivalent of the specified @c languageCode.
         *
         * @since                       2.0
         *
         * @param[in]           languageCode                                    The language code
-        * @return              The ISO 639-2 language code string associated with the @c languageCode, @n
-        *                              else an empty string if languageCode is invaild.
+        * @return                      The ISO 639-2 language code string associated with @c languageCode, @n
+        *                                      or the ISO 639-2 language code string with the ISO-15924 script code if the @c languageCode represents 
+        *                                      the ISO 639-2 language code with the ISO-15924 script code, @n
+        *                                      else an empty string if @c languageCode is invalid.
         */
        static Tizen::Base::String LanguageCodeToTwoLetterLanguageCodeString(LanguageCode languageCode);
 
        /**
-        * Gets the language code equivalent to the specified 2-letter language code string.
+        * Gets the language code equivalent of the specified 2-letter language code string.
         *
         * @since                       2.0
         *
         * @param[in]           languageCodeString                              The language code string
-        * @return              An instance of LanguageCode associated with the @c languageCodeString.
+        * @return                      An instance of LanguageCode associated with @c languageCodeString.
+        * @see                         StringToLanguageCode()
         */
        static LanguageCode TwoLetterLanguageCodeStringToLanguageCode(const Tizen::Base::String& languageCodeString);
 
        /**
-        * Gets the 3-letter country code string equivalent to the specified @c countryCode.
+        * Gets the 3-letter country code string equivalent of the specified @c countryCode.
         *
         * @since                       2.0
         *
         * @param[in]           countryCode                                             The country code
-        * @return              The ISO 3166-1 alpha-3 country code string associated with the @c countryCode, @n
-        *                              else an empty string if countryCode is invaild 
-        * @see                 CountryCodeToString()
+        * @return                      The ISO 3166-1 alpha-3 country code string associated with @c countryCode, @n
+        *                                      else an empty string if @c countryCode is invalid
+        * @remarks                     @c COUNTRY_AREA_419 returns an empty string, since it is not defined in the ISO 3166-1 alpha-3.
+        * @see                         CountryCodeToString()
         */
        static Tizen::Base::String CountryCodeToThreeLetterCountryCodeString(CountryCode countryCode);
 
        /**
-        * Gets the country code equivalent to the specified 3-letter country code string.
+        * Gets the country code equivalent of the specified 3-letter country code string.
         *
         * @since                       2.0
         *
         * @param[in]           countryCodeString                                The country code string
-        * @return              An instance of CountryCode associated with the @c countryCodeString.
-        * @see                 StringToCountryCode() 
+        * @return                      An instance of CountryCode associated with @c countryCodeString.
+        * @see                         StringToCountryCode()
         */
        static CountryCode ThreeLetterCountryCodeStringToCountryCode(const Tizen::Base::String& countryCodeString);