File indexing completed on 2024-04-28 03:52:07

0001 /*
0002  * SPDX-FileCopyrightText: 2011 Rafael Fernández López <ereslibre@kde.org>
0003  * SPDX-FileCopyrightText: 2011 UFO Coders <info@ufocoders.com>
0004  * SPDX-FileCopyrightText: 2014-2015 David Rosca <nowrep@gmail.com>
0005  *
0006  * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0007  */
0008 
0009 #include "adaptersreceiver.h"
0010 
0011 #include <QCoreApplication>
0012 #include <QDebug>
0013 
0014 #include "adapter.h"
0015 #include "initmanagerjob.h"
0016 
0017 using namespace BluezQt;
0018 
0019 AdaptersReceiver::AdaptersReceiver(Manager *manager, QObject *parent)
0020     : QObject(parent)
0021     , m_manager(manager)
0022 {
0023     connect(manager, &Manager::adapterAdded, this, &AdaptersReceiver::adapterAdded);
0024     connect(manager, &Manager::adapterRemoved, this, &AdaptersReceiver::adapterRemoved);
0025     connect(manager, &Manager::usableAdapterChanged, this, &AdaptersReceiver::usableAdapterChanged);
0026     connect(manager, &Manager::allAdaptersRemoved, this, &AdaptersReceiver::allAdaptersRemoved);
0027     connect(manager, &Manager::bluetoothOperationalChanged, this, &AdaptersReceiver::bluetoothOperationalChanged);
0028     connect(manager, &Manager::bluetoothBlockedChanged, this, &AdaptersReceiver::bluetoothBlockedChanged);
0029 }
0030 
0031 void AdaptersReceiver::adapterAdded(const BluezQt::AdapterPtr &adapter)
0032 {
0033     qDebug() << "Adapter added: " << adapter->name();
0034     printStatus();
0035 }
0036 
0037 void AdaptersReceiver::adapterRemoved(const BluezQt::AdapterPtr &adapter)
0038 {
0039     qDebug() << "Adapter removed: " << adapter->name();
0040     printStatus();
0041 }
0042 
0043 void AdaptersReceiver::usableAdapterChanged(const BluezQt::AdapterPtr &adapter)
0044 {
0045     qDebug() << "Usable adapter changed: " << adapter;
0046     printStatus();
0047 }
0048 
0049 void AdaptersReceiver::allAdaptersRemoved()
0050 {
0051     qDebug() << "All adapters have been removed";
0052     printStatus();
0053 }
0054 
0055 void AdaptersReceiver::bluetoothOperationalChanged(bool operational)
0056 {
0057     qDebug() << "Bluetooth operational changed: " << operational;
0058     printStatus();
0059 }
0060 
0061 void AdaptersReceiver::bluetoothBlockedChanged(bool blocked)
0062 {
0063     qDebug() << "Bluetooth blocked changed: " << blocked;
0064     printStatus();
0065 }
0066 
0067 void AdaptersReceiver::printStatus()
0068 {
0069     qDebug() << "\tBluetooth Blocked: " << m_manager->isBluetoothBlocked();
0070     qDebug() << "\tBluetooth Operational: " << m_manager->isBluetoothOperational();
0071     qDebug() << "\tUsable Adapter: " << m_manager->usableAdapter();
0072     qDebug() << "";
0073 }
0074 
0075 int main(int argc, char **argv)
0076 {
0077     QCoreApplication app(argc, argv);
0078 
0079     qDebug() << "Looping until stopped";
0080 
0081     Manager *manager = new Manager();
0082     InitManagerJob *initJob = manager->init();
0083     initJob->exec();
0084     if (initJob->error()) {
0085         qWarning() << "Error initializing manager:" << initJob->errorText();
0086         return 1;
0087     }
0088 
0089     new AdaptersReceiver(manager);
0090     return app.exec();
0091 }
0092 
0093 #include "moc_adaptersreceiver.cpp"