From 533477c177bc444929e2e3f52fb3992e5bc97407 Mon Sep 17 00:00:00 2001 From: prasadam Date: Fri, 3 Jul 2020 17:19:35 +0530 Subject: [PATCH] Return errors to caller Change-Id: Id915cfb0a495e5176f5575b802ac527d5dfa12b8 Signed-off-by: prasadam --- src/stc-restriction.c | 34 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/src/stc-restriction.c b/src/stc-restriction.c index 47bfee8..7e0e847 100755 --- a/src/stc-restriction.c +++ b/src/stc-restriction.c @@ -307,7 +307,22 @@ gboolean handle_restriction_set(StcRestriction *object, return TRUE; } - stc_plugin_monitor_add_rstn(&rule); + ret = stc_plugin_monitor_add_rstn(&rule); + if (ret == STC_ERROR_UNINITIALIZED) { + STC_RESTRICTION_DBUS_REPLY_ERROR(invocation, //LCOV_EXCL_LINE + STC_ERROR_UNINITIALIZED); + table_restrictions_delete(rule.app_id, rule.iftype, rule.ifname, + rule.subscriber_id, rule.roaming); + __stc_free_restriction_rule_members(&rule); + __STC_LOG_FUNC_EXIT__; //LCOV_EXCL_LINE + return TRUE; + } else if (ret == STC_ERROR_NO_DATA || ret == STC_ERROR_OUT_OF_MEMORY) { + STC_RESTRICTION_DBUS_REPLY_ERROR(invocation, //LCOV_EXCL_LINE + ret); + __stc_free_restriction_rule_members(&rule); + __STC_LOG_FUNC_EXIT__; //LCOV_EXCL_LINE + return TRUE; + } STC_DBUS_REPLY_ERROR_NONE(invocation); __stc_free_restriction_rule_members(&rule); __STC_LOG_FUNC_EXIT__; @@ -355,7 +370,22 @@ gboolean handle_restriction_unset(StcRestriction *object, return TRUE; } - stc_plugin_monitor_remove_rstn(&rule); + ret = stc_plugin_monitor_remove_rstn(&rule); + if (ret == STC_ERROR_UNINITIALIZED) { + STC_RESTRICTION_DBUS_REPLY_ERROR(invocation, //LCOV_EXCL_LINE + STC_ERROR_UNINITIALIZED); + __stc_free_restriction_rule_members(&rule); + __STC_LOG_FUNC_EXIT__; //LCOV_EXCL_LINE + return TRUE; + } else if (ret == STC_ERROR_NO_DATA) { + table_restrictions_update(&rule); + STC_RESTRICTION_DBUS_REPLY_ERROR(invocation, //LCOV_EXCL_LINE + STC_ERROR_NO_DATA); + __stc_free_restriction_rule_members(&rule); + __STC_LOG_FUNC_EXIT__; //LCOV_EXCL_LINE + return TRUE; + } + STC_DBUS_REPLY_ERROR_NONE(invocation); __stc_free_restriction_rule_members(&rule); __STC_LOG_FUNC_EXIT__; -- 2.7.4