Removing getXXX methods + properties. Adding getProperty feature to SmartThing(s)
[smartthings-infrastructure.git] / Methods / subscribe.groovy
1 /////////////////////////////////////////////////////////////////////
2 ////subscribe(obj, func)
3 def subscribe(Object obj, Closure FunctionToCall) {
4         if (obj == app) {
5                 objectList.add(obj)
6                 eventList.add("Touched")
7                 valueList.add("")
8                 functionList.add(FunctionToCall)
9         } else if (obj == location) {
10                 objectList.add(obj)
11                 eventList.add("mode")
12                 valueList.add("")
13                 functionList.add(FunctionToCall)
14         }
15 }
16
17 ////subscribe(obj, event, func)
18 def subscribe(Object obj, String event, Closure FunctionToCall) {
19     if (event == "tamper.tampered") {
20        event = "contact"      //This really should be its own name
21     }
22     
23     int dot = event.indexOf('.')
24     String name = ""
25     String value = ""
26     if (dot != -1) {
27       name = event.substring(0, dot)
28       value = event.substring(dot + 1)
29     } else {
30       name = event
31     }
32
33     objectList.add(obj)
34     eventList.add(name)
35     functionList.add(FunctionToCall)
36     valueList.add(value)
37 }
38 ////subscribe(obj, event, nameOfFunc)
39 def subscribe(Object obj, String event, String FunctionToCall) {
40     if (event == "tamper.tampered") {
41        event = "contact"      //This really should be its own name
42     }
43
44     int dot = event.indexOf('.')
45     String name = ""
46     String value = ""
47     if (dot != -1) {
48       name = event.substring(0, dot)
49       value = event.substring(dot + 1)
50     } else {
51       name = event
52     }
53
54     objectList.add(obj)
55     eventList.add(name)
56     functionList.add(FunctionToCall)
57     valueList.add(value)
58 }
59
60 ////subscribe(obj, event, func, data)
61 def subscribe(Object obj, String event, Closure FunctionToCall, LinkedHashMap metaData) {
62         subscribe(obj, event, FunctionToCall)
63 }