mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-26 15:36:14 +01:00
fileinfo: Add _get_deletion_date() helper
For use in gnome-settings-daemon, so that callers don't have to parse the deletion date by hand.
This commit is contained in:
parent
3baf256a2c
commit
f635f1fd16
@ -1439,6 +1439,42 @@ g_file_info_set_attribute_int64 (GFileInfo *info,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Helper getters */
|
/* Helper getters */
|
||||||
|
/**
|
||||||
|
* g_file_info_get_deletion_date:
|
||||||
|
* @info: a #GFileInfo.
|
||||||
|
*
|
||||||
|
* Returns the #GDateTime representing the deletion date of the file, as
|
||||||
|
* available in G_FILE_ATTRIBUTE_TRASH_DELETION_DATE. If the
|
||||||
|
* G_FILE_ATTRIBUTE_TRASH_DELETION_DATE attribute is unset, %NULL is returned.
|
||||||
|
*
|
||||||
|
* Returns: a #GDateTime, or %NULL.
|
||||||
|
*
|
||||||
|
* Since: 2.36
|
||||||
|
**/
|
||||||
|
GDateTime *
|
||||||
|
g_file_info_get_get_deletion_date (GFileInfo *info)
|
||||||
|
{
|
||||||
|
static guint32 attr = 0;
|
||||||
|
GFileAttributeValue *value;
|
||||||
|
const char *date_str;
|
||||||
|
GTimeVal tv;
|
||||||
|
|
||||||
|
g_return_val_if_fail (G_IS_FILE_INFO (info), FALSE);
|
||||||
|
|
||||||
|
if (attr == 0)
|
||||||
|
attr = lookup_attribute (G_FILE_ATTRIBUTE_TRASH_DELETION_DATE);
|
||||||
|
|
||||||
|
value = g_file_info_find_value (info, attr);
|
||||||
|
date_str = _g_file_attribute_value_get_string (value);
|
||||||
|
if (!date_str)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
if (g_time_val_from_iso8601 (date_str, &tv) == FALSE)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
return g_date_time_new_from_timeval_local (&tv);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* g_file_info_get_file_type:
|
* g_file_info_get_file_type:
|
||||||
* @info: a #GFileInfo.
|
* @info: a #GFileInfo.
|
||||||
|
@ -911,6 +911,7 @@ void g_file_info_set_attribute_stringv (GFileInfo *info,
|
|||||||
void g_file_info_clear_status (GFileInfo *info);
|
void g_file_info_clear_status (GFileInfo *info);
|
||||||
|
|
||||||
/* Helper getters: */
|
/* Helper getters: */
|
||||||
|
GDateTime * g_file_info_get_get_deletion_date (GFileInfo *info);
|
||||||
GFileType g_file_info_get_file_type (GFileInfo *info);
|
GFileType g_file_info_get_file_type (GFileInfo *info);
|
||||||
gboolean g_file_info_get_is_hidden (GFileInfo *info);
|
gboolean g_file_info_get_is_hidden (GFileInfo *info);
|
||||||
gboolean g_file_info_get_is_backup (GFileInfo *info);
|
gboolean g_file_info_get_is_backup (GFileInfo *info);
|
||||||
|
@ -423,6 +423,7 @@ g_file_info_set_attribute_int64
|
|||||||
g_file_info_set_attribute_object
|
g_file_info_set_attribute_object
|
||||||
g_file_info_set_attribute_stringv
|
g_file_info_set_attribute_stringv
|
||||||
g_file_info_clear_status
|
g_file_info_clear_status
|
||||||
|
g_file_info_get_get_deletion_date
|
||||||
g_file_info_get_file_type
|
g_file_info_get_file_type
|
||||||
g_file_info_get_is_hidden
|
g_file_info_get_is_hidden
|
||||||
g_file_info_get_is_backup
|
g_file_info_get_is_backup
|
||||||
|
Loading…
Reference in New Issue
Block a user