Preparing Makefiles, stub, skeleton, config files, etc. for porting LifxLightBulb...
[iot2.git] / localconfig / iotpolicy / LifxLightBulb / lifxlightbulb.pol
1 public interface LightBulb {
2
3         public void init();
4         public void turnOff();
5         public void turnOn();
6         public boolean getState();
7         public void setColor(double _hue, double _saturation, double _brightness);
8         public void setTemperature(int _temperature);
9         public double getBrightness();
10         public double getHue();
11         public double getSaturation();
12         public int getTemperature();
13         public double getBrightnessRangeLowerBound();
14         public double getBrightnessRangeUpperBound();
15         public double getHueRangeLowerBound();
16         public double getHueRangeUpperBound();
17         public double getSaturationRangeLowerBound();
18         public double getSaturationRangeUpperBound();
19         public int getTemperatureRangeLowerBound();
20         public int getTemperatureRangeUpperBound();
21
22         capability Initialize {
23                 description = "Initialize object";
24                 method = "init()";
25         }
26
27         capability Power {
28                 description = "Turn on/off";
29                 method = "turnOff()";
30                 method = "turnOn()";
31                 method = "getState()";
32         }
33
34         capability SetColorProperties {
35                 description = "Get color properties";
36                 method = "setColor(double _hue, double _saturation, double _brightness)";
37                 method = "setTemperature(int _temperature)";
38         }
39
40         capability GetColorProperties {
41                 description = "Set color properties";
42                 method = "getBrightness()";
43                 method = "getHue()";
44                 method = "getSaturation()";
45                 method = "getTemperature()";
46         }
47
48         capability GetColorPropertiesRange {
49                 description = "Get upper and lower bounds of color properties";
50                 method = "setColor(double _hue, double _saturation, double _brightness)";
51                 method = "getBrightnessRangeLowerBound()";
52                 method = "getBrightnessRangeUpperBound()";
53                 method = "getHueRangeLowerBound()";
54                 method = "getHueRangeUpperBound()";
55                 method = "getSaturationRangeLowerBound()";
56                 method = "getSaturationRangeUpperBound()";
57                 method = "getTemperatureRangeLowerBound()";
58                 method = "getTemperatureRangeUpperBound()";
59         }
60 }
61
62