X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=ImageCapture%2FImageCapture.groovy;h=a8ab0ee19e7c63c9ef025db35ccd2edee5394cab;hb=d0b538d93e64c63d2673796db08570953b57f947;hp=0672e60cf63d1d732fe87108c05a3b8bacc6c9d8;hpb=2932def9bb947d617975235763f7338360f0e5a4;p=smartthings-infrastructure.git diff --git a/ImageCapture/ImageCapture.groovy b/ImageCapture/ImageCapture.groovy index 0672e60..a8ab0ee 100644 --- a/ImageCapture/ImageCapture.groovy +++ b/ImageCapture/ImageCapture.groovy @@ -1,45 +1,44 @@ //Create a class for image capture sensor package ImageCapture -import Timer.SimulatedTimer +import SmartThing.SmartThing -public class ImageCapture { - private String id - private String label - private String displayName - private String image - private String alarmState - def timers +public class ImageCapture extends SmartThing { + // id, label, and display name of the device + StringBuilder id = new StringBuilder() + StringBuilder label = new StringBuilder() + StringBuilder displayName = new StringBuilder() + // Features with string values + StringBuilder currentImage = new StringBuilder() + // Maps from features to values + HashMap deviceValuesMap = new HashMap() - ImageCapture(String id, String label, String displayName, String image, String alarmState) { + ImageCapture(Closure sendEvent, StringBuilder id, StringBuilder label, StringBuilder displayName, StringBuilder currentImage) { + deviceValuesMap = deviceValueSmartThing + idSmartThing = id + labelSmartThing = label + displayNameSmartThing = displayName + sendEventSmartThings = sendEvent + + // Initialization this.id = id this.label = label this.displayName = displayName - this.image = image - this.alarmState = alarmState - this.timers = new SimulatedTimer() - } - - def alarmOn() { - if (alarmState != "armed") { - println("The camera with id:$id is armed!") - this.alarmState = "armed" - } - } + this.currentImage = currentImage - def alarmOff() { - if (alarmState != "not armed") { - println("The camera with id:$id is not armed!") - this.alarmState = "not armed" - } + deviceValuesMap.put("image", currentImage) } def take() { - println("The camera with id:$id is taken a picture!") + String tmpID = id.toString() + println("The camera with id:$tmpID is taken a picture!") } def take(LinkedHashMap metaData) { - def task = timers.runAfter(metaData["delay"]) { - println("The camera with id:$id is taken a picture!") - } + take() + } + + // Methods to return values + def getCurrentImage() { + return currentImage.toString() } }