Solving conflicts
[smartthings-infrastructure.git] / ImageCapture / ImageCaptures.groovy
index 661e87071817dcfe68ff1051c509ff03890e54ab..05880352588f563ef1d425ddd71f4f0a1da5e165 100644 (file)
@@ -2,9 +2,6 @@
 package ImageCapture
 import Timer.SimulatedTimer
 
-//JPF's Verify API
-import gov.nasa.jpf.vm.Verify
-
 public class ImageCaptures {
        private int deviceNumbers
        private List imageCaptureSensors
@@ -18,13 +15,12 @@ public class ImageCaptures {
        private String alarmState = "armed"
 
                
-       ImageCaptures(Closure sendEvent, int deviceNumbers) {
+       ImageCaptures(Closure sendEvent, int deviceNumbers, boolean init) {
                this.sendEvent = sendEvent              
                this.deviceNumbers = deviceNumbers
                this.imageCaptureSensors = []
 
-               def initAlarm = Verify.getBoolean()
-               if (initAlarm) {
+               if (init) {
                        this.alarmState = "armed"
                } else {
                        this.alarmState = "not armed"
@@ -46,27 +42,35 @@ public class ImageCaptures {
        def find(Closure Input) {
                imageCaptureSensors.find(Input)
        }
+       def sort(Closure Input) {
+               imageCaptureSensors.sort(Input)
+       }
        def collect(Closure Input) {
                imageCaptureSensors.collect(Input)
        }
 
        def alarmOn() {
                if (alarmState != "armed") {
-                       imageCaptureSensors[0].alarmOn()
                        this.alarmState = "armed"
+                       imageCaptureSensors[0].alarmOn()
                }
        }
 
        def alarmOff() {
                if (alarmState != "not armed") {
-                       imageCaptureSensors[0].alarmOff()
                        this.alarmState = "not armed"
+                       imageCaptureSensors[0].alarmOff()
                }
        }
 
        def take() {
                imageCaptureSensors[0].take()
        }
+
+       def take(LinkedHashMap metaData) {
+               imageCaptureSensors[0].take(metaData)
+       }
+
        def getAt(int ix) {
                imageCaptureSensors[ix]
        }