| 1 | /* |
| 2 | * BluezQt - Asynchronous BlueZ wrapper library |
| 3 | * |
| 4 | * SPDX-FileCopyrightText: 2014 David Rosca <nowrep@gmail.com> |
| 5 | * |
| 6 | * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL |
| 7 | */ |
| 8 | |
| 9 | #include "bluezqtextensionplugin.h" |
| 10 | #include "services.h" |
| 11 | |
| 12 | static QJSValue services_singleton(QQmlEngine *engine, QJSEngine *scriptEngine) |
| 13 | { |
| 14 | Q_UNUSED(engine) |
| 15 | |
| 16 | QJSValue object = scriptEngine->newObject(); |
| 17 | |
| 18 | object.setProperty(QStringLiteral("ServiceDiscoveryServer" ), value: BluezQt::Services::ServiceDiscoveryServer); |
| 19 | object.setProperty(QStringLiteral("SerialPort" ), value: BluezQt::Services::SerialPort); |
| 20 | object.setProperty(QStringLiteral("DialupNetworking" ), value: BluezQt::Services::DialupNetworking); |
| 21 | object.setProperty(QStringLiteral("ObexObjectPush" ), value: BluezQt::Services::ObexObjectPush); |
| 22 | object.setProperty(QStringLiteral("ObexFileTransfer" ), value: BluezQt::Services::ObexFileTransfer); |
| 23 | object.setProperty(QStringLiteral("Headset" ), value: BluezQt::Services::Headset); |
| 24 | object.setProperty(QStringLiteral("AudioSource" ), value: BluezQt::Services::AudioSource); |
| 25 | object.setProperty(QStringLiteral("AudioSink" ), value: BluezQt::Services::AudioSink); |
| 26 | object.setProperty(QStringLiteral("AudioVideoRemoteControlTarget" ), value: BluezQt::Services::AudioVideoRemoteControlTarget); |
| 27 | object.setProperty(QStringLiteral("AdvancedAudioDistribution" ), value: BluezQt::Services::AdvancedAudioDistribution); |
| 28 | object.setProperty(QStringLiteral("AudioVideoRemoteControl" ), value: BluezQt::Services::AudioVideoRemoteControl); |
| 29 | object.setProperty(QStringLiteral("HeadsetAudioGateway" ), value: BluezQt::Services::HeadsetAudioGateway); |
| 30 | object.setProperty(QStringLiteral("Panu" ), value: BluezQt::Services::Panu); |
| 31 | object.setProperty(QStringLiteral("Nap" ), value: BluezQt::Services::Nap); |
| 32 | object.setProperty(QStringLiteral("Handsfree" ), value: BluezQt::Services::Handsfree); |
| 33 | object.setProperty(QStringLiteral("HandsfreeAudioGateway" ), value: BluezQt::Services::HandsfreeAudioGateway); |
| 34 | object.setProperty(QStringLiteral("HumanInterfaceDevice" ), value: BluezQt::Services::HumanInterfaceDevice); |
| 35 | object.setProperty(QStringLiteral("SimAccess" ), value: BluezQt::Services::SimAccess); |
| 36 | object.setProperty(QStringLiteral("PhonebookAccessServer" ), value: BluezQt::Services::PhonebookAccessServer); |
| 37 | object.setProperty(QStringLiteral("MessageAccessServer" ), value: BluezQt::Services::MessageAccessServer); |
| 38 | object.setProperty(QStringLiteral("PnpInformation" ), value: BluezQt::Services::PnpInformation); |
| 39 | |
| 40 | // Bluetooth Low Energy |
| 41 | object.setProperty(QStringLiteral("GenericAccess" ), value: BluezQt::Services::GenericAccess); |
| 42 | object.setProperty(QStringLiteral("GenericAcces" ), value: BluezQt::Services::GenericAccess); // TODO KF7: Remove the one with typo |
| 43 | object.setProperty(QStringLiteral("GenericAttribute" ), value: BluezQt::Services::GenericAttribute); |
| 44 | object.setProperty(QStringLiteral("ImmediateAlert" ), value: BluezQt::Services::ImmediateAlert); |
| 45 | object.setProperty(QStringLiteral("LinkLoss" ), value: BluezQt::Services::LinkLoss); |
| 46 | object.setProperty(QStringLiteral("TxPower" ), value: BluezQt::Services::TxPower); |
| 47 | object.setProperty(QStringLiteral("HeartRate" ), value: BluezQt::Services::HeartRate); |
| 48 | object.setProperty(QStringLiteral("CoordinatedSetIdentification" ), value: BluezQt::Services::CoordinatedSetIdentification); |
| 49 | object.setProperty(QStringLiteral("MicrophoneControl" ), value: BluezQt::Services::MicrophoneControl); |
| 50 | object.setProperty(QStringLiteral("BroadcastAudioScan" ), value: BluezQt::Services::BroadcastAudioScan); |
| 51 | object.setProperty(QStringLiteral("PublishedAudioCapabilities" ), value: BluezQt::Services::PublishedAudioCapabilities); |
| 52 | object.setProperty(QStringLiteral("CommonAudio" ), value: BluezQt::Services::CommonAudio); |
| 53 | |
| 54 | return object; |
| 55 | } |
| 56 | |
| 57 | void BluezQtExtensionPlugin::registerTypes(const char *uri) |
| 58 | { |
| 59 | using namespace BluezQt; |
| 60 | |
| 61 | Q_ASSERT(QLatin1String(uri) == QLatin1String("org.kde.bluezqt" )); |
| 62 | |
| 63 | qmlRegisterSingletonType(uri, versionMajor: 1, versionMinor: 0, typeName: "Services" , callback&: services_singleton); |
| 64 | } |
| 65 | |
| 66 | #include "moc_bluezqtextensionplugin.cpp" |
| 67 | |