C
Event Sender: Sending Messages to Applications
// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial
// This file is part of the Qt Safe Renderer module
#ifndef DATACONTROLINTERFACE_H
#define DATACONTROLINTERFACE_H
#include <QObject>
#include <QProcess>
class DataControlInterface : public QObject
{
Q_OBJECT
Q_PROPERTY(double vehicleSpeed READ vehicleSpeed WRITE setVehicleSpeed NOTIFY vehicleSpeedChanged)
Q_PROPERTY(double latitude READ latitude WRITE setLatitude NOTIFY latitudeChanged)
Q_PROPERTY(double longitude READ longitude WRITE setLongitude NOTIFY longitudeChanged)
Q_PROPERTY(double direction READ direction WRITE setDirection NOTIFY directionChanged)
Q_PROPERTY(bool flatTire READ flatTire WRITE setFlatTire NOTIFY flatTireChanged)
Q_PROPERTY(bool frontLeftDoorOpen READ frontLeftDoorOpen WRITE setFrontLeftDoorOpen NOTIFY frontLeftDoorOpenChanged)
Q_PROPERTY(bool frontRightDoorOpen READ frontRightDoorOpen WRITE setFrontRightDoorOpen NOTIFY frontRightDoorOpenChanged)
Q_PROPERTY(bool rearLeftDoorOpen READ rearLeftDoorOpen WRITE setRearLeftDoorOpen NOTIFY rearLeftDoorOpenChanged)
Q_PROPERTY(bool rearRightDoorOpen READ rearRightDoorOpen WRITE setRearRightDoorOpen NOTIFY rearRightDoorOpenChanged)
Q_PROPERTY(bool lightFailure READ lightFailure WRITE setLightFailure NOTIFY lightFailureChanged)
Q_PROPERTY(bool trunkOpen READ trunkOpen WRITE setTrunkOpen NOTIFY trunkOpenChanged)
Q_PROPERTY(bool hoodOpen READ hoodOpen WRITE setHoodOpen NOTIFY hoodOpenChanged)
Q_PROPERTY(int gear READ gear WRITE setGear NOTIFY gearChanged)
Q_PROPERTY(bool leftTurnLight READ leftTurnLight WRITE setLeftTurnLight NOTIFY leftTurnLightChanged)
Q_PROPERTY(bool rightTurnLight READ rightTurnLight WRITE setRightTurnLight NOTIFY rightTurnLightChanged)
Q_PROPERTY(bool headLight READ headLight WRITE setHeadLight NOTIFY headLightChanged)
Q_PROPERTY(bool parkLight READ parkLight WRITE setParkLight NOTIFY parkLightChanged)
Q_PROPERTY(int carId READ carId WRITE setCarId NOTIFY carIdChanged)
Q_PROPERTY(bool hazardSignal READ hazardSignal WRITE setHazardSignal NOTIFY hazardSignalChanged)
Q_PROPERTY(bool brake READ brake WRITE setBrake NOTIFY brakeChanged)
Q_PROPERTY(double oilTemp READ oilTemp WRITE setOilTemp NOTIFY oilTempChanged)
Q_PROPERTY(int oilPressure READ oilPressure WRITE setOilPressure NOTIFY oilPressureChanged)
Q_PROPERTY(double batteryPotential READ batteryPotential WRITE setBatteryPotential NOTIFY batteryPotentialChanged)
Q_PROPERTY(double gasLevel READ gasLevel WRITE setGasLevel NOTIFY gasLevelChanged)
Q_PROPERTY(int rpm READ rpm WRITE setRpm NOTIFY rpmChanged)
Q_PROPERTY(int engineTemp READ engineTemp WRITE setEngineTemp NOTIFY engineTempChanged)
Q_PROPERTY(bool crashArg READ crashArg WRITE setCrash NOTIFY crashChanged)
public:
DataControlInterface(QObject *parent) :
QObject(parent),
m_carId(1),
m_gear(0),
m_lightFailure(false),
m_flatTire(false),
m_direction(0.0),
m_longitude(0.0),
m_latitude(0.0),
m_vehicleSpeed(0.0),
m_oilTemp(0.0),
m_oilPressure(0),
m_batteryPotential(80.0),
m_gasLevel(67.0),
m_rpm(4000),
m_engineTemp(60.0),
m_crash(false)
{}
virtual int carId() const = 0;
virtual bool headLight() const = 0;
virtual bool parkLight() const = 0;
virtual bool rightTurnLight() const = 0;
virtual bool leftTurnLight() const = 0;
virtual int gear() const = 0;
virtual bool lightFailure() const = 0;
virtual bool frontLeftDoorOpen() const = 0;
virtual bool frontRightDoorOpen() const = 0;
virtual bool rearLeftDoorOpen() const = 0;
virtual bool rearRightDoorOpen() const = 0;
virtual bool hoodOpen() const = 0;
virtual bool trunkOpen() const = 0;
virtual bool flatTire() const = 0;
virtual double direction() const = 0;
virtual double longitude() const = 0;
virtual double latitude() const = 0;
virtual double vehicleSpeed() const = 0;
virtual bool hazardSignal() const = 0;
virtual bool brake() const = 0;
virtual double oilTemp() const = 0;
virtual int oilPressure() const = 0;
virtual double batteryPotential() const = 0;
virtual double gasLevel() const = 0;
virtual int rpm() const = 0;
virtual int engineTemp() const = 0;
virtual bool crashArg() const = 0;
public slots:
virtual void setVehicleSpeed(double vehicleSpeed) = 0;
virtual void setLatitude(double latitude) = 0;
virtual void setLongitude(double longitude) = 0;
virtual void setDirection(double direction) = 0;
virtual void setFlatTire(bool flatTire) = 0;
virtual void setFrontLeftDoorOpen(bool doorOpen) = 0;
virtual void setFrontRightDoorOpen(bool doorOpen) = 0;
virtual void setRearLeftDoorOpen(bool doorOpen) = 0;
virtual void setRearRightDoorOpen(bool doorOpen) = 0;
virtual void setHoodOpen(bool doorOpen) = 0;
virtual void setTrunkOpen(bool doorOpen) = 0;
virtual void setLightFailure(bool lightFailure) = 0;
virtual void setGear(int gear) = 0;
virtual void setLeftTurnLight(bool leftTurnLight) = 0;
virtual void setRightTurnLight(bool rightTurnLight) = 0;
virtual void setHeadLight(bool headLight) = 0;
virtual void setParkLight(bool parkLight) = 0;
virtual void setCarId(int carId) = 0;
virtual void setHazardSignal(bool) = 0;
virtual void setBrake(bool) = 0;
virtual void setOilTemp(double oilTemp) = 0;
virtual void setOilPressure(int oilPressure) = 0;
virtual void setBatteryPotential(double batteryPotential) = 0;
virtual void setGasLevel(double gasLevel) = 0;
virtual void setRpm(int rpm) = 0;
virtual void setEngineTemp(int engineTemp) = 0;
virtual void setCrash(bool crashArg) = 0;
signals:
void dataReset();
void carIdChanged(int carId);
void headLightChanged(bool headLight);
void parkLightChanged(bool parkLight);
void rightTurnLightChanged(bool rightTurnLight);
void leftTurnLightChanged(bool leftTurnLight);
void gearChanged(bool gear);
void lightFailureChanged(bool lightFailure);
void frontLeftDoorOpenChanged(bool doorOpen);
void frontRightDoorOpenChanged(bool doorOpen);
void rearLeftDoorOpenChanged(bool doorOpen);
void rearRightDoorOpenChanged(bool doorOpen);
void hoodOpenChanged(bool doorOpen);
void trunkOpenChanged(bool doorOpen);
void flatTireChanged(bool flatTire);
void directionChanged(double direction);
void longitudeChanged(double longitude);
void latitudeChanged(double latitude);
void vehicleSpeedChanged(double vehicleSpeed);
void hazardSignalChanged(bool hazard);
void brakeChanged(bool brakeOn);
void oilTempChanged(double oilTemp);
void oilPressureChanged(int oilPressure);
void batteryPotentialChanged(double batteryPotential);
void gasLevelChanged(double gasLevel);
void rpmChanged(int rpm);
void engineTempChanged(int engineTemp);
void stringListChanged();
void crashChanged(bool crashArg);
protected:
int m_carId;
int m_gear;
bool m_lightFailure;
bool m_flatTire;
double m_direction;
double m_longitude;
double m_latitude;
double m_vehicleSpeed;
double m_oilTemp;
int m_oilPressure;
double m_batteryPotential;
double m_gasLevel;
int m_rpm;
int m_engineTemp;
bool m_crash;
};
#endif // DATACONTROLINTERFACE_H