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