summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEmanoil Kotsev <deloptes@gmail.com>2025-04-13 14:29:13 +0000
committerEmanoil Kotsev <deloptes@gmail.com>2025-04-18 10:48:59 +0000
commit3da61733fcc83407a549a76cc16cbc35713351e9 (patch)
tree811d9561d46e430f573ea8c3feb222c7b9ebe577
parent351c99b1fb102cac7cbfc6a82b7594d271aa3a37 (diff)
downloadtdelibs-feat/new_hwcontrol.tar.gz
tdelibs-feat/new_hwcontrol.zip
added macros borrowed from Philippefeat/new_hwcontrol
important: macros to be used with dbus-1-tqt/pulls/42 Signed-off-by: Emanoil Kotsev <deloptes@gmail.com>
-rw-r--r--tdecore/tdehw/hwlibdaemons/tdedbus/BrightnessService.h1
-rw-r--r--tdecore/tdehw/hwlibdaemons/tdedbus/CPUGovernorService.h1
-rw-r--r--tdecore/tdehw/hwlibdaemons/tdedbus/DeviceServiceBase.cpp4
-rw-r--r--tdecore/tdehw/hwlibdaemons/tdedbus/HardwareControl.cpp25
-rw-r--r--tdecore/tdehw/hwlibdaemons/tdedbus/InputEventsService.cpp4
-rw-r--r--tdecore/tdehw/hwlibdaemons/tdedbus/InputEventsService.h1
-rw-r--r--tdecore/tdehw/hwlibdaemons/tdedbus/PowerService.h1
-rw-r--r--tdecore/tdehw/hwlibdaemons/tdedbus/PropertiesService.h1
-rw-r--r--tdecore/tdehw/hwlibdaemons/tdedbus/common.h25
-rw-r--r--tdecore/tdehw/hwlibdaemons/tdedbus/hardwarecontrolService.cpp40
10 files changed, 67 insertions, 36 deletions
diff --git a/tdecore/tdehw/hwlibdaemons/tdedbus/BrightnessService.h b/tdecore/tdehw/hwlibdaemons/tdedbus/BrightnessService.h
index 42f4381b4..3d40d7698 100644
--- a/tdecore/tdehw/hwlibdaemons/tdedbus/BrightnessService.h
+++ b/tdecore/tdehw/hwlibdaemons/tdedbus/BrightnessService.h
@@ -30,6 +30,7 @@
class BrightnessService: public org::trinitydesktop::hardwarecontrol::BrightnessInterface,
public DeviceServiceBase
{
+
public:
BrightnessService(TQT_DBusConnection&);
virtual ~BrightnessService();
diff --git a/tdecore/tdehw/hwlibdaemons/tdedbus/CPUGovernorService.h b/tdecore/tdehw/hwlibdaemons/tdedbus/CPUGovernorService.h
index bbd8d9f95..7824d6c81 100644
--- a/tdecore/tdehw/hwlibdaemons/tdedbus/CPUGovernorService.h
+++ b/tdecore/tdehw/hwlibdaemons/tdedbus/CPUGovernorService.h
@@ -28,6 +28,7 @@
class CPUGovernorService: public org::trinitydesktop::hardwarecontrol::CPUGovernorInterface,
public DeviceServiceBase
{
+
public:
CPUGovernorService(TQT_DBusConnection&);
virtual ~CPUGovernorService();
diff --git a/tdecore/tdehw/hwlibdaemons/tdedbus/DeviceServiceBase.cpp b/tdecore/tdehw/hwlibdaemons/tdedbus/DeviceServiceBase.cpp
index 579f7cd45..6930c1343 100644
--- a/tdecore/tdehw/hwlibdaemons/tdedbus/DeviceServiceBase.cpp
+++ b/tdecore/tdehw/hwlibdaemons/tdedbus/DeviceServiceBase.cpp
@@ -24,6 +24,7 @@
#include <tqfile.h>
#include <tqtextstream.h>
+#include "common.h"
#include <tqdbuserror.h>
#include "DeviceServiceBase.h"
@@ -37,8 +38,7 @@ DeviceServiceBase::DeviceServiceBase(TQT_DBusConnection &conn)
DeviceServiceBase::~DeviceServiceBase()
{
- if (m_connection)
- delete m_connection;
+ DEL(m_connection)
}
bool DeviceServiceBase::canSetDeviceValue(const TQString& device, TQT_DBusError& error) {
diff --git a/tdecore/tdehw/hwlibdaemons/tdedbus/HardwareControl.cpp b/tdecore/tdehw/hwlibdaemons/tdedbus/HardwareControl.cpp
index ce054004d..18747da95 100644
--- a/tdecore/tdehw/hwlibdaemons/tdedbus/HardwareControl.cpp
+++ b/tdecore/tdehw/hwlibdaemons/tdedbus/HardwareControl.cpp
@@ -23,6 +23,7 @@
#include <tqtimer.h>
#include <tqdbusmessage.h>
+#include "common.h"
#include "HardwareControl.h"
#define DBUS_HWCTRL_SERVICE_NAME "org.trinitydesktop.hardwarecontrol"
@@ -83,26 +84,10 @@ void HardwareControl::slotDbusSignal(const TQT_DBusMessage& message) {
void HardwareControl::dbusConnectionClose() {
- if(rootService)
- {
- delete rootService;
- rootService=0;
- }
- if(orgService)
- {
- delete orgService;
- orgService=0;
- }
- if(trinitydesktopService)
- {
- delete trinitydesktopService;
- trinitydesktopService=0;
- }
- if(hardwarecontrolService)
- {
- delete hardwarecontrolService;
- hardwarecontrolService=0;
- }
+ DEL(rootService)
+ DEL(orgService)
+ DEL(trinitydesktopService)
+ DEL(hardwarecontrolService)
if(m_connection.isConnected()) {
m_connection.disconnect(this, TQ_SLOT(slotDbusSignal(const TQT_DBusMessage&)));
diff --git a/tdecore/tdehw/hwlibdaemons/tdedbus/InputEventsService.cpp b/tdecore/tdehw/hwlibdaemons/tdedbus/InputEventsService.cpp
index 458df9467..60b797e86 100644
--- a/tdecore/tdehw/hwlibdaemons/tdedbus/InputEventsService.cpp
+++ b/tdecore/tdehw/hwlibdaemons/tdedbus/InputEventsService.cpp
@@ -29,6 +29,7 @@
#include <tqvaluelist.h>
+#include "common.h"
#include "InputEventsService.h"
#define BITS_PER_LONG (sizeof(long) * 8)
@@ -43,8 +44,7 @@ InputEventsService::InputEventsService(TQT_DBusConnection &conn)
InputEventsService::~InputEventsService()
{
- if (m_connection)
- delete m_connection;
+ DEL(m_connection)
}
/*!
diff --git a/tdecore/tdehw/hwlibdaemons/tdedbus/InputEventsService.h b/tdecore/tdehw/hwlibdaemons/tdedbus/InputEventsService.h
index 4e3595ec0..b3dad943b 100644
--- a/tdecore/tdehw/hwlibdaemons/tdedbus/InputEventsService.h
+++ b/tdecore/tdehw/hwlibdaemons/tdedbus/InputEventsService.h
@@ -28,6 +28,7 @@
class InputEventsService: public org::trinitydesktop::hardwarecontrol::InputEventsInterface
{
+
public:
InputEventsService(TQT_DBusConnection&);
virtual ~InputEventsService();
diff --git a/tdecore/tdehw/hwlibdaemons/tdedbus/PowerService.h b/tdecore/tdehw/hwlibdaemons/tdedbus/PowerService.h
index 964004acd..aa37d22b8 100644
--- a/tdecore/tdehw/hwlibdaemons/tdedbus/PowerService.h
+++ b/tdecore/tdehw/hwlibdaemons/tdedbus/PowerService.h
@@ -28,6 +28,7 @@
class PowerService: public org::trinitydesktop::hardwarecontrol::PowerInterface,
public DeviceServiceBase
{
+
public:
PowerService(TQT_DBusConnection&);
virtual ~PowerService();
diff --git a/tdecore/tdehw/hwlibdaemons/tdedbus/PropertiesService.h b/tdecore/tdehw/hwlibdaemons/tdedbus/PropertiesService.h
index c0f080ddc..d9cc3f9f6 100644
--- a/tdecore/tdehw/hwlibdaemons/tdedbus/PropertiesService.h
+++ b/tdecore/tdehw/hwlibdaemons/tdedbus/PropertiesService.h
@@ -31,6 +31,7 @@
class PropertiesService: public org::freedesktop::DBus::PropertiesInterface
{
+
public:
PropertiesService(TQT_DBusConnection&);
virtual ~PropertiesService();
diff --git a/tdecore/tdehw/hwlibdaemons/tdedbus/common.h b/tdecore/tdehw/hwlibdaemons/tdedbus/common.h
new file mode 100644
index 000000000..a10395d93
--- /dev/null
+++ b/tdecore/tdehw/hwlibdaemons/tdedbus/common.h
@@ -0,0 +1,25 @@
+/*
+ * common.h
+ *
+ * Created on: Apr 12, 2025
+ * Author: emanoil
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2
+ * as published by the Free Software Foundation.
+ *
+ * This program 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 this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+#ifndef TDE_HWLIBDAEMONS_COMMON_H_
+#define TDE_HWLIBDAEMONS_COMMON_H_
+
+#define DEL(x) if (x) { delete x; x = nullptr; }
+
+#endif /* TDE_HWLIBDAEMONS_COMMON_H_ */
diff --git a/tdecore/tdehw/hwlibdaemons/tdedbus/hardwarecontrolService.cpp b/tdecore/tdehw/hwlibdaemons/tdedbus/hardwarecontrolService.cpp
index 849d650dd..e07201a1f 100644
--- a/tdecore/tdehw/hwlibdaemons/tdedbus/hardwarecontrolService.cpp
+++ b/tdecore/tdehw/hwlibdaemons/tdedbus/hardwarecontrolService.cpp
@@ -42,14 +42,27 @@
*/
#define DBUS_HWCTRL_SERVICE_PATH "/org/trinitydesktop/hardwarecontrol"
+#define REGISTER_PORTAL(klass) \
+ m_interfaces.insert(klass::interface(), new klass(m_connection));
+
+#define DESTROY_PORTAL(klass) \
+ delete m_interfaces[klass::interface()];
+
+#define ADDCHILD(x) addChildNode(TQString(x));
+
+#define REGISTER_OBJECT(x) registerObject(m_connection,TQString(x));
+
+#define ADDNODE(x,y) \
+ ADDCHILD(x) \
+ REGISTER_OBJECT(y)
+
/*
* Root Node
*/
RootNodeService::RootNodeService(TQT_DBusConnection &connection )
: DBusBaseNode(), m_connection(connection)
{
- addChildNode(TQString("org"));
- registerObject(m_connection,TQString("/"));
+ ADDNODE("org","/")
}
RootNodeService::~RootNodeService(){
@@ -66,8 +79,7 @@ TQT_DBusObjectBase* RootNodeService::createInterface(const TQString& interfaceNa
OrgNodeService::OrgNodeService(TQT_DBusConnection &connection )
: DBusBaseNode(), m_connection(connection)
{
- addChildNode(TQString("trinitydesktop"));
- registerObject(m_connection,TQString("/org"));
+ ADDNODE("trinitydesktop","/org")
}
OrgNodeService::~OrgNodeService(){
@@ -84,11 +96,15 @@ TQT_DBusObjectBase* OrgNodeService::createInterface(const TQString& interfaceNam
TrinityDesktopNodeService::TrinityDesktopNodeService(TQT_DBusConnection &connection )
: DBusBaseNode(), m_connection(connection)
{
- addChildNode(TQString("hardwarecontrol"));
- registerObject(m_connection,TQString("/org/trinitydesktop"));
+ ADDNODE("hardwarecontrol","/org/trinitydesktop")
}
TrinityDesktopNodeService::~TrinityDesktopNodeService(){
+ DESTROY_PORTAL(PropertiesService);
+ DESTROY_PORTAL(BrightnessService);
+ DESTROY_PORTAL(CPUGovernorService);
+ DESTROY_PORTAL(InputEventsService);
+ DESTROY_PORTAL(PowerService);
}
TQT_DBusObjectBase* TrinityDesktopNodeService::createInterface(const TQString& interfaceName)
@@ -104,12 +120,12 @@ HardwareControlNodeService::HardwareControlNodeService(TQT_DBusConnection &conn)
m_connection(conn)
{
m_interfaces.insert("org.freedesktop.DBus.Introspectable", this);
- m_interfaces.insert("org.freedesktop.DBus.Properties", new PropertiesService(m_connection));
- m_interfaces.insert("org.trinitydesktop.hardwarecontrol.Brightness", new BrightnessService(m_connection));
- m_interfaces.insert("org.trinitydesktop.hardwarecontrol.CPUGovernor", new CPUGovernorService(m_connection));
- m_interfaces.insert("org.trinitydesktop.hardwarecontrol.InputEvents", new InputEventsService(m_connection));
- m_interfaces.insert("org.trinitydesktop.hardwarecontrol.Power", new PowerService(m_connection));
- registerObject(m_connection,TQString(DBUS_HWCTRL_SERVICE_PATH));
+ REGISTER_PORTAL(PropertiesService);
+ REGISTER_PORTAL(BrightnessService);
+ REGISTER_PORTAL(CPUGovernorService);
+ REGISTER_PORTAL(InputEventsService);
+ REGISTER_PORTAL(PowerService);
+ REGISTER_OBJECT(DBUS_HWCTRL_SERVICE_PATH)
}
HardwareControlNodeService::~HardwareControlNodeService(){