diff options
-rw-r--r-- | bluetooth/bluetoothmessage.cpp | 12 | ||||
-rw-r--r-- | bluetooth/bluetoothmessage.h | 12 |
2 files changed, 20 insertions, 4 deletions
diff --git a/bluetooth/bluetoothmessage.cpp b/bluetooth/bluetoothmessage.cpp index d31705c..9eef02f 100644 --- a/bluetooth/bluetoothmessage.cpp +++ b/bluetooth/bluetoothmessage.cpp @@ -23,11 +23,15 @@ bool BluetoothMessage::createRequest(QString verb, QJsonObject parameter) { - if (m_api_version != "1.0") - return false; + if (m_api_version == "1.0") { + if (!verbs_v1.contains(verb)) + return false; + } - if (!verbs_v1.contains(verb)) - return false; + if (m_api_version == "2.0") { + if (!verbs_v2.contains(verb)) + return false; + } return Message::createRequest("Bluetooth-Manager", verb, parameter); } diff --git a/bluetooth/bluetoothmessage.h b/bluetooth/bluetoothmessage.h index 6284c4e..0a26322 100644 --- a/bluetooth/bluetoothmessage.h +++ b/bluetooth/bluetoothmessage.h @@ -31,6 +31,11 @@ class BluetoothMessage : public Message bool isDeviceAddedEvent() { return (this->eventName() == "device_added"); }; bool isDeviceRemovedEvent() { return (this->eventName() == "device_removed"); }; bool isDeviceUpdatedEvent() { return (this->eventName() == "device_updated"); }; + + // Bluetooth API Schema 2.0 + bool isDeviceChangesEvent() { return (this->eventName() == "device_changes"); }; + bool isAgentEvent() { return (this->eventName() == "agent"); }; + bool createRequest(QString verb, QJsonObject parameter); private: @@ -43,6 +48,13 @@ class BluetoothMessage : public Message "subscribe", "unsubscribe", }; + QStringList verbs_v2 { + "connect", "disconnect", "managed_objects", + "adapter_state", "pair", "cancel_pairing", + "confirm_pairing", "remove_device", "version", + "subscribe", "unsubscribe", + }; + QString m_api_version; }; |