{
int ret = MDGD_ERROR_UNKNOWN;
GList *iter = NULL;
+ bool found = FALSE;
+ mdgd_grp_t *grp = NULL;
+ mdgd_context_t *mdgd_ctx = mdgd_context_get_context();
+ mdgd_check_null_ret_error("mdgd_ctx", mdgd_ctx, -1);
+
+ iter = mdgd_ctx->grp_list;
+ while (iter != NULL) {
+ grp = (mdgd_grp_t *)iter->data;
+ if (g_strcmp0(grp->name, name) == 0) {
+ GList *device_iter = grp->device_list;
+ while (device_iter != NULL) {
+ char *device_uuid = (char *)device_iter->data;
+ mdgd_group_eject(name, mdgd_ctx->device_uuid, device_uuid);
+
+ device_iter = g_list_next(device_iter);
+ }
+
+ found = TRUE;
+ break;
+ }
+
+ iter = g_list_next(iter);
+ }
ret = mdgd_iot_delete_resource(MDGD_RESOURCE_TYPE_GROUP, name);
if (ret == MDGD_ERROR_NONE) {
LOG_DEBUG("Successfully destroyed group %s", name);
break;
}
}
+
+ if (found == TRUE)
+ mdgd_ctx->grp_list = g_list_remove(mdgd_ctx->grp_list, grp);
}
return ret;