Home | History | Annotate | Download | only in i18n
      1 /*
      2 *****************************************************************************************
      3 * Copyright (C) 2013, International Business Machines Corporation and others.
      4 * All Rights Reserved.
      5 *****************************************************************************************
      6 */
      7 
      8 #include "unicode/utypes.h"
      9 
     10 #if !UCONFIG_NO_FORMATTING
     11 
     12 #include "unicode/uregion.h"
     13 #include "unicode/region.h"
     14 #include "unicode/uenum.h"
     15 
     16 U_NAMESPACE_USE
     17 
     18 
     19 U_CAPI const URegion* U_EXPORT2
     20 uregion_getRegionFromCode(const char *regionCode, UErrorCode *status)
     21 {
     22     return (URegion*)Region::getInstance(regionCode, *status);
     23 }
     24 
     25 
     26 U_CAPI const URegion* U_EXPORT2
     27 uregion_getRegionFromNumericCode (int32_t code, UErrorCode *status)
     28 {
     29     return (URegion*)Region::getInstance(code, *status);
     30 }
     31 
     32 
     33 U_CAPI UEnumeration* U_EXPORT2
     34 uregion_getAvailable(URegionType type, UErrorCode *status)
     35 {
     36     return uenum_openFromStringEnumeration( Region::getAvailable(type), status );
     37 }
     38 
     39 
     40 U_CAPI UBool U_EXPORT2
     41 uregion_areEqual(const URegion* uregion, const URegion* otherRegion)
     42 {
     43     return ( (void*)uregion == (void*)otherRegion );
     44 }
     45 
     46 
     47 U_CAPI const URegion* U_EXPORT2
     48 uregion_getContainingRegion(const URegion* uregion)
     49 {
     50     return (URegion*)((Region*)uregion)->getContainingRegion();
     51 }
     52 
     53 
     54 U_CAPI const URegion* U_EXPORT2
     55 uregion_getContainingRegionOfType(const URegion* uregion, URegionType type)
     56 {
     57     return (URegion*)((Region*)uregion)->getContainingRegion(type);
     58 }
     59 
     60 
     61 U_CAPI UEnumeration* U_EXPORT2
     62 uregion_getContainedRegions(const URegion* uregion, UErrorCode *status)
     63 {
     64     return uenum_openFromStringEnumeration( ((Region*)uregion)->getContainedRegions(), status);
     65 }
     66 
     67 
     68 U_CAPI UEnumeration* U_EXPORT2
     69 uregion_getContainedRegionsOfType(const URegion* uregion, URegionType type, UErrorCode *status)
     70 {
     71     return uenum_openFromStringEnumeration( ((Region*)uregion)->getContainedRegions(type), status);
     72 }
     73 
     74 
     75 U_CAPI UBool U_EXPORT2
     76 uregion_contains(const URegion* uregion, const URegion* otherRegion)
     77 {
     78     return ((Region*)uregion)->contains(*((Region*)otherRegion));
     79 }
     80 
     81 
     82 U_CAPI UEnumeration* U_EXPORT2
     83 uregion_getPreferredValues(const URegion* uregion, UErrorCode *status)
     84 {
     85     return uenum_openFromStringEnumeration( ((Region*)uregion)->getPreferredValues(), status);
     86 }
     87 
     88 
     89 U_CAPI const char* U_EXPORT2
     90 uregion_getRegionCode(const URegion* uregion)
     91 {
     92     return ((Region*)uregion)->getRegionCode();
     93 }
     94 
     95 
     96 U_CAPI int32_t U_EXPORT2
     97 uregion_getNumericCode(const URegion* uregion)
     98 {
     99     return ((Region*)uregion)->getNumericCode();
    100 }
    101 
    102 
    103 U_CAPI URegionType U_EXPORT2
    104 uregion_getType(const URegion* uregion)
    105 {
    106     return ((Region*)uregion)->getType();
    107 }
    108 
    109 
    110 #endif /* #if !UCONFIG_NO_FORMATTING */
    111