Home | History | Annotate | Download | only in common
      1 /*
      2 **********************************************************************
      3 * Copyright (c) 2004, International Business Machines
      4 * Corporation and others.  All Rights Reserved.
      5 **********************************************************************
      6 * Author: Alan Liu
      7 * Created: January 16 2004
      8 * Since: ICU 2.8
      9 **********************************************************************
     10 */
     11 #include "locbased.h"
     12 #include "cstring.h"
     13 
     14 U_NAMESPACE_BEGIN
     15 
     16 Locale LocaleBased::getLocale(ULocDataLocaleType type, UErrorCode& status) const {
     17     const char* id = getLocaleID(type, status);
     18     return Locale((id != 0) ? id : "");
     19 }
     20 
     21 const char* LocaleBased::getLocaleID(ULocDataLocaleType type, UErrorCode& status) const {
     22     if (U_FAILURE(status)) {
     23         return NULL;
     24     }
     25 
     26     switch(type) {
     27     case ULOC_VALID_LOCALE:
     28         return valid;
     29     case ULOC_ACTUAL_LOCALE:
     30         return actual;
     31     default:
     32         status = U_ILLEGAL_ARGUMENT_ERROR;
     33         return NULL;
     34     }
     35 }
     36 
     37 void LocaleBased::setLocaleIDs(const char* validID, const char* actualID) {
     38     if (validID != 0) {
     39         uprv_strcpy(valid, validID);
     40     }
     41     if (actualID != 0) {
     42         uprv_strcpy(actual, actualID);
     43     }
     44 }
     45 
     46 U_NAMESPACE_END
     47