port dataengin

This commit is contained in:
2024-03-15 18:01:03 +02:00
parent 423597dbd9
commit 42c11a6b60
49 changed files with 490 additions and 502 deletions

View File

@ -23,6 +23,11 @@
#include <QVariant>
namespace KSysGuard
{
class SensorInfo;
}
class AbstractExtSysMonSource : public QObject
{
Q_OBJECT
@ -32,7 +37,7 @@ public:
: QObject(_parent){};
~AbstractExtSysMonSource() override = default;
virtual QVariant data(const QString &_source) = 0;
[[nodiscard]] virtual QVariantMap initialData(const QString &_source) const = 0;
[[nodiscard]] virtual KSysGuard::SensorInfo *initialData(const QString &_source) const = 0;
virtual void run() = 0;
[[nodiscard]] virtual QStringList sources() const = 0;
// used by extensions

View File

@ -18,6 +18,9 @@
#include "batterysource.h"
#include <ksysguard/formatter/Unit.h>
#include <ksysguard/systemstats/SensorInfo.h>
#include <QDir>
#include <cmath>
@ -84,77 +87,75 @@ QVariant BatterySource::data(const QString &_source)
}
QVariantMap BatterySource::initialData(const QString &_source) const
KSysGuard::SensorInfo *BatterySource::initialData(const QString &_source) const
{
qCDebug(LOG_ESS) << "Source" << _source;
QVariantMap data;
auto data = new KSysGuard::SensorInfo();
if (_source == "battery/ac") {
data["min"] = false;
data["max"] = true;
data["name"] = "Is AC online or not";
data["type"] = "bool";
data["units"] = "";
data->name = "Is AC online or not";
data->variantType = QVariant::Bool;
data->unit = KSysGuard::UnitNone;
} else if (_source == "battery/bat") {
data["min"] = 0;
data["max"] = 100;
data["name"] = "Average battery usage";
data["type"] = "integer";
data["units"] = "%";
data->min = 0;
data->max = 100;
data->name = "Average battery usage";
data->variantType = QVariant::Int;
data->unit = KSysGuard::UnitPercent;
} else if (_source == "battery/batleft") {
data["min"] = 0;
data["max"] = 0;
data["name"] = "Battery discharge time";
data["type"] = "integer";
data["units"] = "s";
data->min = 0;
data->max = 0;
data->name = "Battery discharge time";
data->variantType = QVariant::Int;
data->unit = KSysGuard::UnitSecond;
} else if (_source == "battery/batnow") {
data["min"] = 0;
data["max"] = 0;
data["name"] = "Current battery capacity";
data["type"] = "integer";
data["units"] = "";
data->min = 0;
data->max = 0;
data->name = "Current battery capacity";
data->variantType = QVariant::Int;
data->unit = KSysGuard::UnitNone;
} else if (_source == "battery/batrate") {
data["min"] = 0;
data["max"] = 0;
data["name"] = "Average battery discharge rate";
data["type"] = "float";
data["units"] = "1/s";
data->min = 0;
data->max = 0;
data->name = "Average battery discharge rate";
data->variantType = QVariant::Double;
data->unit = KSysGuard::UnitRate;
} else if (_source == "battery/battotal") {
data["min"] = 0;
data["max"] = 0;
data["name"] = "Full battery capacity";
data["type"] = "integer";
data["units"] = "";
data->min = 0;
data->max = 0;
data->name = "Full battery capacity";
data->variantType = QVariant::Int;
data->unit = KSysGuard::UnitNone;
} else if (_source.startsWith("battery/batleft")) {
data["min"] = 0;
data["max"] = 0;
data["name"] = QString("Battery %1 discharge time").arg(index(_source));
data["type"] = "integer";
data["units"] = "s";
data->min = 0;
data->max = 0;
data->name = QString("Battery %1 discharge time").arg(index(_source));
data->variantType = QVariant::Int;
data->unit = KSysGuard::UnitSecond;
} else if (_source.startsWith("battery/batnow")) {
data["min"] = 0;
data["max"] = 0;
data["name"] = QString("Battery %1 capacity").arg(index(_source));
data["type"] = "integer";
data["units"] = "";
data->min = 0;
data->max = 0;
data->name = QString("Battery %1 capacity").arg(index(_source));
data->variantType = QVariant::Int;
data->unit = KSysGuard::UnitNone;
} else if (_source.startsWith("battery/battotal")) {
data["min"] = 0;
data["max"] = 0;
data["name"] = QString("Battery %1 full capacity").arg(index(_source));
data["type"] = "integer";
data["units"] = "";
data->min = 0;
data->max = 0;
data->name = QString("Battery %1 full capacity").arg(index(_source));
data->variantType = QVariant::Int;
data->unit = KSysGuard::UnitNone;
} else if (_source.startsWith("battery/batrate")) {
data["min"] = 0;
data["max"] = 0;
data["name"] = QString("Battery %1 discharge rate").arg(index(_source));
data["type"] = "float";
data["units"] = "1/s";
data->min = 0;
data->max = 0;
data->name = QString("Battery %1 discharge rate").arg(index(_source));
data->variantType = QVariant::Double;
data->unit = KSysGuard::UnitRate;
} else if (_source.startsWith("battery/bat")) {
data["min"] = 0;
data["max"] = 100;
data["name"] = QString("Battery %1 usage").arg(index(_source));
data["type"] = "integer";
data["units"] = "%";
data->min = 0;
data->max = 100;
data->name = QString("Battery %1 usage").arg(index(_source));
data->variantType = QVariant::Int;
data->unit = KSysGuard::UnitPercent;
}
return data;

View File

@ -35,7 +35,7 @@ public:
~BatterySource() override;
QStringList getSources();
QVariant data(const QString &_source) override;
[[nodiscard]] QVariantMap initialData(const QString &_source) const override;
[[nodiscard]] KSysGuard::SensorInfo *initialData(const QString &_source) const override;
void run() override;
[[nodiscard]] QStringList sources() const override;

View File

@ -15,9 +15,11 @@
* along with awesome-widgets. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
#include "customsource.h"
#include <ksysguard/formatter/Unit.h>
#include <ksysguard/systemstats/SensorInfo.h>
#include "awdebug.h"
#include "extscript.h"
@ -49,16 +51,14 @@ QVariant CustomSource::data(const QString &_source)
}
QVariantMap CustomSource::initialData(const QString &_source) const
KSysGuard::SensorInfo *CustomSource::initialData(const QString &_source) const
{
qCDebug(LOG_ESS) << "Source" << _source;
QVariantMap data;
data["min"] = "";
data["max"] = "";
data["name"] = QString("Custom command '%1' output").arg(m_extScripts->itemByTagNumber(index(_source))->uniq());
data["type"] = "QString";
data["units"] = "";
auto data = new KSysGuard::SensorInfo();
data->name = QString("Custom command '%1' output").arg(m_extScripts->itemByTagNumber(index(_source))->uniq());
data->variantType = QVariant::String;
data->unit = KSysGuard::UnitNone;
return data;
}

