| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 
 | /*
 *  Copyright (C) 2005-2018 Team Kodi
 *  This file is part of Kodi - https://kodi.tv
 *
 *  SPDX-License-Identifier: GPL-2.0-or-later
 *  See LICENSES/README.md for more information.
 */
#include "CPUInfo.h"
#include "utils/StringUtils.h"
bool CCPUInfo::HasCoreId(int coreId) const
{
  for (const auto& core : m_cores)
  {
    if (core.m_id == coreId)
      return true;
  }
  return false;
}
const CoreInfo CCPUInfo::GetCoreInfo(int coreId)
{
  CoreInfo coreInfo;
  for (auto& core : m_cores)
  {
    if (core.m_id == coreId)
      coreInfo = core;
  }
  return coreInfo;
}
std::string CCPUInfo::GetCoresUsageString()
{
  std::string strCores;
  if (SupportsCPUUsage())
  {
    GetUsedPercentage(); // must call it to recalculate pct values
    if (!m_cores.empty())
    {
      for (const auto& core : m_cores)
      {
        if (!strCores.empty())
          strCores += ' ';
        if (core.m_usagePercent < 10.0)
          strCores += StringUtils::Format("#{}: {:1.1f}%", core.m_id, core.m_usagePercent);
        else
          strCores += StringUtils::Format("#{}: {:3.0f}%", core.m_id, core.m_usagePercent);
      }
    }
    else
    {
      strCores += StringUtils::Format("{:3.0f}%", static_cast<double>(m_lastUsedPercentage));
    }
  }
  return strCores;
}
 |