return WIDGET_ERROR_NOT_SUPPORTED;
}
- ret = table->update(widget_util_uri_to_path(arg->id), arg->info.update_content.content, arg->info.update_content.force, table->data);
+ if (!arg->id) {
+ /**
+ * Burst Update required. Every instances should be updated for this package.
+ * Find the instance list of given package and then trigger each instance's update_content event callback
+ */
+ Eina_List *l;
+ struct item *inst;
+ int cnt = 0;
+
+ DbgPrint("Burst update is triggerd for [%s]\n", arg->pkgname);
+
+ EINA_LIST_FOREACH(s_info.inst_list, l, inst) {
+ ret = table->update(widget_util_uri_to_path(inst->id), arg->info.update_content.content, arg->info.update_content.force, table->data);
+ DbgPrint("UpdateContent[%s] returns 0x%X\n", widget_util_uri_to_path(inst->id), ret);
+ cnt++;
+ }
+
+ DbgPrint("%d instnaces update function is triggered\n", cnt);
+ ret = cnt > 0 ? WIDGET_ERROR_NONE : WIDGET_ERROR_NOT_EXIST; /** override ret in this case */
+ } else {
+ ret = table->update(widget_util_uri_to_path(arg->id), arg->info.update_content.content, arg->info.update_content.force, table->data);
+ }
+
return ret;
}