View File

@ -34,7 +34,7 @@ public:
explicit CustomSource(QObject *_parent, const QStringList &_args);
~CustomSource() override;
QVariant data(const QString &_source) override;
[[nodiscard]] QVariantMap initialData(const QString &_source) const override;
[[nodiscard]] KSysGuard::SensorInfo *initialData(const QString &_source) const override;
void run() override{};
[[nodiscard]] QStringList sources() const override;

View File

@ -15,10 +15,11 @@
* along with awesome-widgets. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
#include "desktopsource.h"
#include <KWindowSystem/KWindowSystem>
#include <ksysguard/formatter/Unit.h>
#include <ksysguard/systemstats/SensorInfo.h>
#include <taskmanager/virtualdesktopinfo.h>
#include "awdebug.h"
@ -64,35 +65,29 @@ QVariant DesktopSource::data(const QString &_source)
}
QVariantMap DesktopSource::initialData(const QString &_source) const
KSysGuard::SensorInfo *DesktopSource::initialData(const QString &_source) const
{
qCDebug(LOG_ESS) << "Source" << _source;
QVariantMap data;
auto data = new KSysGuard::SensorInfo();
if (_source == "desktop/current/name") {
data["min"] = "";
data["max"] = "";
data["name"] = "Current desktop name";
data["type"] = "QString";
data["units"] = "";
data->name = "Current desktop name";
data->variantType = QVariant::String;
data->unit = KSysGuard::UnitNone;
} else if (_source == "desktop/current/number") {
data["min"] = 0;
data["max"] = 0;
data["name"] = "Current desktop number";
data["type"] = "integer";
data["units"] = "";
data->min = 0;
data->name = "Current desktop number";
data->variantType = QVariant::Int;
data->unit = KSysGuard::UnitNone;
} else if (_source == "desktop/total/name") {
data["min"] = QStringList();
data["max"] = QStringList();
data["name"] = "All desktops by name";
data["type"] = "QStringList";
data["units"] = "";
data->name = "All desktops by name";
data->variantType = QVariant::StringList;
data->unit = KSysGuard::UnitNone;
} else if (_source == "desktop/total/number") {
data["min"] = 0;
data["max"] = 0;
data["name"] = "Desktops count";
data["type"] = "integer";
data["units"] = "";
data->min = 0;
data->name = "Desktops count";
data->variantType = QVariant::Int;
data->unit = KSysGuard::UnitNone;
}
return data;

View File

@ -35,7 +35,7 @@ public:
explicit DesktopSource(QObject *_parent, const QStringList &_args);
~DesktopSource() override;
QVariant data(const QString &_source) override;
[[nodiscard]] QVariantMap initialData(const QString &_source) const override;
[[nodiscard]] KSysGuard::SensorInfo *initialData(const QString &_source) const override;
void run() override{};
[[nodiscard]] QStringList sources() const override;

View File

@ -0,0 +1,55 @@
/***************************************************************************
* This file is part of awesome-widgets *
* *
* awesome-widgets is free software: you can redistribute it and/or *
* modify it under the terms of the GNU General Public License as *
* published by the Free Software Foundation, either version 3 of the *
* License, or (at your option) any later version. *
* *
* awesome-widgets is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with awesome-widgets. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
#include "extsysmonsensor.h"
#include "abstractextsysmonsource.h"
#include "awdebug.h"
ExtSysMonSensor::ExtSysMonSensor(KSysGuard::SensorContainer *_parent, const QString &_id,
AbstractExtSysMonSource *_source)
: KSysGuard::SensorObject(_id, _parent)
{
qCDebug(LOG_ESS) << __PRETTY_FUNCTION__;
m_source = _source;
for (auto &source : m_source->sources()) {
auto property = new KSysGuard::SensorProperty(source, this);
auto info = m_source->initialData(source);
property->setName(info->name);
property->setUnit(info->unit);
property->setVariantType(info->variantType);
property->setMin(info->min);
property->setMax(info->max);
m_properties[source] = property;
}
}
void ExtSysMonSensor::update()
{
for (auto &source : m_properties.keys()) {
auto value = m_source->data(source);
m_properties[source]->setValue(value);
}
}

View File

@ -0,0 +1,41 @@
/***************************************************************************
* This file is part of awesome-widgets *
* *
* awesome-widgets is free software: you can redistribute it and/or *
* modify it under the terms of the GNU General Public License as *
* published by the Free Software Foundation, either version 3 of the *
* License, or (at your option) any later version. *
* *
* awesome-widgets is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with awesome-widgets. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
#ifndef EXTSYSMONSENSOR_H
#define EXTSYSMONSENSOR_H
#include <ksysguard/systemstats/SensorObject.h>
class AbstractExtSysMonSource;
class ExtSysMonSensor : public KSysGuard::SensorObject
{
Q_OBJECT
public:
explicit ExtSysMonSensor(KSysGuard::SensorContainer *_parent, const QString &_id, AbstractExtSysMonSource *_source);
~ExtSysMonSensor() override = default;
void update();
private:
QHash<QString, KSysGuard::SensorProperty *> m_properties;
AbstractExtSysMonSource *m_source = nullptr;
};
#endif /* EXTSYSMONSENSOR_H */

View File

@ -14,10 +14,11 @@
* You should have received a copy of the GNU General Public License *
* along with awesome-widgets. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
#include "gpuloadsource.h"
#include <ksysguard/formatter/Unit.h>
#include <ksysguard/systemstats/SensorInfo.h>
#include <QFile>
#include <QProcess>
@ -81,17 +82,17 @@ QVariant GPULoadSource::data(const QString &_source)
}
QVariantMap GPULoadSource::initialData(const QString &_source) const
KSysGuard::SensorInfo *GPULoadSource::initialData(const QString &_source) const
{
qCDebug(LOG_ESS) << "Source" << _source;
QVariantMap data;
auto data = new KSysGuard::SensorInfo();
if (_source == "gpu/load") {
data["min"] = 0.0;
data["max"] = 100.0;
data["name"] = "GPU usage";
data["type"] = "float";
data["units"] = "%";
data->min = 0.0;
data->max = 100.0;
data->name = "GPU usage";
data->variantType = QVariant::Double;
data->unit = KSysGuard::UnitPercent;
}
return data;

View File

@ -34,7 +34,7 @@ public:
~GPULoadSource() override;
static QString autoGpu();
QVariant data(const QString &_source) override;
[[nodiscard]] QVariantMap initialData(const QString &_source) const override;
[[nodiscard]] KSysGuard::SensorInfo *initialData(const QString &_source) const override;
void run() override;
[[nodiscard]] QStringList sources() const override;

View File

@ -15,9 +15,11 @@
* along with awesome-widgets. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
#include "gputempsource.h"
#include <ksysguard/formatter/Unit.h>
#include <ksysguard/systemstats/SensorInfo.h>
#include <QFile>
#include <QProcess>
@ -60,17 +62,17 @@ QVariant GPUTemperatureSource::data(const QString &_source)
}
QVariantMap GPUTemperatureSource::initialData(const QString &_source) const
KSysGuard::SensorInfo *GPUTemperatureSource::initialData(const QString &_source) const
{
qCDebug(LOG_ESS) << "Source" << _source;
QVariantMap data;
auto data = new KSysGuard::SensorInfo();
if (_source == "gpu/temperature") {
data["min"] = 0.0;
data["max"] = 0.0;
data["name"] = "GPU temperature";
data["type"] = "float";
data["units"] = "°C";
data->min = 0.0;
data->max = 0.0;
data->name = "GPU temperature";
data->variantType = QVariant::Double;
data->unit = KSysGuard::UnitCelsius;
}
return data;

View File

@ -33,7 +33,7 @@ public:
explicit GPUTemperatureSource(QObject *_parent, const QStringList &_args);
~GPUTemperatureSource() override;
QVariant data(const QString &_source) override;
[[nodiscard]] QVariantMap initialData(const QString &_source) const override;
[[nodiscard]] KSysGuard::SensorInfo *initialData(const QString &_source) const override;
void run() override;
[[nodiscard]] QStringList sources() const override;

View File

@ -18,6 +18,9 @@
#include "hddtempsource.h"
#include <ksysguard/formatter/Unit.h>
#include <ksysguard/systemstats/SensorInfo.h>
#include <QDir>
#include <QProcess>
@ -87,18 +90,19 @@ QVariant HDDTemperatureSource::data(const QString &_source)
}
QVariantMap HDDTemperatureSource::initialData(const QString &_source) const
KSysGuard::SensorInfo *HDDTemperatureSource::initialData(const QString &_source) const
{
qCDebug(LOG_ESS) << "Source" << _source;
QString device = _source;
auto device = _source;
device.remove("hdd/temperature");
QVariantMap data;
data["min"] = 0.0;
data["max"] = 0.0;
data["name"] = QString("HDD '%1' temperature").arg(device);
data["type"] = "float";
data["units"] = "°C";
auto data = new KSysGuard::SensorInfo();
data->min = 0.0;
data->max = 0.0;
data->name = QString("HDD '%1' temperature").arg(device);
data->variantType = QVariant::Double;
data->unit = KSysGuard::UnitCelsius;
return data;
}

