From e6aecaf685baeff1b50f8a7e5997266a2aa74192 Mon Sep 17 00:00:00 2001 From: Evgenii Alekseev Date: Fri, 15 Mar 2024 18:01:03 +0200 Subject: [PATCH] port dataengin --- sources/extsysmon/CMakeLists.txt | 8 +--- sources/extsysmon/extsysmon.cpp | 41 +++---------------- sources/extsysmon/extsysmon.h | 14 ++++--- sources/extsysmon/extsysmonaggregator.cpp | 8 +++- sources/extsysmon/extsysmonaggregator.h | 6 +-- sources/extsysmon/metadata.json | 3 ++ .../plasma-dataengine-extsysmon.desktop | 16 -------- .../plasma-dataengine-extsysmon.json | 20 --------- sources/libraries.cmake | 2 +- 9 files changed, 28 insertions(+), 90 deletions(-) create mode 100644 sources/extsysmon/metadata.json delete mode 100644 sources/extsysmon/plasma-dataengine-extsysmon.desktop delete mode 100644 sources/extsysmon/plasma-dataengine-extsysmon.json diff --git a/sources/extsysmon/CMakeLists.txt b/sources/extsysmon/CMakeLists.txt index e7162d6..84c5d8f 100644 --- a/sources/extsysmon/CMakeLists.txt +++ b/sources/extsysmon/CMakeLists.txt @@ -12,15 +12,10 @@ include_directories( ${Kf6_INCLUDE} ) -file(GLOB SUBPROJECT_DESKTOP_IN *.desktop) -file(RELATIVE_PATH SUBPROJECT_DESKTOP ${CMAKE_SOURCE_DIR} ${SUBPROJECT_DESKTOP_IN}) file(GLOB SUBPROJECT_SOURCE *.cpp ${CMAKE_SOURCE_DIR}/*.cpp) file(GLOB SUBPROJECT_HEADER *.h) file(GLOB SUBPROJECT_CONF *.conf) -# prepare -configure_file(${SUBPROJECT_DESKTOP_IN} ${CMAKE_CURRENT_BINARY_DIR}/${SUBPROJECT_DESKTOP}) - # make add_library(${SUBPROJECT} MODULE ${SUBPROJECT_SOURCE} ${SUBPROJECT_HEADER}) target_link_libraries(${SUBPROJECT} @@ -28,6 +23,5 @@ target_link_libraries(${SUBPROJECT} ${Qt_LIBRARIES} ${Kf6_LIBRARIES}) # install -install(TARGETS ${SUBPROJECT} DESTINATION ${PLUGIN_INSTALL_DIR}/plasma/dataengine) -#install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${SUBPROJECT_DESKTOP} DESTINATION ${SERVICES_INSTALL_DIR}) +install(TARGETS ${SUBPROJECT} DESTINATION ${KDE_INSTALL_PLUGINDIR}/ksystemstats) install(FILES ${SUBPROJECT_CONF} DESTINATION ${KDE_INSTALL_CONFDIR}) diff --git a/sources/extsysmon/extsysmon.cpp b/sources/extsysmon/extsysmon.cpp index e745b44..9e88bc3 100644 --- a/sources/extsysmon/extsysmon.cpp +++ b/sources/extsysmon/extsysmon.cpp @@ -17,6 +17,7 @@ #include "extsysmon.h" +#include #include #include #include @@ -29,21 +30,17 @@ ExtendedSysMon::ExtendedSysMon(QObject *_parent, const QVariantList &_args) - : Plasma::DataEngine(_parent, _args) + : KSysGuard::SensorPlugin(_parent, _args) { - Q_UNUSED(_args) qSetMessagePattern(AWDebug::LOG_FORMAT); qCDebug(LOG_ESM) << __PRETTY_FUNCTION__; for (auto &metadata : AWDebug::getBuildData()) qCDebug(LOG_ESM) << metadata; - setMinimumPollingInterval(333); readConfiguration(); // init aggregator - m_aggregator = new ExtSysMonAggregator(this, m_configuration); - for (auto &source : m_aggregator->sources()) - setData(source, m_aggregator->initialData(source)); + m_aggregator = new ExtSysMonAggregator("extsysmon", "extsysmon", this, m_configuration); } @@ -53,35 +50,9 @@ ExtendedSysMon::~ExtendedSysMon() } -QStringList ExtendedSysMon::sources() const +void ExtendedSysMon::update() { - return m_aggregator->sources(); -} - - -bool ExtendedSysMon::sourceRequestEvent(const QString &_source) -{ - qCDebug(LOG_ESM) << "Source" << _source; - - return updateSourceEvent(_source); -} - - -bool ExtendedSysMon::updateSourceEvent(const QString &_source) -{ - qCDebug(LOG_ESM) << "Source" << _source; - - if (m_aggregator->hasSource(_source)) { - QVariant data = m_aggregator->data(_source); - if (data.isNull()) - return false; - setData(_source, "value", data); - } else { - qCWarning(LOG_ESM) << "Unknown source" << _source; - return false; - } - - return true; +// m_aggregator->update(); } @@ -150,6 +121,6 @@ QHash ExtendedSysMon::updateConfiguration(QHash +#include class ExtSysMonAggregator; -class ExtendedSysMon : public Plasma::DataEngine +class ExtendedSysMon : public KSysGuard::SensorPlugin { Q_OBJECT @@ -31,10 +31,12 @@ public: explicit ExtendedSysMon(QObject *_parent, const QVariantList &_args); ~ExtendedSysMon() override; -protected: - [[nodiscard]] QStringList sources() const override; - bool sourceRequestEvent(const QString &_source) override; - bool updateSourceEvent(const QString &_source) override; + [[nodiscard]] QString providerName() const override + { + return QStringLiteral("extsysmon"); + } + + void update() override; private: // configuration diff --git a/sources/extsysmon/extsysmonaggregator.cpp b/sources/extsysmon/extsysmonaggregator.cpp index 0bd5868..3ea2e3c 100644 --- a/sources/extsysmon/extsysmonaggregator.cpp +++ b/sources/extsysmon/extsysmonaggregator.cpp @@ -35,8 +35,12 @@ #include "weathersource.h" -ExtSysMonAggregator::ExtSysMonAggregator(QObject *_parent, const QHash &_config) - : QObject(_parent) +ExtSysMonAggregator::ExtSysMonAggregator( + const QString &_id, + const QString &_name, + KSysGuard::SensorContainer *_parent, + const QHash &_config) + : KSysGuard::SensorObject(_id, _name, _parent) { qCDebug(LOG_ESM) << __PRETTY_FUNCTION__; diff --git a/sources/extsysmon/extsysmonaggregator.h b/sources/extsysmon/extsysmonaggregator.h index d47d216..7585660 100644 --- a/sources/extsysmon/extsysmonaggregator.h +++ b/sources/extsysmon/extsysmonaggregator.h @@ -19,16 +19,16 @@ #define EXTSYSMONAGGREGATOR_H #include +#include #include "abstractextsysmonsource.h" - -class ExtSysMonAggregator : public QObject +class ExtSysMonAggregator : public KSysGuard::SensorObject { Q_OBJECT public: - explicit ExtSysMonAggregator(QObject *_parent, const QHash &_config); + explicit ExtSysMonAggregator(const QString &_id, const QString &_name, KSysGuard::SensorContainer *_parent, const QHash &_config); ~ExtSysMonAggregator() override; [[nodiscard]] QVariant data(const QString &_source) const; [[nodiscard]] bool hasSource(const QString &_source) const; diff --git a/sources/extsysmon/metadata.json b/sources/extsysmon/metadata.json new file mode 100644 index 0000000..94f3ae3 --- /dev/null +++ b/sources/extsysmon/metadata.json @@ -0,0 +1,3 @@ +{ + "providerName": "extsysmon" +} diff --git a/sources/extsysmon/plasma-dataengine-extsysmon.desktop b/sources/extsysmon/plasma-dataengine-extsysmon.desktop deleted file mode 100644 index 19664fb..0000000 --- a/sources/extsysmon/plasma-dataengine-extsysmon.desktop +++ /dev/null @@ -1,16 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Name=Extended SystemMonitor -Comment=Adds some additional functions to System DataEngine -ServiceTypes=Plasma/DataEngine -Type=Service -Icon=utilities-system-monitor - -X-KDE-Library=plasma_dataengine_extsysmon - -X-KDE-PluginInfo-Author=Evgeniy Alekseev aka arcanis -X-KDE-PluginInfo-Email=esalexeev@gmail.com -X-KDE-PluginInfo-Name=extsysmon -X-KDE-PluginInfo-Version=@PROJECT_VERSION@ -X-KDE-PluginInfo-Category=System Information -X-KDE-PluginInfo-License=GPL3 diff --git a/sources/extsysmon/plasma-dataengine-extsysmon.json b/sources/extsysmon/plasma-dataengine-extsysmon.json deleted file mode 100644 index 9e5441e..0000000 --- a/sources/extsysmon/plasma-dataengine-extsysmon.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "KPlugin": { - "Authors": [ - { - "Email": "esalexeev@gmail.com", - "Name": "Evgeniy Alekseev aka arcanis" - } - ], - "Category": "System Information", - "Description": "Adds some additional functions to System DataEngine", - "Icon": "utilities-system-monitor", - "Id": "extsysmon", - "License": "GPL3", - "Name": "Extended SystemMonitor", - "ServiceTypes": [ - "Plasma/DataEngine" - ], - "Version": "@PROJECT_VERSION@" - } -} diff --git a/sources/libraries.cmake b/sources/libraries.cmake index ca15ffe..c8b9695 100644 --- a/sources/libraries.cmake +++ b/sources/libraries.cmake @@ -27,4 +27,4 @@ include(KDEInstallDirs) include(KDECMakeSettings) include(KDECompilerSettings) set(Kf6_INCLUDE ${KDE_INSTALL_FULL_INCLUDEDIR_KF}) -set(Kf6_LIBRARIES KF6::I18n KF6::Notifications KF6::WindowSystem KSysGuard::Sensors KSysGuard::SensorFaces KSysGuard::SystemStats PW::LibTaskManager) +set(Kf6_LIBRARIES KF6::CoreAddons KF6::I18n KF6::Notifications KF6::WindowSystem KSysGuard::Sensors KSysGuard::SensorFaces KSysGuard::SystemStats PW::LibTaskManager)