davidedmundson created this revision. davidedmundson added a reviewer: Plasma. Herald added a project: Plasma. Herald added a subscriber: plasma-devel. davidedmundson requested review of this revision.
REVISION SUMMARY ksysguardd, whilst good, has a few problems The code is a bit archaic, it relies on a polling API, which is overhead for infrequently changed values or where setting up a monitor has a big overhead. It also moves the problem of translations into the daemon, allowing for better extensibility without requiring client side changes. The daemon is based around a typical OO model. Plugins have lists of objects, those objects have properties using common Qt patterns. A property also has various metadata. For full compatibility ksgrd is wrapped and the plan is to land with the bridge, then slowly land patches that use the new API natively. An nvidia plugin is also added to show the API being used in another format. This is all consumed by the new API posted in D28141 <https://phabricator.kde.org/D28141> TEST PLAN Unit test Used with the new library to create a new suite of applet (upcoming patch) Used in a ported ksysguard REPOSITORY R106 KSysguard BRANCH master REVISION DETAIL https://phabricator.kde.org/D28333 AFFECTED FILES CMakeLists.txt kstats/CMakeLists.txt kstats/autotests/CMakeLists.txt kstats/autotests/main.cpp kstats/client.cpp kstats/client.h kstats/ksysguard_iface.xml kstats/ksysguarddaemon.cpp kstats/ksysguarddaemon.h kstats/main.cpp kstats/test/CMakeLists.txt kstats/test/README.txt kstats/test/main.cpp libkstats/AggregateSensor.cpp libkstats/AggregateSensor.h libkstats/CMakeLists.txt libkstats/SensorContainer.cpp libkstats/SensorContainer.h libkstats/SensorObject.cpp libkstats/SensorObject.h libkstats/SensorPlugin.cpp libkstats/SensorPlugin.h libkstats/SensorProperty.cpp libkstats/SensorProperty.h libkstats/types.h plugins/CMakeLists.txt plugins/global/ksgrd/CMakeLists.txt plugins/global/ksgrd/ksgrd.json plugins/global/ksgrd/ksgrdiface.cpp plugins/global/ksgrd/ksgrdiface.h plugins/global/nvidia/CMakeLists.txt plugins/global/nvidia/nvidia.cpp plugins/global/nvidia/nvidia.h plugins/global/nvidia/nvidiaplugin.json To: davidedmundson, #plasma Cc: plasma-devel, Orage, LeGast00n, The-Feren-OS-Dev, cblack, jraleigh, zachus, fbampaloukas, GB_2, ragreen, ZrenBot, ngraham, himcesjf, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, ahiemstra, mart