View File

@ -34,7 +34,7 @@ public:
~HDDTemperatureSource() override;
static QStringList allHdd();
QVariant data(const QString &_source) override;
[[nodiscard]] QVariantMap initialData(const QString &_source) const override;
[[nodiscard]] KSysGuard::SensorInfo *initialData(const QString &_source) const override;
void run() override{};
[[nodiscard]] QStringList sources() const override;

View File

@ -18,6 +18,9 @@
#include "loadsource.h"
#include <ksysguard/formatter/Unit.h>
#include <ksysguard/systemstats/SensorInfo.h>
#include <QRandomGenerator>
#include "awdebug.h"
@ -45,17 +48,17 @@ QVariant LoadSource::data(const QString &_source)
}
QVariantMap LoadSource::initialData(const QString &_source) const
KSysGuard::SensorInfo *LoadSource::initialData(const QString &_source) const
{
qCDebug(LOG_ESS) << "Source" << _source;
QVariantMap data;
auto data = new KSysGuard::SensorInfo();
if (_source.startsWith("load/load")) {
data["min"] = 0;
data["max"] = 0;
data["name"] = "Simple sources for load tests";
data["type"] = "int";
data["units"] = "";
data->min = 0;
data->max = 0;
data->name = "Simple sources for load tests";
data->variantType = QVariant::Int;
data->unit = KSysGuard::UnitNone;
}
return data;

View File

@ -31,7 +31,7 @@ public:
explicit LoadSource(QObject *_parent, const QStringList &_args);
~LoadSource() override;
QVariant data(const QString &_source) override;
[[nodiscard]] QVariantMap initialData(const QString &_source) const override;
[[nodiscard]] KSysGuard::SensorInfo *initialData(const QString &_source) const override;
void run() override{};
[[nodiscard]] QStringList sources() const override;
};

