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