Analyzer Queue for checking proper values 98/139098/1
authorJin Yoon <jinny.yoon@samsung.com>
Mon, 17 Jul 2017 09:22:16 +0000 (18:22 +0900)
committerJin Yoon <jinny.yoon@samsung.com>
Mon, 17 Jul 2017 09:22:16 +0000 (18:22 +0900)
Change-Id: I8aee1d840e9bc17ad40593be5b131eca11a7664b

src/connectivity.c
src/control.c

index bce0117..0a2316b 100644 (file)
@@ -88,8 +88,6 @@ static void _observe_cb(iotcon_remote_resource_h resource, iotcon_error_e err, i
        ret_if(IOTCON_ERROR_NONE != ret);
 
        resource_info->cb_info->cb(resource_info, (void *)(int) opened, resource_info->cb_info->user_data);
-       if (opened) _I("[Door] opened.");
-       else _I("[Door] closed.");
 }
 
 static void _response_delete_query(iotcon_remote_resource_h resource, iotcon_response_h response, void *user_data)
index 7fda7f2..643f0fb 100644 (file)
 #include "log.h"
 #include "connectivity.h"
 
+#define MAX_QUEUE_ELEMENTS 20
+
 static void _start_internal_function(void);
 static void _stop_internal_function(void);
 
 void _observe_resource_cb(connectivity_resource_s *resource_info, void *resource_data, void *user_data)
 {
-       int opened = (int) resource_data;
+       int detected = (int) resource_data;
+       static int queue[MAX_QUEUE_ELEMENTS] = { 0, };
+       static int i = 0;
+       int j = 0;
+       int result = 0;
+
+       if (detected) _I("Detected.");
+       else _I("Nothing detected.");
+
+       queue[i++] = detected;
+       if (i == MAX_QUEUE_ELEMENTS) i = 0;
+
+       for (j = 0; j < MAX_QUEUE_ELEMENTS && !result; j++) {
+               result |= queue[j];
+       }
 
-       if (opened) _I("[Door] opened.");
-       else _I("[Door] closed.");
+       _I("Result value is [%d]\n", result);
 }
 
 bool service_app_create(void *data)