62a8f96156216ab741977d7c87836500bb02f2bf
[iot2.git] / LightBulb.hpp
1 #ifndef _LIGHTBULB_HPP__
2 #define _LIGHTBULB_HPP__
3 #include <iostream>
4
5 using namespace std;
6
7 class LightBulb
8 {
9         public:
10         virtual void init() = 0;
11         virtual void turnOff() = 0;
12         virtual void turnOn() = 0;
13         virtual bool getState() = 0;
14         virtual void setColor(double _hue, double _saturation, double _brightness) = 0;
15         virtual void setTemperature(int _temperature) = 0;
16         virtual double getBrightness() = 0;
17         virtual double getHue() = 0;
18         virtual double getSaturation() = 0;
19         virtual int getTemperature() = 0;
20         virtual double getBrightnessRangeLowerBound() = 0;
21         virtual double getBrightnessRangeUpperBound() = 0;
22         virtual double getHueRangeLowerBound() = 0;
23         virtual double getHueRangeUpperBound() = 0;
24         virtual double getSaturationRangeLowerBound() = 0;
25         virtual double getSaturationRangeUpperBound() = 0;
26         virtual int getTemperatureRangeLowerBound() = 0;
27         virtual int getTemperatureRangeUpperBound() = 0;
28 };
29 #endif