summaryrefslogtreecommitdiffstats
path: root/voice-capabilities/guimetadatamessage.h
diff options
context:
space:
mode:
authorScott Murray <scott.murray@konsulko.com>2020-01-15 14:22:17 -0500
committerScott Murray <scott.murray@konsulko.com>2020-01-16 14:18:32 -0500
commitfdc78ebadb8c86efd323e57fdc7f64c59d4aa967 (patch)
tree3959a2ba4173fdc201b93615a19dae54b83dd585 /voice-capabilities/guimetadatamessage.h
parent77392aeda562e3bbb4f311a99469156cb1a66d75 (diff)
Add initial voice-capabilities binding supporthalibut_8.0.6halibut_8.0.5halibut/8.0.6halibut/8.0.58.0.68.0.5halibut
Add support for subscribing to and using the guimetadata events from the vshl-capabilities binding. A GuiMetadata class is used to wrap things as it is likely that users of the other voice capabilities would not overlap if e.g. navigation event support is later added. At the moment, only the BodyTemplate1, BodyTemplate2, and WeatherTemplate guimetadata types are handled, and there is room for significant improvement in the Qt model exposed, which is somewhat crude with respect to image URL handling. As well, the weather template handling does not expose the full forecast, a full implementation of that would require adding an actual model that maps to a list view rather than a simple QObject. Bug-AGL: SPEC-3110 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I33fc2440ebdc2a4a2de79ff0a49acbc422c47da2
Diffstat (limited to 'voice-capabilities/guimetadatamessage.h')
-rw-r--r--voice-capabilities/guimetadatamessage.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/voice-capabilities/guimetadatamessage.h b/voice-capabilities/guimetadatamessage.h
new file mode 100644
index 0000000..7f0854f
--- /dev/null
+++ b/voice-capabilities/guimetadatamessage.h
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2020 Konsulko Group
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef GUIMETADATA_MESSAGE_H
+#define GUIMETADATA_MESSAGE_H
+
+#include "message.h"
+
+class GuiMetadataCapabilityMessage : public Message
+{
+ Q_OBJECT
+public:
+ bool isGuiMetadataRenderTemplateEvent() const {
+ return (this->eventName() == "render_template"); };
+ bool isGuiMetadataClearTemplateEvent() const {
+ return (this->eventName() == "clear_template"); };
+ bool createRequest(QString verb, QJsonObject parameter);
+
+private:
+ QStringList verbs {
+ "guimetadata/subscribe",
+ };
+};
+
+#endif // GUIMETADATA_MESSAGE_H