1
0
Fork 0
mirror of https://github.com/transmission/transmission synced 2024-12-25 17:17:31 +00:00
transmission/qt/DBusInteropHelper.cc
Charles Kerr ebb2ab6aee
chore: update license spdx abbreviations (#2582)
Use SPDX license list 3.0 terminology: replace deprecated identifiers
GPL-2.0" and "GPL-3.0" with "GPL-3.0-only" and "GPL-3.0-only".
2022-02-07 10:25:02 -06:00

53 lines
1.7 KiB
C++

// This file Copyright © 2015-2022 Mnemosyne LLC.
// It may be used under GPLv2 (SPDX: GPL-2.0-only), GPLv3 (SPDX: GPL-3.0-only),
// or any future license endorsed by Mnemosyne LLC.
// License text can be found in the licenses/ folder.
#include <QDBusConnection>
#include <QDBusMessage>
#include <QDBusReply>
#include <QString>
#include <QVariant>
#include <QtDebug>
#include "DBusInteropHelper.h"
#include "InteropObject.h"
bool DBusInteropHelper::isConnected() const
{
return QDBusConnection::sessionBus().isConnected();
}
QVariant DBusInteropHelper::addMetainfo(QString const& metainfo) const
{
auto request = QDBusMessage::createMethodCall(
QStringLiteral("com.transmissionbt.Transmission"),
QStringLiteral("/com/transmissionbt/Transmission"),
QStringLiteral("com.transmissionbt.Transmission"),
QStringLiteral("AddMetainfo"));
request.setArguments(QVariantList() << metainfo);
QDBusReply<bool> const response = QDBusConnection::sessionBus().call(request);
return response.isValid() ? QVariant(response.value()) : QVariant();
}
void DBusInteropHelper::registerObject(QObject* parent)
{
auto bus = QDBusConnection::sessionBus();
if (!bus.isConnected())
{
return;
}
auto const service_name = QStringLiteral("com.transmissionbt.Transmission");
if (!bus.registerService(service_name))
{
qWarning() << "couldn't register" << qPrintable(service_name);
}
auto const object_path = QStringLiteral("/com/transmissionbt/Transmission");
if (!bus.registerObject(object_path, new InteropObject(parent), QDBusConnection::ExportAllSlots))
{
qWarning() << "couldn't register" << qPrintable(object_path);
}
}