Add g_file_info_has_namespace

Need this to quickly see if we should set attributes from
this GFileInfo in metadata extension.
This commit is contained in:
Alexander Larsson 2009-06-23 11:29:16 +02:00
parent 0ed9201ad2
commit becf4186e6
3 changed files with 39 additions and 0 deletions

View File

@ -484,6 +484,42 @@ g_file_info_has_attribute (GFileInfo *info,
return value != NULL; return value != NULL;
} }
/**
* g_file_info_has_namespace:
* @info: a #GFileInfo.
* @name_space: a file attribute namespace.
*
* Checks if a file info structure has an attribute in the
* specified @name_space.
*
* Returns: %TRUE if @Ginfo has an attribute in @name_space,
* %FALSE otherwise.
*
* Since: 2.22
**/
gboolean
g_file_info_has_namespace (GFileInfo *info,
const char *name_space)
{
GFileAttribute *attrs;
guint32 ns_id;
int i;
g_return_val_if_fail (G_IS_FILE_INFO (info), FALSE);
g_return_val_if_fail (name_space != NULL, FALSE);
ns_id = lookup_namespace (name_space);
attrs = (GFileAttribute *)info->attributes->data;
for (i = 0; i < info->attributes->len; i++)
{
if (GET_NS (attrs[i].attribute) == ns_id)
return TRUE;
}
return FALSE;
}
/** /**
* g_file_info_list_attributes: * g_file_info_list_attributes:
* @info: a #GFileInfo. * @info: a #GFileInfo.

View File

@ -749,6 +749,8 @@ void g_file_info_copy_into (GFileInfo *src_info,
GFileInfo *dest_info); GFileInfo *dest_info);
gboolean g_file_info_has_attribute (GFileInfo *info, gboolean g_file_info_has_attribute (GFileInfo *info,
const char *attribute); const char *attribute);
gboolean g_file_info_has_namespace (GFileInfo *info,
const char *name_space);
char ** g_file_info_list_attributes (GFileInfo *info, char ** g_file_info_list_attributes (GFileInfo *info,
const char *name_space); const char *name_space);
gboolean g_file_info_get_attribute_data (GFileInfo *info, gboolean g_file_info_get_attribute_data (GFileInfo *info,

View File

@ -377,6 +377,7 @@ g_file_info_new
g_file_info_dup g_file_info_dup
g_file_info_copy_into g_file_info_copy_into
g_file_info_has_attribute g_file_info_has_attribute
g_file_info_has_namespace
g_file_info_list_attributes g_file_info_list_attributes
g_file_info_get_attribute_type g_file_info_get_attribute_type
g_file_info_remove_attribute g_file_info_remove_attribute