return MDGD_ERROR_NONE;
}
-int mdgd_group_destroy(const char* name)
-{
- int ret = MDGD_ERROR_UNKNOWN;
- ret = mdgd_iot_delete_resource(MDGD_RESOURCE_TYPE_GROUP, name);
- if (ret == MDGD_ERROR_NONE)
- LOG_DEBUG("Successfully destroyed group %s", name);
-
- return ret;
-}
-
static void _free_device_func(gpointer data)
{
mdgd_check_null_ret("data", data);
group = NULL;
}
+int mdgd_group_destroy(const char* name)
+{
+ int ret = MDGD_ERROR_UNKNOWN;
+ GList *iter = NULL;
+
+ ret = mdgd_iot_delete_resource(MDGD_RESOURCE_TYPE_GROUP, name);
+ if (ret == MDGD_ERROR_NONE) {
+ LOG_DEBUG("Successfully destroyed group %s", name);
+
+ iter = found_group_list;
+
+ while (iter != NULL) {
+ mdgd_group_t *group = (mdgd_group_t *)iter->data;
+ iter = g_list_next(iter);
+
+ if (group->type == MDGD_GROUP_GROUP_LOCAL &&
+ g_strcmp0(group->group_name, name) == 0) {
+ LOG_DEBUG("Remove %s from found group list", name);
+ found_group_list = g_list_remove(found_group_list, group);
+ _free_group_func(group);
+ break;
+ }
+ }
+ }
+
+ return ret;
+}
+
static void _mot_enb_dev_list_free_func(gpointer data)
{
mdgd_mot_device_t *device = (mdgd_mot_device_t *)data;