View File

@ -18,6 +18,9 @@
#include "networksource.h"
#include <ksysguard/formatter/Unit.h>
#include <ksysguard/systemstats/SensorInfo.h>
#include <QNetworkInterface>
#include <QProcess>
@ -57,23 +60,19 @@ QVariant NetworkSource::data(const QString &_source)
}
QVariantMap NetworkSource::initialData(const QString &_source) const
KSysGuard::SensorInfo *NetworkSource::initialData(const QString &_source) const
{
qCDebug(LOG_ESS) << "Source" << _source;
QVariantMap data;
auto data = new KSysGuard::SensorInfo();
if (_source == "network/current/name") {
data["min"] = "";
data["max"] = "";
data["name"] = "Current network device name";
data["type"] = "QString";
data["units"] = "";
data->name = "Current network device name";
data->variantType = QVariant::String;
data->unit = KSysGuard::UnitNone;
} else if (_source == "network/current/ssid") {
data["min"] = "";
data["max"] = "";
data["name"] = "Current SSID name";
data["type"] = "QString";
data["units"] = "";
data->name = "Current SSID name";
data->variantType = QVariant::String;
data->unit = KSysGuard::UnitNone;
}
return data;

View File

@ -33,7 +33,7 @@ public:
explicit NetworkSource(QObject *_parent, const QStringList &_args);
~NetworkSource() override;
QVariant data(const QString &_source) override;
[[nodiscard]] QVariantMap initialData(const QString &_source) const override;
[[nodiscard]] KSysGuard::SensorInfo *initialData(const QString &_source) const override;
void run() override;
[[nodiscard]] QStringList sources() const override;

View File

@ -18,6 +18,9 @@
#include "playersource.h"
#include <ksysguard/formatter/Unit.h>
#include <ksysguard/systemstats/SensorInfo.h>
#include <QDBusArgument>
#include <QDBusConnection>
#include <QDBusConnectionInterface>
@ -87,77 +90,59 @@ QString PlayerSource::getAutoMpris()
}
QVariantMap PlayerSource::initialData(const QString &_source) const
KSysGuard::SensorInfo *PlayerSource::initialData(const QString &_source) const
{
qCDebug(LOG_ESS) << "Source" << _source;
QVariantMap data;
auto data = new KSysGuard::SensorInfo();
if (_source == "player/album") {
data["min"] = "";
data["max"] = "";
data["name"] = "Current song album";
data["type"] = "QString";
data["units"] = "";
data->name = "Current song album";
data->variantType = QVariant::String;
data->unit = KSysGuard::UnitNone;
} else if (_source == "player/salbum") {
data["min"] = "";
data["max"] = "";
data["name"] = QString("Current song album (%1 symbols)").arg(m_symbols);
data["type"] = "QString";
data["units"] = "";
data->name = QString("Current song album (%1 symbols)").arg(m_symbols);
data->variantType = QVariant::String;
data->unit = KSysGuard::UnitNone;
} else if (_source == "player/dalbum") {
data["min"] = "";
data["max"] = "";
data["name"] = QString("Current song album (%1 symbols, dynamic)").arg(m_symbols);
data["type"] = "QString";
data["units"] = "";
data->name = QString("Current song album (%1 symbols, dynamic)").arg(m_symbols);
data->variantType = QVariant::String;
data->unit = KSysGuard::UnitNone;
} else if (_source == "player/artist") {
data["min"] = "";
data["max"] = "";
data["name"] = "Current song artist";
data["type"] = "QString";
data["units"] = "";
data->name = "Current song artist";
data->variantType = QVariant::String;
data->unit = KSysGuard::UnitNone;
} else if (_source == "player/sartist") {
data["min"] = "";
data["max"] = "";
data["name"] = QString("Current song artist (%1 symbols)").arg(m_symbols);
data["type"] = "QString";
data["units"] = "";
data->name = QString("Current song artist (%1 symbols)").arg(m_symbols);
data->variantType = QVariant::String;
data->unit = KSysGuard::UnitNone;
} else if (_source == "player/dartist") {
data["min"] = "";
data["max"] = "";
data["name"] = QString("Current song artist (%1 symbols, dynamic)").arg(m_symbols);
data["type"] = "QString";
data["units"] = "";
data->name = QString("Current song artist (%1 symbols, dynamic)").arg(m_symbols);
data->variantType = QVariant::String;
data->unit = KSysGuard::UnitNone;
} else if (_source == "player/duration") {
data["min"] = 0;
data["max"] = 0;
data["name"] = "Current song duration";
data["type"] = "integer";
data["units"] = "s";
data->min = 0;
data->max = 0;
data->name = "Current song duration";
data->variantType = QVariant::Int;
data->unit = KSysGuard::UnitSecond;
} else if (_source == "player/progress") {
data["min"] = 0;
data["max"] = 0;
data["name"] = "Current song progress";
data["type"] = "integer";
data["units"] = "s";
data->min = 0;
data->max = 0;
data->name = "Current song progress";
data->variantType = QVariant::Int;
data->unit = KSysGuard::UnitSecond;
} else if (_source == "player/title") {
data["min"] = "";
data["max"] = "";
data["name"] = "Current song title";
data["type"] = "QString";
data["units"] = "";
data->name = "Current song title";
data->variantType = QVariant::String;
data->unit = KSysGuard::UnitNone;
} else if (_source == "player/stitle") {
data["min"] = "";
data["max"] = "";
data["name"] = QString("Current song title (%1 symbols)").arg(m_symbols);
data["type"] = "QString";
data["units"] = "";
data->name = QString("Current song title (%1 symbols)").arg(m_symbols);
data->variantType = QVariant::String;
data->unit = KSysGuard::UnitNone;
} else if (_source == "player/dtitle") {
data["min"] = "";
data["max"] = "";
data["name"] = QString("Current song title (%1 symbols, dynamic)").arg(m_symbols);
data["type"] = "QString";
data["units"] = "";
data->name = QString("Current song title (%1 symbols, dynamic)").arg(m_symbols);
data->variantType = QVariant::String;
data->unit = KSysGuard::UnitNone;
}
return data;

View File

@ -38,7 +38,7 @@ public:
~PlayerSource() override;
QVariant data(const QString &_source) override;
static QString getAutoMpris();
[[nodiscard]] QVariantMap initialData(const QString &_source) const override;
[[nodiscard]] KSysGuard::SensorInfo *initialData(const QString &_source) const override;
void run() override;
[[nodiscard]] QStringList sources() const override;
// additional method to build dynamic tags

View File

@ -18,6 +18,9 @@
#include "processessource.h"
#include <ksysguard/formatter/Unit.h>
#include <ksysguard/systemstats/SensorInfo.h>
#include <QDir>
#include "awdebug.h"
@ -48,29 +51,27 @@ QVariant ProcessesSource::data(const QString &_source)
}
QVariantMap ProcessesSource::initialData(const QString &_source) const
KSysGuard::SensorInfo *ProcessesSource::initialData(const QString &_source) const
{
qCDebug(LOG_ESS) << "Source" << _source;
QVariantMap data;
auto data = new KSysGuard::SensorInfo();
if (_source == "ps/running/count") {
data["min"] = 0;
data["max"] = 0;
data["name"] = "Count of running processes";
data["type"] = "integer";
data["units"] = "";
data->min = 0;
data->max = 0;
data->name = "Count of running processes";
data->variantType = QVariant::Int;
data->unit = KSysGuard::UnitNone;
} else if (_source == "ps/running/list") {
data["min"] = QStringList();
data["max"] = QStringList();
data["name"] = "All running processes list";
data["type"] = "QStringList";
data["units"] = "";
data->name = "All running processes list";
data->variantType = QVariant::StringList;
data->unit = KSysGuard::UnitNone;
} else if (_source == "ps/total/count") {
data["min"] = 0;
data["max"] = 0;
data["name"] = "Total count of processes";
data["type"] = "integer";
data["units"] = "";
data->min = 0;
data->max = 0;
data->name = "Total count of processes";
data->variantType = QVariant::Int;
data->unit = KSysGuard::UnitNone;
}
return data;

View File

@ -31,7 +31,7 @@ public:
explicit ProcessesSource(QObject *_parent, const QStringList &_args);
~ProcessesSource() override;
QVariant data(const QString &_source) override;
[[nodiscard]] QVariantMap initialData(const QString &_source) const override;
[[nodiscard]] KSysGuard::SensorInfo *initialData(const QString &_source) const override;
void run() override;
[[nodiscard]] QStringList sources() const override;

View File

@ -18,6 +18,9 @@
#include "quotessource.h"
#include <ksysguard/formatter/Unit.h>
#include <ksysguard/systemstats/SensorInfo.h>
#include "awdebug.h"
#include "extquotes.h"
@ -57,48 +60,48 @@ QVariant QuotesSource::data(const QString &_source)
}
QVariantMap QuotesSource::initialData(const QString &_source) const
KSysGuard::SensorInfo *QuotesSource::initialData(const QString &_source) const
{
qCDebug(LOG_ESS) << "Source" << _source;
int ind = index(_source);
QVariantMap data;
auto data = new KSysGuard::SensorInfo;
if (_source.startsWith("quotes/pricechg")) {
data["min"] = 0.0;
data["max"] = 0.0;
data["name"] = QString("Absolute prie changes for '%1'").arg(m_extQuotes->itemByTagNumber(ind)->uniq());
data["type"] = "double";
data["units"] = "";
data->min = 0.0;
data->max = 0.0;
data->name = QString("Absolute price changes for '%1'").arg(m_extQuotes->itemByTagNumber(ind)->uniq());
data->variantType = QVariant::Double;
data->unit = KSysGuard::UnitNone;
} else if (_source.startsWith("quotes/price")) {
data["min"] = 0.0;
data["max"] = 0.0;
data["name"] = QString("Price for '%1'").arg(m_extQuotes->itemByTagNumber(ind)->uniq());
data["type"] = "double";
data["units"] = "";
data->min = 0.0;
data->max = 0.0;
data->name = QString("Price for '%1'").arg(m_extQuotes->itemByTagNumber(ind)->uniq());
data->variantType = QVariant::Double;
data->unit = KSysGuard::UnitNone;
} else if (_source.startsWith("quotes/percpricechg")) {
data["min"] = -100.0;
data["max"] = 100.0;
data["name"] = QString("Price changes for '%1'").arg(m_extQuotes->itemByTagNumber(ind)->uniq());
data["type"] = "double";
data["units"] = "";
data->min = -100.0;
data->max = 100.0;
data->name = QString("Price changes for '%1'").arg(m_extQuotes->itemByTagNumber(ind)->uniq());
data->variantType = QVariant::Double;
data->unit = KSysGuard::UnitPercent;
} else if (_source.startsWith("quotes/volumechg")) {
data["min"] = 0;
data["max"] = 0;
data["name"] = QString("Absolute volume changes for '%1'").arg(m_extQuotes->itemByTagNumber(ind)->uniq());
data["type"] = "int";
data["units"] = "";
data->min = 0;
data->max = 0;
data->name = QString("Absolute volume changes for '%1'").arg(m_extQuotes->itemByTagNumber(ind)->uniq());
data->variantType = QVariant::Int;
data->unit = KSysGuard::UnitNone;
} else if (_source.startsWith("quotes/volume")) {
data["min"] = 0;
data["max"] = 0;
data["name"] = QString("Volume for '%1'").arg(m_extQuotes->itemByTagNumber(ind)->uniq());
data["type"] = "int";
data["units"] = "";
data->min = 0;
data->max = 0;
data->name = QString("Volume for '%1'").arg(m_extQuotes->itemByTagNumber(ind)->uniq());
data->variantType = QVariant::Int;
data->unit = KSysGuard::UnitNone;
} else if (_source.startsWith("quotes/percvolumechg")) {
data["min"] = -100.0;
data["max"] = 100.0;
data["name"] = QString("Volume changes for '%1'").arg(m_extQuotes->itemByTagNumber(ind)->uniq());
data["type"] = "double";
data["units"] = "";
data->min = -100.0;
data->max = 100.0;
data->name = QString("Volume changes for '%1'").arg(m_extQuotes->itemByTagNumber(ind)->uniq());
data->variantType = QVariant::Double;
data->unit = KSysGuard::UnitPercent;
}
return data;

View File

@ -34,7 +34,7 @@ public:
explicit QuotesSource(QObject *_parent, const QStringList &_args);
~QuotesSource() override;
QVariant data(const QString &_source) override;
[[nodiscard]] QVariantMap initialData(const QString &_source) const override;
[[nodiscard]] KSysGuard::SensorInfo *initialData(const QString &_source) const override;
void run() override{};
[[nodiscard]] QStringList sources() const override;

View File

@ -18,6 +18,9 @@
#include "requestsource.h"
#include <ksysguard/formatter/Unit.h>
#include <ksysguard/systemstats/SensorInfo.h>
#include "awdebug.h"
#include "extnetworkrequest.h"
@ -57,18 +60,16 @@ QVariant RequestSource::data(const QString &_source)
}
QVariantMap RequestSource::initialData(const QString &_source) const
KSysGuard::SensorInfo *RequestSource::initialData(const QString &_source) const
{
qCDebug(LOG_ESS) << "Source" << _source;
int ind = index(_source);
QVariantMap data;
auto data = new KSysGuard::SensorInfo();
if (_source.startsWith("network/response")) {
data["min"] = "";
data["max"] = "";
data["name"] = QString("Network response for %1").arg(m_extNetRequest->itemByTagNumber(ind)->uniq());
data["type"] = "QString";
data["units"] = "";
data->name = QString("Network response for %1").arg(m_extNetRequest->itemByTagNumber(ind)->uniq());
data->variantType = QVariant::String;
data->unit = KSysGuard::UnitNone;
}
return data;

View File

@ -34,7 +34,7 @@ public:
explicit RequestSource(QObject *_parent, const QStringList &_args);
~RequestSource() override;
QVariant data(const QString &_source) override;
[[nodiscard]] QVariantMap initialData(const QString &_source) const override;
[[nodiscard]] KSysGuard::SensorInfo *initialData(const QString &_source) const override;
void run() override{};
[[nodiscard]] QStringList sources() const override;

View File

@ -18,6 +18,9 @@
#include "systeminfosource.h"
#include <ksysguard/formatter/Unit.h>
#include <ksysguard/systemstats/SensorInfo.h>
#include <QDBusConnection>
#include <QDBusMessage>
#include <QDBusVariant>
@ -51,23 +54,23 @@ QVariant SystemInfoSource::data(const QString &_source)
}
QVariantMap SystemInfoSource::initialData(const QString &_source) const
KSysGuard::SensorInfo *SystemInfoSource::initialData(const QString &_source) const
{
qCDebug(LOG_ESS) << "Source" << _source;
QVariantMap data;
auto data = new KSysGuard::SensorInfo();
if (_source == "system/brightness") {
data["min"] = 0.0;
data["max"] = 100.0;
data["name"] = "Screen brightness";
data["type"] = "float";
data["units"] = "%";
data->min = 0.0;
data->max = 100.0;
data->name = "Screen brightness";
data->variantType = QVariant::Double;
data->unit = KSysGuard::UnitPercent;
} else if (_source == "system/volume") {
data["min"] = 0.0;
data["max"] = 100.0;
data["name"] = "Master volume";
data["type"] = "float";
data["units"] = "%";
data->min = 0.0;
data->max = 100.0;
data->name = "Master volume";
data->variantType = QVariant::Double;
data->unit = KSysGuard::UnitPercent;
}
return data;

View File

@ -31,7 +31,7 @@ public:
explicit SystemInfoSource(QObject *_parent, const QStringList &_args);
~SystemInfoSource() override;
QVariant data(const QString &_source) override;
[[nodiscard]] QVariantMap initialData(const QString &_source) const override;
[[nodiscard]] KSysGuard::SensorInfo *initialData(const QString &_source) const override;
void run() override;
[[nodiscard]] QStringList sources() const override;

View File

@ -18,6 +18,9 @@
#include "upgradesource.h"
#include <ksysguard/formatter/Unit.h>
#include <ksysguard/systemstats/SensorInfo.h>
#include "awdebug.h"
#include "extupgrade.h"
@ -49,16 +52,14 @@ QVariant UpgradeSource::data(const QString &_source)
}
QVariantMap UpgradeSource::initialData(const QString &_source) const
KSysGuard::SensorInfo *UpgradeSource::initialData(const QString &_source) const
{
qCDebug(LOG_ESS) << "Source" << _source;
QVariantMap data;
data["min"] = "";
data["max"] = "";
data["name"] = QString("Package manager '%1' metadata").arg(m_extUpgrade->itemByTagNumber(index(_source))->uniq());
data["type"] = "QString";
data["units"] = "";
auto data = new KSysGuard::SensorInfo();
data->name = QString("Package manager '%1' metadata").arg(m_extUpgrade->itemByTagNumber(index(_source))->uniq());
data->variantType = QVariant::String;
data->unit = KSysGuard::UnitNone;
return data;
}

