ret_if(NULL == user_state);
+ /** Block user callback if environmental callback already sent*/
+ if (monitor->env_user_cb_sent) {
+ UA_DBG("Environmental User presence cb already sent");
+ FUNC_EXIT;
+ return;
+ }
+
ua_user_h user_handle = _ua_get_user_handle_by_account(
user_state->account);
/**
}
if (monitor->presence_user_cb.callback) {
+ __ua_monitor_send_env_user_presence_cb(monitor);
for (l1 = monitor->user_state; NULL != l1; l1 = g_slist_next(l1)) {
ua_user_state_info_s *user_state = l1->data;
__ua_monitor_send_user_presence_cb(monitor, user_state);
}
}
- __ua_monitor_send_env_user_presence_cb(monitor);
}
monitor->presence_detected_bitmask = 0;
}
if (!account) {
+ __ua_monitor_send_env_user_presence_cb(monitor);
for (l1 = monitor->user_state; NULL != l1; l1 = g_slist_next(l1)) {
ua_user_state_info_s *user_state = l1->data;
__ua_monitor_send_user_presence_cb(monitor, user_state);
}
}
- __ua_monitor_send_env_user_presence_cb(monitor);
}
FUNC_EXIT;