bluetooth: add bluetooth integration

Missing support for things that require an agent, but has most basics.

Closes #17
This commit is contained in:
outfoxxed 2025-07-01 00:07:20 -07:00
parent 1d02292fbf
commit f681e2016f
No known key found for this signature in database
GPG key ID: 4C88A185FB89301E
22 changed files with 1623 additions and 14 deletions

View file

@ -0,0 +1,37 @@
#pragma once
#include <qdbusconnection.h>
#include <qobject.h>
#include <qstring.h>
#include <qtmetamacros.h>
#include "dbus_objectmanager_types.hpp"
class DBusObjectManagerInterface;
namespace qs::dbus {
class DBusObjectManager: public QObject {
Q_OBJECT;
public:
explicit DBusObjectManager(QObject* parent = nullptr);
bool setInterface(
const QString& service,
const QString& path,
const QDBusConnection& connection = QDBusConnection::sessionBus()
);
signals:
void
interfacesAdded(const QDBusObjectPath& objectPath, const DBusObjectManagerInterfaces& interfaces);
void interfacesRemoved(const QDBusObjectPath& objectPath, const QStringList& interfaces);
private:
void fetchInitialObjects();
DBusObjectManagerInterface* mInterface = nullptr;
};
} // namespace qs::dbus