LCOV - code coverage report
Current view: top level - intl/icu/source/common - servslkf.cpp (source / functions) Hit Total Coverage
Test: output.info Lines: 0 29 0.0 %
Date: 2017-07-14 16:53:18 Functions: 0 8 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : // © 2016 and later: Unicode, Inc. and others.
       2             : // License & terms of use: http://www.unicode.org/copyright.html
       3             : /**
       4             :  *******************************************************************************
       5             :  * Copyright (C) 2001-2014, International Business Machines Corporation and    *
       6             :  * others. All Rights Reserved.                                                *
       7             :  *******************************************************************************
       8             :  *
       9             :  *******************************************************************************
      10             :  */
      11             : #include "unicode/utypes.h"
      12             : 
      13             : #if !UCONFIG_NO_SERVICE
      14             : 
      15             : #include "unicode/resbund.h"
      16             : #include "uresimp.h"
      17             : #include "cmemory.h"
      18             : #include "servloc.h"
      19             : #include "ustrfmt.h"
      20             : #include "uhash.h"
      21             : #include "charstr.h"
      22             : #include "uassert.h"
      23             : 
      24             : #define UNDERSCORE_CHAR ((UChar)0x005f)
      25             : #define AT_SIGN_CHAR    ((UChar)64)
      26             : #define PERIOD_CHAR     ((UChar)46)
      27             : 
      28             : U_NAMESPACE_BEGIN
      29             : 
      30             : /*
      31             :  ******************************************************************
      32             :  */
      33             : 
      34           0 : SimpleLocaleKeyFactory::SimpleLocaleKeyFactory(UObject* objToAdopt,
      35             :                                                const UnicodeString& locale,
      36             :                                                int32_t kind,
      37           0 :                                                int32_t coverage)
      38             :   : LocaleKeyFactory(coverage)
      39             :   , _obj(objToAdopt)
      40             :   , _id(locale)
      41           0 :   , _kind(kind)
      42             : {
      43           0 : }
      44             : 
      45           0 : SimpleLocaleKeyFactory::SimpleLocaleKeyFactory(UObject* objToAdopt,
      46             :                                                const Locale& locale,
      47             :                                                int32_t kind,
      48           0 :                                                int32_t coverage)
      49             :   : LocaleKeyFactory(coverage)
      50             :   , _obj(objToAdopt)
      51             :   , _id()
      52           0 :   , _kind(kind)
      53             : {
      54           0 :     LocaleUtility::initNameFromLocale(locale, _id);
      55           0 : }
      56             : 
      57           0 : SimpleLocaleKeyFactory::~SimpleLocaleKeyFactory()
      58             : {
      59           0 :   delete _obj;
      60           0 :   _obj = NULL;
      61           0 : }
      62             : 
      63             : UObject*
      64           0 : SimpleLocaleKeyFactory::create(const ICUServiceKey& key, const ICUService* service, UErrorCode& status) const
      65             : {
      66           0 :     if (U_SUCCESS(status)) {
      67           0 :         const LocaleKey& lkey = (const LocaleKey&)key;
      68           0 :         if (_kind == LocaleKey::KIND_ANY || _kind == lkey.kind()) {
      69           0 :             UnicodeString keyID;
      70           0 :             lkey.currentID(keyID);
      71           0 :             if (_id == keyID) {
      72           0 :                 return service->cloneInstance(_obj);
      73             :             }
      74             :         }
      75             :     }
      76           0 :     return NULL;
      77             : }
      78             : 
      79             : //UBool
      80             : //SimpleLocaleKeyFactory::isSupportedID(const UnicodeString& id, UErrorCode& /* status */) const
      81             : //{
      82             : //    return id == _id;
      83             : //}
      84             : 
      85             : void
      86           0 : SimpleLocaleKeyFactory::updateVisibleIDs(Hashtable& result, UErrorCode& status) const
      87             : {
      88           0 :     if (U_SUCCESS(status)) {
      89           0 :         if (_coverage & 0x1) {
      90           0 :             result.remove(_id);
      91             :         } else {
      92           0 :             result.put(_id, (void*)this, status);
      93             :         }
      94             :     }
      95           0 : }
      96             : 
      97             : #ifdef SERVICE_DEBUG
      98             : UnicodeString&
      99             : SimpleLocaleKeyFactory::debug(UnicodeString& result) const
     100             : {
     101             :     LocaleKeyFactory::debug(result);
     102             :     result.append((UnicodeString)", id: ");
     103             :     result.append(_id);
     104             :     result.append((UnicodeString)", kind: ");
     105             :     result.append(_kind);
     106             :     return result;
     107             : }
     108             : 
     109             : UnicodeString&
     110             : SimpleLocaleKeyFactory::debugClass(UnicodeString& result) const
     111             : {
     112             :     return result.append((UnicodeString)"SimpleLocaleKeyFactory");
     113             : }
     114             : #endif
     115             : 
     116           0 : UOBJECT_DEFINE_RTTI_IMPLEMENTATION(SimpleLocaleKeyFactory)
     117             : 
     118             : U_NAMESPACE_END
     119             : 
     120             : /* !UCONFIG_NO_SERVICE */
     121             : #endif
     122             : 
     123             : 

Generated by: LCOV version 1.13