+static void __call_update_cb(const char *class_id, const char *id, int force,
+ const char *content_raw);
+
+static gboolean __timeout_cb(gpointer user_data)
+{
+ widget_base_instance_data *data =
+ (widget_base_instance_data *)user_data;
+ appcore_multiwindow_base_instance_h cxt;
+ const char *class_id;
+
+ cxt = appcore_multiwindow_base_instance_find(data->id);
+ if (appcore_multiwindow_base_instance_is_resumed(cxt)) {
+ LOGD("Periodic update!");
+ class_id = appcore_multiwindow_base_instance_get_class_id(cxt);
+ __call_update_cb(class_id, data->id, 0, NULL);
+ } else {
+ data->pending_update = true;
+ if (data->periodic_timer) {
+ LOGD("Remove timer!");
+ g_source_remove(data->periodic_timer);
+ data->periodic_timer = 0;
+ }
+ }
+
+ return G_SOURCE_CONTINUE;
+}