View File

@ -34,7 +34,7 @@ public:
explicit UpgradeSource(QObject *_parent, const QStringList &_args);
~UpgradeSource() override;
QVariant data(const QString &_source) override;
[[nodiscard]] QVariantMap initialData(const QString &_source) const override;
[[nodiscard]] KSysGuard::SensorInfo *initialData(const QString &_source) const override;
void run() override{};
[[nodiscard]] QStringList sources() const override;

View File

@ -18,6 +18,9 @@
#include "weathersource.h"
#include <ksysguard/formatter/Unit.h>
#include <ksysguard/systemstats/SensorInfo.h>
#include "awdebug.h"
#include "extweather.h"
@ -57,48 +60,44 @@ QVariant WeatherSource::data(const QString &_source)
}
QVariantMap WeatherSource::initialData(const QString &_source) const
KSysGuard::SensorInfo *WeatherSource::initialData(const QString &_source) const
{
qCDebug(LOG_ESS) << "Source" << _source;
int ind = index(_source);
QVariantMap data;
auto data = new KSysGuard::SensorInfo();
if (_source.startsWith("weather/weatherId")) {
data["min"] = 0;
data["max"] = 1000;
data["name"] = QString("Numeric weather ID for '%1'").arg(m_extWeather->itemByTagNumber(ind)->uniq());
data["type"] = "integer";
data["units"] = "";
data->min = 0;
data->max = 1000;
data->name = QString("Numeric weather ID for '%1'").arg(m_extWeather->itemByTagNumber(ind)->uniq());
data->variantType = QVariant::Int;
data->unit = KSysGuard::UnitNone;
} else if (_source.startsWith("weather/weather")) {
data["min"] = "";
data["max"] = "";
data["name"] = QString("ID string map for '%1'").arg(m_extWeather->itemByTagNumber(ind)->uniq());
data["type"] = "QString";
data["units"] = "";
data->name = QString("ID string map for '%1'").arg(m_extWeather->itemByTagNumber(ind)->uniq());
data->variantType = QVariant::String;
data->unit = KSysGuard::UnitNone;
} else if (_source.startsWith("weather/humidity")) {
data["min"] = 0;
data["max"] = 100;
data["name"] = QString("Humidity for '%1'").arg(m_extWeather->itemByTagNumber(ind)->uniq());
data["type"] = "integer";
data["units"] = "%";
data->min = 0;
data->max = 100;
data->name = QString("Humidity for '%1'").arg(m_extWeather->itemByTagNumber(ind)->uniq());
data->variantType = QVariant::Int;
data->unit = KSysGuard::UnitPercent;
} else if (_source.startsWith("weather/pressure")) {
data["min"] = 0;
data["max"] = 0;
data["name"] = QString("Atmospheric pressure for '%1'").arg(m_extWeather->itemByTagNumber(ind)->uniq());
data["type"] = "integer";
data["units"] = "mb";
data->min = 0;
data->max = 0;
data->name = QString("Atmospheric pressure for '%1'").arg(m_extWeather->itemByTagNumber(ind)->uniq());
data->variantType = QVariant::Int;
data->unit = KSysGuard::UnitNone;
} else if (_source.startsWith("weather/temperature")) {
data["min"] = 0.0;
data["max"] = 0.0;
data["name"] = QString("Temperature for '%1'").arg(m_extWeather->itemByTagNumber(ind)->uniq());
data["type"] = "float";
data["units"] = "°C";
data->min = 0.0;
data->max = 0.0;
data->name = QString("Temperature for '%1'").arg(m_extWeather->itemByTagNumber(ind)->uniq());
data->variantType = QVariant::Double;
data->unit = KSysGuard::UnitCelsius;
} else if (_source.startsWith("weather/timestamp")) {
data["min"] = "";
data["max"] = "";
data["name"] = QString("Timestamp for '%1'").arg(m_extWeather->itemByTagNumber(ind)->uniq());
data["type"] = "QString";
data["units"] = "";
data->name = QString("Timestamp for '%1'").arg(m_extWeather->itemByTagNumber(ind)->uniq());
data->variantType = QVariant::String;
data->unit = KSysGuard::UnitNone;
}
return data;

View File

@ -34,7 +34,7 @@ public:
explicit WeatherSource(QObject *_parent, const QStringList &_args);
~WeatherSource() override;
QVariant data(const QString &_source) override;
[[nodiscard]] QVariantMap initialData(const QString &_source) const override;
[[nodiscard]] KSysGuard::SensorInfo *initialData(const QString &_source) const override;
void run() override{};
[[nodiscard]] QStringList sources() const override;