72e5afd419614b5789683d8960a4d17ca8cd76e8
[smartthings-infrastructure.git] / AeonKeyFob / AeonKeyFob.groovy
1 //Create a class for aeon key fob
2 package AeonKeyFob
3 import Timer.SimulatedTimer
4
5 //JPF's Verify API
6 import gov.nasa.jpf.vm.Verify
7
8 public class AeonKeyFob {
9         private String id
10         private String label
11         private String displayName
12
13         AeonKeyFob(String id, String label, String displayName) {
14                 this.id = id
15                 this.label = label
16                 this.displayName = displayName
17         }
18
19         def setValue(LinkedHashMap eventDataMap) {
20                 def data = eventDataMap["data"]
21                 def value = eventDataMap["value"]
22                 println("the button with number $data is $value!")
23         }
24
25         def eventsSince() {
26                 def evtHeld = [[name: "button", value: "held", deviceId: "aeonKeyFobID0", descriptionText: "",
27                                 displayed: true, linkText: "", isStateChange: false, unit: "", data: '{"info": "info"}']]
28                 def evtPushed = [[name: "button", value: "pushed", deviceId: "aeonKeyFobID0", descriptionText: "",
29                                   displayed: true, linkText: "", isStateChange: false, unit: "", data: '{"info": "info"}']]
30                 def init = Verify.getInt(0,4)
31                 def evtToSend = []
32                 if (init == 0) {//return empty set
33                         return evtToSend
34                 } else if (init == 1) {//send one held event
35                         evtHeld.each{
36                                 evtToSend.add(it)
37                         }
38                         return evtToSend
39                 } else if (init == 2) {//send two held events
40                         evtHeld.each{
41                                 evtToSend.add(it)
42                         }
43                         evtHeld.each{
44                                 evtToSend.add(it)
45                         }
46                         return evtToSend
47                 } else if (init == 3) {//send one pushed event
48                         evtPushed.each{
49                                 evtToSend.add(it)
50                         }
51                         return evtToSend
52                 } else if (init == 4) {//send two pushed events
53                         evtPushed.each{
54                                 evtToSend.add(it)
55                         }
56                         evtPushed.each{
57                                 evtToSend.add(it)
58                         }
59                         return evtToSend
60                 }
61         }
62 }