File indexing completed on 2024-06-16 05:09:01

0001 /*
0002     SPDX-FileCopyrightText: 2013 Alexander Mezin <mezin.alexander@gmail.com>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 #include "touchpadservice.h"
0007 
0008 #include <Plasma5Support/ServiceJob>
0009 
0010 #include "touchpadinterface.h"
0011 
0012 TouchpadService::TouchpadService(OrgKdeTouchpadInterface *daemon, const QString &destination, QObject *parent)
0013     : Plasma5Support::Service(parent)
0014     , m_daemon(daemon)
0015     , m_destination(destination)
0016 {
0017     setName("touchpad");
0018 }
0019 
0020 TouchpadService::~TouchpadService()
0021 {
0022 }
0023 
0024 class TouchpadJob : public Plasma5Support::ServiceJob
0025 {
0026 public:
0027     TouchpadJob(OrgKdeTouchpadInterface *daemon,
0028                 const QString &destination,
0029                 const QString &operation,
0030                 const QMap<QString, QVariant> &parameters,
0031                 QObject *parent = nullptr)
0032         : Plasma5Support::ServiceJob(destination, operation, parameters, parent)
0033         , m_daemon(daemon)
0034     {
0035     }
0036 
0037     void start() override
0038     {
0039         if (m_daemon) {
0040             QMetaObject::invokeMethod(m_daemon, operationName().toLatin1());
0041         }
0042         emitResult();
0043     }
0044 
0045 private:
0046     OrgKdeTouchpadInterface *m_daemon;
0047 };
0048 
0049 Plasma5Support::ServiceJob *TouchpadService::createJob(const QString &operation, QMap<QString, QVariant> &params)
0050 {
0051     return new TouchpadJob(m_daemon, m_destination, operation, params, this);
0052 }