You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
124 lines
3.7 KiB
124 lines
3.7 KiB
/*
|
|
*
|
|
* HardwareControl DBus Service implementation
|
|
*
|
|
* Copyright (C) 2020 Emanoil Kotsev <deloptes@gmail.com>
|
|
*
|
|
*
|
|
* This file is part of tdecore/tdehw.
|
|
*
|
|
* hardwarecontrol 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 2 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* hardwarecontrol 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 tdelibs; if not, write to the Free Software
|
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
*
|
|
*/
|
|
|
|
// TQt includes
|
|
#include <tqdbusobjectpath.h>
|
|
|
|
#include "hardwarecontrolService.h"
|
|
#include "interfaces/introspectableInterface.h"
|
|
#include "interfaces/propertiesInterface.h"
|
|
|
|
#include "DeviceServiceBase.h"
|
|
#include "BrightnessService.h"
|
|
#include "CPUGovernorService.h"
|
|
#include "InputEventsService.h"
|
|
#include "PowerService.h"
|
|
#include "PropertiesService.h"
|
|
|
|
/*!
|
|
* Implementing node services for /org/trinitydesktop/hardwarecontrol
|
|
*/
|
|
#define DBUS_HWCTRL_SERVICE_PATH "/org/trinitydesktop/hardwarecontrol"
|
|
|
|
/*
|
|
* Root Node
|
|
*/
|
|
RootNodeService::RootNodeService(TQT_DBusConnection &connection )
|
|
: DBusBaseNode(), m_connection(connection)
|
|
{
|
|
addChildNode(TQString("org"));
|
|
registerObject(m_connection,TQString("/"));
|
|
}
|
|
|
|
RootNodeService::~RootNodeService(){
|
|
}
|
|
|
|
TQT_DBusObjectBase* RootNodeService::createInterface(const TQString& interfaceName)
|
|
{
|
|
return (TQT_DBusObjectBase*) m_interfaces[interfaceName];
|
|
}
|
|
|
|
/*
|
|
* Org Node
|
|
*/
|
|
OrgNodeService::OrgNodeService(TQT_DBusConnection &connection )
|
|
: DBusBaseNode(), m_connection(connection)
|
|
{
|
|
addChildNode(TQString("trinitydesktop"));
|
|
registerObject(m_connection,TQString("/org"));
|
|
}
|
|
|
|
OrgNodeService::~OrgNodeService(){
|
|
}
|
|
|
|
TQT_DBusObjectBase* OrgNodeService::createInterface(const TQString& interfaceName)
|
|
{
|
|
return (TQT_DBusObjectBase*) m_interfaces[interfaceName];
|
|
}
|
|
|
|
/*
|
|
* TrinityDesktop Node
|
|
*/
|
|
TrinityDesktopNodeService::TrinityDesktopNodeService(TQT_DBusConnection &connection )
|
|
: DBusBaseNode(), m_connection(connection)
|
|
{
|
|
addChildNode(TQString("hardwarecontrol"));
|
|
registerObject(m_connection,TQString("/org/trinitydesktop"));
|
|
}
|
|
|
|
TrinityDesktopNodeService::~TrinityDesktopNodeService(){
|
|
}
|
|
|
|
TQT_DBusObjectBase* TrinityDesktopNodeService::createInterface(const TQString& interfaceName)
|
|
{
|
|
return (TQT_DBusObjectBase*) m_interfaces[interfaceName];
|
|
}
|
|
|
|
/*
|
|
* HardwareControl Node
|
|
*/
|
|
HardwareControlNodeService::HardwareControlNodeService(TQT_DBusConnection &conn)
|
|
: org::trinitydesktop::hardwarecontrolNode(),
|
|
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));
|
|
}
|
|
|
|
HardwareControlNodeService::~HardwareControlNodeService(){
|
|
}
|
|
|
|
TQT_DBusObjectBase* HardwareControlNodeService::createInterface(const TQString& interfaceName)
|
|
{
|
|
return (TQT_DBusObjectBase*) m_interfaces[interfaceName];
|
|
}
|
|
|
|
|