2016-02-04 17:19:21 +01:00
|
|
|
#ifndef HALINTERFACES_H
|
|
|
|
|
#define HALINTERFACES_H
|
|
|
|
|
|
2016-02-24 14:37:48 +01:00
|
|
|
class Hardware
|
2016-02-04 17:19:21 +01:00
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
virtual void setup() = 0;
|
2016-02-24 14:37:48 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
class HardwarePowerConsumption : public Hardware
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
// returns number of pulses from power meter
|
2016-02-04 17:19:21 +01:00
|
|
|
virtual int getConsumption() = 0;
|
2016-02-24 14:37:48 +01:00
|
|
|
virtual void reset() = 0;
|
|
|
|
|
};
|
2016-02-04 17:19:21 +01:00
|
|
|
|
2016-02-24 14:37:48 +01:00
|
|
|
class HardwareTemperature : public Hardware
|
2016-02-04 17:19:21 +01:00
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
virtual int getTemperature() = 0;
|
|
|
|
|
virtual int getHumidity() = 0;
|
2016-02-24 14:37:48 +01:00
|
|
|
};
|
2016-02-04 17:19:21 +01:00
|
|
|
|
2016-02-24 14:37:48 +01:00
|
|
|
class HardwareLight : public Hardware
|
2016-02-04 17:19:21 +01:00
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
virtual void setup() = 0;
|
|
|
|
|
virtual int getLuminosity() = 0;
|
2016-02-24 14:37:48 +01:00
|
|
|
};
|
2016-02-04 17:19:21 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Protocol
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
virtual void setup() = 0;
|
|
|
|
|
virtual void send() = 0;
|
2016-02-24 14:37:48 +01:00
|
|
|
};
|
2016-02-04 17:19:21 +01:00
|
|
|
|
|
|
|
|
#endif // HALINTERFACES_H
|