Implemented "enabled" field for CPU backend;

This commit is contained in:
XMRig 2019-07-19 02:39:00 +07:00
parent d9164c0b7b
commit fa2c9df075
3 changed files with 14 additions and 0 deletions

View file

@ -44,6 +44,7 @@ class IBackend
public: public:
virtual ~IBackend() = default; virtual ~IBackend() = default;
virtual bool isEnabled() const = 0;
virtual bool isEnabled(const Algorithm &algorithm) const = 0; virtual bool isEnabled(const Algorithm &algorithm) const = 0;
virtual const Hashrate *hashrate() const = 0; virtual const Hashrate *hashrate() const = 0;
virtual const String &profileName() const = 0; virtual const String &profileName() const = 0;

View file

@ -133,6 +133,12 @@ xmrig::CpuBackend::~CpuBackend()
} }
bool xmrig::CpuBackend::isEnabled() const
{
return d_ptr->controller->config()->cpu().isEnabled();
}
bool xmrig::CpuBackend::isEnabled(const Algorithm &algorithm) const bool xmrig::CpuBackend::isEnabled(const Algorithm &algorithm) const
{ {
return !d_ptr->controller->config()->cpu().threads().get(algorithm).empty(); return !d_ptr->controller->config()->cpu().threads().get(algorithm).empty();
@ -178,6 +184,12 @@ void xmrig::CpuBackend::printHashrate(bool details)
void xmrig::CpuBackend::setJob(const Job &job) void xmrig::CpuBackend::setJob(const Job &job)
{ {
if (!isEnabled()) {
d_ptr->workers.stop();
d_ptr->threads.clear();
return;
}
const CpuConfig &cpu = d_ptr->controller->config()->cpu(); const CpuConfig &cpu = d_ptr->controller->config()->cpu();
std::vector<CpuLaunchData> threads = cpu.get(d_ptr->controller->miner(), job.algorithm()); std::vector<CpuLaunchData> threads = cpu.get(d_ptr->controller->miner(), job.algorithm());

View file

@ -44,6 +44,7 @@ public:
~CpuBackend() override; ~CpuBackend() override;
protected: protected:
bool isEnabled() const override;
bool isEnabled(const Algorithm &algorithm) const override; bool isEnabled(const Algorithm &algorithm) const override;
const Hashrate *hashrate() const override; const Hashrate *hashrate() const override;
const String &profileName() const override; const String &profileName() const override;