Infrastruction modification
[smartthings-infrastructure.git] / ImageCapture / ImageCapture.groovy
1 //Create a class for image capture sensor
2 package ImageCapture
3 import SmartThing.SmartThing
4
5 public class ImageCapture extends SmartThing {
6         // id, label, and display name of the device
7         StringBuilder id = new StringBuilder()
8         StringBuilder label = new StringBuilder()
9         StringBuilder displayName = new StringBuilder()
10         // Features with string values
11         StringBuilder currentImage = new StringBuilder()
12         // Maps from features to values
13         HashMap<String, StringBuilder> deviceValuesMap = new HashMap<String, StringBuilder>()
14
15         ImageCapture(Closure sendEvent, StringBuilder id, StringBuilder label, StringBuilder displayName, StringBuilder currentImage) {
16                 deviceValuesMap = deviceValueSmartThing
17                 idSmartThing = id
18                 labelSmartThing = label
19                 displayNameSmartThing = displayName
20                 sendEventSmartThings = sendEvent
21
22                 // Initialization
23                 this.id = id
24                 this.label = label
25                 this.displayName = displayName
26                 this.currentImage = currentImage
27
28                 deviceValuesMap.put("image", currentImage)
29         }
30
31         def take() {
32                 String tmpID = id.toString()
33                 println("The camera with id:$tmpID is taken a picture!")
34         }
35
36         def take(LinkedHashMap metaData) {
37                 take()
38         }
39
40         // Methods to return values
41         def getCurrentImage() {
42                 return currentImage.toString()
43         }
44 }