gboolean values_loaded; /* It is true if the file
has been read */
- gboolean modified; /* It is true if the file
- has top be written */
-
guint timeout_id;
GHashTable *items;
{
if (ev_metadata_manager->timeout_id)
return;
+#if GLIB_CHECK_VERSION (2, 13, 5)
+ ev_metadata_manager->timeout_id =
+ g_timeout_add_seconds_full (G_PRIORITY_DEFAULT_IDLE,
+ 2,
+ (GSourceFunc)ev_metadata_manager_save,
+ NULL,
+ NULL);
+#else
ev_metadata_manager->timeout_id =
g_timeout_add_full (G_PRIORITY_DEFAULT_IDLE,
2000, /* 2 sec */
(GSourceFunc)ev_metadata_manager_save,
NULL,
NULL);
+#endif
}
/**
* Creates an EvMetadataManager with default values.
*
* values_loaded -> %FALSE.
- * modified -> %FALSE.
* timeout_id -> the id of the event source.
* items -> a new full empty #GHashTable.
*/
ev_metadata_manager = g_new0 (EvMetadataManager, 1);
ev_metadata_manager->values_loaded = FALSE;
- ev_metadata_manager->modified = FALSE;
ev_metadata_manager->items =
g_hash_table_new_full (g_str_hash,
if (ev_metadata_manager == NULL)
return;
- if (ev_metadata_manager->timeout_id)
+ if (ev_metadata_manager->timeout_id) {
g_source_remove (ev_metadata_manager->timeout_id);
-
- ev_metadata_manager_save (NULL);
+ ev_metadata_manager->timeout_id = 0;
+ ev_metadata_manager_save (NULL);
+ }
if (ev_metadata_manager->items != NULL)
g_hash_table_destroy (ev_metadata_manager->items);
}
item->atime = time (NULL);
- ev_metadata_manager->modified = TRUE;
ev_metadata_arm_timeout ();
return;
}
item->atime = time (NULL);
- ev_metadata_manager->modified = TRUE;
ev_metadata_arm_timeout ();
}
ev_metadata_manager->timeout_id = 0;
- if (!ev_metadata_manager->modified)
- return FALSE;
-
resize_items ();
xmlIndentTreeOutput = TRUE;
xmlFreeDoc (doc);
- ev_metadata_manager->modified = FALSE;
-
return FALSE;
}
-void ev_metadata_arm_timeout(void)
-{
- if (ev_metadata_manager->timeout_id)
- return;
- ev_metadata_manager->timeout_id =
- g_timeout_add_full (G_PRIORITY_DEFAULT_IDLE,
- 2000, /* 2 sec */
- (GSourceFunc)ev_metadata_manager_save,
- NULL,
- NULL);
-}
void
ev_metadata_manager_set_int (const gchar *uri, const gchar *key, int value)
{