summaryrefslogtreecommitdiffstats
path: root/doc/src/snippets/qtcluster/qtiviclusterdata.h
diff options
context:
space:
mode:
Diffstat (limited to 'doc/src/snippets/qtcluster/qtiviclusterdata.h')
-rw-r--r--doc/src/snippets/qtcluster/qtiviclusterdata.h223
1 files changed, 223 insertions, 0 deletions
diff --git a/doc/src/snippets/qtcluster/qtiviclusterdata.h b/doc/src/snippets/qtcluster/qtiviclusterdata.h
new file mode 100644
index 000000000..7ba02a147
--- /dev/null
+++ b/doc/src/snippets/qtcluster/qtiviclusterdata.h
@@ -0,0 +1,223 @@
+/****************************************************************************
+**
+** Copyright (C) 2015 Pelagicore AG
+** Contact: http://www.qt.io/ or http://www.pelagicore.com/
+**
+** This file is part of the QtIVI module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL3-PELAGICORE$
+** Commercial License Usage
+** Licensees holding valid commercial Qt IVI licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Pelagicore. For licensing terms
+** and conditions, contact us at http://www.pelagicore.com.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPLv3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+** SPDX-License-Identifier: LGPL-3.0
+**
+****************************************************************************/
+
+#ifndef CLUSTERDATA_H
+#define CLUSTERDATA_H
+
+#include <QObject>
+#include <QQmlParserStatus>
+#include <QQmlProperty>
+
+#ifndef NO_NETWORK
+#include "clusterdatabackend.h"
+#endif
+
+QT_BEGIN_NAMESPACE
+
+#ifndef NO_NETWORK
+class ClusterDataBackend;
+#endif
+
+class ZonedProperties : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(bool doorOpen READ doorOpen NOTIFY doorOpenChanged)
+
+public:
+ ZonedProperties(QObject *parent=0) : QObject(parent), m_zone(""), m_doorOpen(false) {}
+
+ void setZone(const QString &zone) { m_zone = zone; }
+ QString zone() { return m_zone; }
+
+ bool doorOpen() { return m_doorOpen; }
+ void setDoorOpen(const bool &d) { m_doorOpen = d; emit doorOpenChanged(); }
+signals:
+ void zoneChanged(const QString &zone);
+ void doorOpenChanged();
+
+private:
+ QString m_zone;
+ bool m_doorOpen;
+};
+
+class QtIVIClusterData : public QObject, public QQmlParserStatus
+{
+ Q_OBJECT
+ Q_INTERFACES(QQmlParserStatus)
+
+ Q_PROPERTY(double vehicleSpeed READ vehicleSpeed NOTIFY vehicleSpeedChanged)
+ Q_PROPERTY(double latitude READ latitude NOTIFY latitudeChanged)
+ Q_PROPERTY(double longitude READ longitude NOTIFY longitudeChanged)
+ Q_PROPERTY(double direction READ direction NOTIFY directionChanged)
+ Q_PROPERTY(bool flatTire READ flatTire NOTIFY flatTireChanged)
+ Q_PROPERTY(bool lightFailure READ lightFailure NOTIFY lightFailureChanged)
+ Q_PROPERTY(bool reverse READ reverse NOTIFY reverseChanged)
+ Q_PROPERTY(bool leftTurnLight READ leftTurnLight NOTIFY leftTurnLightChanged)
+ Q_PROPERTY(bool rightTurnLight READ rightTurnLight NOTIFY rightTurnLightChanged)
+ Q_PROPERTY(bool headLight READ headLight NOTIFY headLightChanged)
+ Q_PROPERTY(bool parkLight READ parkLight NOTIFY parkLightChanged)
+ Q_PROPERTY(int carId READ carId NOTIFY carIdChanged)
+ Q_PROPERTY(bool brake READ brake NOTIFY brakeChanged)
+ Q_PROPERTY(int engineTemp READ engineTemp NOTIFY engineTempChanged)
+ Q_PROPERTY(double oilTemp READ oilTemp NOTIFY oilTempChanged)
+ Q_PROPERTY(int oilPressure READ oilPressure NOTIFY oilPressureChanged)
+ Q_PROPERTY(double batteryPotential READ batteryPotential NOTIFY batteryPotentialChanged)
+ Q_PROPERTY(double gasLevel READ gasLevel NOTIFY gasLevelChanged)
+ Q_PROPERTY(int rpm READ rpm NOTIFY rpmChanged)
+ Q_PROPERTY(int gear READ gear NOTIFY gearChanged)
+
+ Q_PROPERTY(QVariantMap zoneAt READ zoneFeatureMap NOTIFY zonesChanged)
+
+public:
+
+ QtIVIClusterData(QObject *parent=0);
+
+ double vehicleSpeed() const;
+ double latitude() const;
+ double longitude() const;
+ double direction() const;
+ bool flatTire() const;
+ bool doorOpen() const;
+ bool lightFailure() const;
+ bool reverse() const;
+ bool leftTurnLight() const;
+ bool rightTurnLight() const;
+ bool headLight() const;
+ bool parkLight() const;
+ int carId() const;
+ bool brake() const;
+ int engineTemp() const;
+ double oilTemp() const;
+ int oilPressure() const;
+ double batteryPotential() const;
+ double gasLevel() const;
+ int rpm() const;
+ int gear() const;
+
+Q_SIGNALS:
+ void vehicleSpeedChanged(double vehicleSpeed);
+ void latitudeChanged(double latitude);
+ void longitudeChanged(double longitude);
+ void directionChanged(double direction);
+ void flatTireChanged(bool flatTire);
+ void doorOpenChanged(bool doorOpen);
+ void lightFailureChanged(bool lightFailure);
+ void reverseChanged(bool Reverse);
+ void leftTurnLightChanged(bool leftTurnLight);
+ void rightTurnLightChanged(bool rightTurnLight);
+ void headLightChanged(bool headLight);
+ void parkLightChanged(bool parkLight);
+ void carIdChanged(int carId);
+ void brakeChanged(bool brakeOn );
+ void engineTempChanged(int engineTemp);
+ void oilTempChanged(double oilTemp);
+ void oilPressureChanged(int oilPressure);
+ void batteryPotentialChanged(double batteryPotential);
+ void gasLevelChanged(double gasLevel);
+ void rpmChanged(int rpm);
+ void gearChanged(int gear);
+ void zonesChanged();
+
+protected:
+ //TODO This doesn't work for the C++ usecases we should use the constructor there instead
+ // Also this means a qml dependency in the core, do we want that ?
+ virtual void classBegin();
+ virtual void componentComplete();
+
+private Q_SLOTS:
+ void onVehicleSpeedChanged(double vehicleSpeed, const QString &zone);
+ void onLatitudeChanged(double latitude, const QString &zone);
+ void onLongitudeChanged(double longitude, const QString &zone);
+ void onDirectionChanged(double direction, const QString &zone);
+ void onFlatTireChanged(bool flatTire, const QString &zone);
+ void onDoorOpenChanged(bool doorOpen, const QString &zone);
+ void onLightFailureChanged(bool lightFailure, const QString &zone);
+ void onReverseChanged(bool reverse, const QString &zone);
+ void onLeftTurnLightChanged(bool leftTurnLight, const QString &zone);
+ void onRightTurnLightChanged(bool rightTurnLight, const QString &zone);
+ void onHeadLightChanged(bool headLight, const QString &zone);
+ void onParkLightChanged(bool parkLight, const QString &zone);
+ void onCarIdChanged(int carId, const QString &zone);
+ void onBrakeChanged(bool brakeOn, const QString &zone );
+ void onEngineTempChanged(int engineTemp, const QString &zone);
+ void onOilTempChanged(double oilTemp, const QString &zone);
+ void onOilPressureChanged(int oilPressure, const QString &zone);
+ void onBatteryPotentialChanged(double batteryPotential, const QString &zone);
+ void onGasLevelChanged(double gasLevel, const QString &zone);
+ void onRpmChanged(int rpm, const QString &zone);
+ void onGearChanged(int gear, const QString &zone);
+
+protected:
+ // virtual QtIVIAbstractZonedFeature* createZoneFeature(const QString &zone) Q_DECL_OVERRIDE;
+ // QtIVIClusterData* zonedFeature(const QString &zone);
+
+
+private:
+ void connectToServiceObject();
+ QVariantMap zoneFeatureMap() const;
+ void initializeZones();
+ ZonedProperties *zoneAt(const QString &zone) const;
+
+private:
+ //QtIVIClusterDataBackendInterface* clusterDataBackend();
+#ifndef NO_NETWORK
+ ClusterDataBackend *backend;
+#endif
+
+ double m_vehicleSpeed;
+ double m_latitude;
+ double m_longitude;
+ double m_direction;
+ bool m_flatTire;
+ bool m_doorOpen;
+ bool m_lightFailure;
+ bool m_reverse;
+ bool m_leftTurnLight;
+ bool m_rightTurnLight;
+ bool m_headLight;
+ bool m_parkLight;
+ int m_carId;
+ bool m_brake;
+ qint8 m_engineTemp;
+ double m_oilTemp;
+ int m_oilPressure;
+ double m_batteryPotential;
+ double m_gasLevel;
+ int m_rpm;
+ int m_gear;
+
+ QVariantMap m_zoneFeatureMap;
+ QList<ZonedProperties*> m_zoneFeatures;
+ QVariantList m_zoneFeatureList;
+
+};
+
+QT_END_NAMESPACE
+
+#endif // CLUSTERDATA_H