#ifndef WEBRTC_SYSTEM_WRAPPERS_INTERFACE_CPU_WRAPPER_H_
#define WEBRTC_SYSTEM_WRAPPERS_INTERFACE_CPU_WRAPPER_H_
#include <stdint.h>
namespace webrtc {
class CpuWrapper
{
public:
static CpuWrapper* CreateCpu();
virtual ~CpuWrapper() {}
virtual int32_t CpuUsage() = 0;
virtual int32_t CpuUsage(int8_t* processName,
uint32_t length) = 0;
virtual int32_t CpuUsage(uint32_t dwProcessID) = 0;
virtual int32_t CpuUsageMultiCore(uint32_t& numCores,
uint32_t*& cpu_usage) = 0;
virtual void Reset() = 0;
virtual void Stop() = 0;
virtual int GetNumCores() = 0;
protected:
CpuWrapper() {}
};
} #endif