blob: 819bb5942d52a5e187168295064e58c398a801d2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
/* Copyright (C) 2015, Jaguar Land Rover. All Rights Reserved.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifndef CLIMATECONTROL_H
#define CLIMATECONTROL_H
#include <QQuickItem>
class ClimateControl : public QQuickItem
{
Q_OBJECT
Q_DISABLE_COPY(ClimateControl)
Q_PROPERTY(int zone READ getZone WRITE setZone)
Q_PROPERTY(int fanSpeedLevel READ getFanSpeedLevel WRITE setFanSpeedLevel)
Q_PROPERTY(int targetTemperature READ getTargetTemperature WRITE setTargetTemperature)
Q_PROPERTY(bool airConditioning READ getAirConditioning WRITE setAirConditioning)
Q_PROPERTY(bool heater READ getHeater WRITE setHeater)
Q_PROPERTY(int seatHeater READ getSeatHeater WRITE setSeatHeater)
Q_PROPERTY(int seatCooler READ getSeatCooler WRITE setSeatCooler)
Q_PROPERTY(bool airCirculation READ getAirCirculation WRITE setAirCirculation)
Q_PROPERTY(int steeringWheelHeater READ getSteeringWheelHeater WRITE setSteeringWheelHeater)
public:
ClimateControl(QQuickItem *parent = 0);
~ClimateControl();
// Accessor functions.
qint32 getZone();
void setZone(qint32 newZone);
quint16 getFanSpeedLevel();
void setFanSpeedLevel(quint16 newFanSpeedLevel);
qint32 getTargetTemperature();
void setTargetTemperature(qint32 newTargetTemperature);
bool getAirConditioning();
void setAirConditioning(bool newAirConditioning);
bool getHeater();
void setHeater(bool newHeater);
quint8 getSeatHeater();
void setSeatHeater(quint8 newSeatHeater);
quint8 getSeatCooler();
void setSeatCooler(quint8 newSeatCooler);
bool getAirCirculation();
void setAirCirculation(bool newAirCirculation);
quint8 getSteeringWheelHeater();
void setSteeringWheelHeater(quint8 newSteeringWheelHeater);
signals:
// Standard notifiers for property updates.
void zoneChanged();
void fanSpeedLevelChanged();
void targetTemperatureChanged();
void airConditioningChanged();
void heaterChanged();
void seatHeaterChanged();
void seatCoolerChanged();
void airCirculationChanged();
void steeringWheelHeaterChanged();
private:
// Representations of the AMB properties.
qint32 zone;
quint16 fanSpeedLevel;
qint32 targetTemperature;
bool airConditioning;
bool heater;
quint8 seatHeater;
quint8 seatCooler;
bool airCirculation;
quint8 steeringWheelHeater;
//
// D-Bus functionality member variables.
//
// TODO: Make some of this a generic class for use by other plugins.
//
QVariant dbusRead(const char *property);
void dbusWrite(const char *property, QVariant value);
void getSettings();
};
#endif // CLIMATECONTROL_H
|