mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-02-26 12:12:10 +01:00
Bug 535159 - g_file_has_parent
- add a g_file_has_parent() function as a wrapper around g_file_get_parent()
This commit is contained in:
parent
ba0a6e1911
commit
983a717fa6
@ -86,6 +86,7 @@ g_file_get_path
|
|||||||
g_file_get_uri
|
g_file_get_uri
|
||||||
g_file_get_parse_name
|
g_file_get_parse_name
|
||||||
g_file_get_parent
|
g_file_get_parent
|
||||||
|
g_file_has_parent
|
||||||
g_file_get_child
|
g_file_get_child
|
||||||
g_file_get_child_for_display_name
|
g_file_get_child_for_display_name
|
||||||
g_file_has_prefix
|
g_file_has_prefix
|
||||||
|
43
gio/gfile.c
43
gio/gfile.c
@ -653,6 +653,49 @@ g_file_get_parent (GFile *file)
|
|||||||
return (* iface->get_parent) (file);
|
return (* iface->get_parent) (file);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* g_file_has_parent:
|
||||||
|
* @file: input #GFile
|
||||||
|
* @parent: the parent to check for, or %NULL
|
||||||
|
*
|
||||||
|
* Checks if @file has a parent, and optionally, if it is @parent.
|
||||||
|
*
|
||||||
|
* If @parent is %NULL then this function returns %TRUE if @file has any
|
||||||
|
* parent at all. If @parent is non-%NULL then %TRUE is only returned
|
||||||
|
* if @file is a child of @parent.
|
||||||
|
*
|
||||||
|
* Returns: %TRUE if @file is a child of @parent (or any parent in the
|
||||||
|
* case that @parent is %NULL).
|
||||||
|
*
|
||||||
|
* Since: 2.24
|
||||||
|
**/
|
||||||
|
gboolean
|
||||||
|
g_file_has_parent (GFile *file,
|
||||||
|
GFile *parent)
|
||||||
|
{
|
||||||
|
GFile *actual_parent;
|
||||||
|
gboolean result;
|
||||||
|
|
||||||
|
g_return_val_if_fail (G_IS_FILE (file), FALSE);
|
||||||
|
g_return_val_if_fail (parent == NULL || G_IS_FILE (parent), FALSE);
|
||||||
|
|
||||||
|
actual_parent = g_file_get_parent (file);
|
||||||
|
|
||||||
|
if (actual_parent != NULL)
|
||||||
|
{
|
||||||
|
if (parent != NULL)
|
||||||
|
result = g_file_equal (parent, actual_parent);
|
||||||
|
else
|
||||||
|
result = TRUE;
|
||||||
|
|
||||||
|
g_object_unref (actual_parent);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
result = FALSE;
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* g_file_get_child:
|
* g_file_get_child:
|
||||||
* @file: input #GFile.
|
* @file: input #GFile.
|
||||||
|
@ -560,6 +560,8 @@ char * g_file_get_path (GFile
|
|||||||
char * g_file_get_uri (GFile *file);
|
char * g_file_get_uri (GFile *file);
|
||||||
char * g_file_get_parse_name (GFile *file);
|
char * g_file_get_parse_name (GFile *file);
|
||||||
GFile * g_file_get_parent (GFile *file);
|
GFile * g_file_get_parent (GFile *file);
|
||||||
|
gboolean g_file_has_parent (GFile *file,
|
||||||
|
GFile *parent);
|
||||||
GFile * g_file_get_child (GFile *file,
|
GFile * g_file_get_child (GFile *file,
|
||||||
const char *name);
|
const char *name);
|
||||||
GFile * g_file_get_child_for_display_name (GFile *file,
|
GFile * g_file_get_child_for_display_name (GFile *file,
|
||||||
|
@ -257,6 +257,7 @@ g_file_get_path
|
|||||||
g_file_get_uri
|
g_file_get_uri
|
||||||
g_file_get_parse_name
|
g_file_get_parse_name
|
||||||
g_file_get_parent
|
g_file_get_parent
|
||||||
|
g_file_has_parent
|
||||||
g_file_get_child
|
g_file_get_child
|
||||||
g_file_get_child_for_display_name
|
g_file_get_child_for_display_name
|
||||||
g_file_has_prefix
|
g_file_has_prefix
|
||||||
|
Loading…
x
Reference in New Issue
Block a user