BluezQt

media.cpp
1/*
2 * BluezQt - Asynchronous Bluez wrapper library
3 *
4 * SPDX-FileCopyrightText: 2018 Manuel Weichselbaumer <mincequi@web.de>
5 *
6 * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
7 */
8
9#include "media.h"
10#include "debug.h"
11#include "media_p.h"
12#include "mediaendpoint.h"
13#include "mediaendpointadaptor.h"
14#include "pendingcall.h"
15#include "utils.h"
16
17namespace BluezQt
18{
19Media::Media(const QString &path, QObject *parent)
20 : QObject(parent)
21 , d(new MediaPrivate())
22{
23 d->m_path = path;
24 d->m_bluezMedia = new BluezMedia(Strings::orgBluez(), path, DBusConnection::orgBluez(), this);
25}
26
27Media::~Media() = default;
28
29PendingCall *Media::registerEndpoint(MediaEndpoint *endpoint)
30{
31 Q_ASSERT(endpoint);
32
33 if (!d->m_bluezMedia) {
34 return new PendingCall(PendingCall::InternalError, QStringLiteral("Media not operational!"));
35 }
36
37 new MediaEndpointAdaptor(endpoint);
38
39 if (!DBusConnection::orgBluez().registerObject(endpoint->objectPath().path(), endpoint)) {
40 qCDebug(BLUEZQT) << "Cannot register object" << endpoint->objectPath().path();
41 }
42
43 return new PendingCall(d->m_bluezMedia->RegisterEndpoint(endpoint->objectPath(), endpoint->properties()), PendingCall::ReturnVoid, this);
44}
45
46PendingCall *Media::unregisterEndpoint(MediaEndpoint *endpoint)
47{
48 Q_ASSERT(endpoint);
49
50 if (!d->m_bluezMedia) {
51 return new PendingCall(PendingCall::InternalError, QStringLiteral("Media not operational!"));
52 }
53
54 DBusConnection::orgBluez().unregisterObject(endpoint->objectPath().path());
55
56 return new PendingCall(d->m_bluezMedia->UnregisterEndpoint(endpoint->objectPath()), PendingCall::ReturnVoid, this);
57}
58
59} // namespace BluezQt
60
61#include "moc_media.cpp"
Bluetooth MediaEndpoint.
virtual QDBusObjectPath objectPath() const
D-Bus object path of the MediaEndpoint.
virtual const QVariantMap & properties() const
Properties of the endpoint.
Pending method call.
QString path(const QString &relativePath)
QString path() const const
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Sat Dec 21 2024 16:59:47 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.