Fixing bug in Mobile Presence class
[smartthings-infrastructure.git] / Methods / runIn.groovy
index 3816599fd3758d9e0a6a7fb612b3538a7867efd1..1ca8d95b239c0f37d7e1de4ee42f862272bc8e75 100644 (file)
@@ -1,7 +1,30 @@
 /////////////////////////////////////////////////////////////////////
 ////runIn(time, func)
 def runIn(int seconds, Closure functionToCall) {
-       timersFuncList.add(functionToCall)
-       timersList.add(new Timer())
-       def task = timersList[-1].runAfter(1000*seconds, functionToCall)
+       /*if (timersFuncList.contains(functionToCall)) {
+               timersList[timersFuncList.indexOf(functionToCall)].cancel()
+               def task = timersList[timersFuncList.indexOf(functionToCall)].runAfter(1000*seconds*0, functionToCall)
+       } else {
+               timersFuncList.add(functionToCall)
+               timersList.add(new SimulatedTimer())
+               def task = timersList[timersFuncList.indexOf(functionToCall)].runAfter(1000*seconds*0, functionToCall)
+       }*/
+       functionToCall()
+}
+
+def runIn(int seconds, Closure functionToCall, LinkedHashMap metaData) {
+       runIn(seconds, functionToCall)
+}
+
+def runIn(int seconds, String nameOfFunction, LinkedHashMap metaData) {
+       runIn(seconds, nameOfFunction)
+}
+
+def runIn(int seconds, String nameOfFunction) {
+       /*timersFuncList.add(nameOfFunction)
+       timersList.add(new SimulatedTimer())
+       def task = timersList[timersFuncList.indexOf(nameOfFunction)].runAfter(seconds*1000*0) {
+               "$nameOfFunction"()
+       }*/
+       "$nameOfFunction"()
 }