DtkCore
DTK Core module
ddbusinterface.h
1// SPDX-FileCopyrightText: 2022 UnionTech Software Technology Co., Ltd.
2//
3// SPDX-License-Identifier: LGPL-3.0-or-later
4
5#pragma once
6#include "dtkcore_global.h"
7#include <QDBusAbstractInterface>
8
9DCORE_BEGIN_NAMESPACE
10
11class DDBusInterfacePrivate;
12
13class DDBusInterface : public QDBusAbstractInterface
14{
15 Q_OBJECT
16
17public:
18 explicit DDBusInterface(const QString &service,
19 const QString &path,
20 const QString &interface,
21 const QDBusConnection &connection = QDBusConnection::sessionBus(),
22 QObject *parent = nullptr);
23 virtual ~DDBusInterface() override;
24
25 bool serviceValid() const;
26 QString suffix() const;
27 void setSuffix(const QString &suffix);
28
29 QVariant property(const char *propName);
30 void setProperty(const char *propName, const QVariant &value);
31
32Q_SIGNALS:
33 void serviceValidChanged(const bool valid) const;
34
35private:
36 QScopedPointer<DDBusInterfacePrivate> d_ptr;
37 Q_DECLARE_PRIVATE(DDBusInterface)
38 Q_DISABLE_COPY(DDBusInterface)
39};
40DCORE_END_NAMESPACE
Definition: ddbusinterface.h:14