Modify monitoring logic
authoryoungman <yman.jung@samsung.com>
Wed, 4 Nov 2015 06:46:01 +0000 (15:46 +0900)
committerYoungjae Shin <yj99.shin@samsung.com>
Thu, 5 Nov 2015 00:50:31 +0000 (09:50 +0900)
Change-Id: Id9a9dbb102c67f554424e2492f7b8dddf69096b0
Signed-off-by: youngman <yman.jung@samsung.com>
lib/icl-remote-resource-monitoring.c
lib/include/iotcon-client.h

index d942347..548fb03 100644 (file)
@@ -75,6 +75,7 @@ static gboolean _monitoring_get_timer(gpointer user_data)
 static void _monitoring_presence_cb(iotcon_presence_h presence, iotcon_error_e err,
                iotcon_presence_response_h response, void *user_data)
 {
+       int ret, result, trigger;
        unsigned int get_timer_id;
        iotcon_remote_resource_h resource = user_data;
 
@@ -82,6 +83,23 @@ static void _monitoring_presence_cb(iotcon_presence_h presence, iotcon_error_e e
        RET_IF(NULL == resource->monitoring_handle);
        RETM_IF(IOTCON_ERROR_NONE != err, "_monitoring_presence() Fail(%d)", err);
 
+       ret = iotcon_presence_response_get_result(response, &result);
+       if (IOTCON_ERROR_NONE != ret) {
+               ERR("iotcon_presence_response_get_result() Fail(%d)", ret);
+               return;
+       }
+
+       if (IOTCON_PRESENCE_OK == result) {
+               ret = iotcon_presence_response_get_trigger(response, &trigger);
+               if (IOTCON_ERROR_NONE != ret) {
+                       ERR("iotcon_presence_response_get_trigger() Fail(%d)", ret);
+                       return;
+               }
+
+               if (IOTCON_PRESENCE_TRIGGER_RESOURCE_DESTROYED != trigger)
+                       return;
+       }
+
        g_source_remove(resource->monitoring_handle->get_timer_id);
 
        _monitoring_get_timer(resource);
index 3a2e0ff..0bd8157 100644 (file)
@@ -104,7 +104,7 @@ int iotcon_add_presence_cb(const char *host_address,
 /**
  * @brief Removes callback to a server's presence events.
  * @details Request not to receive server's presence any more.
/*
+ *
  * @since_tizen 3.0
  * @privlevel public
  * @privilege %http://tizen.org/privilege/internet