/* Returns: (transfer full): a #GFile for the given @parse_name. Free the returned object with g_object_unref().  */
GFile* g_vfs_parse_name(GVfs *vfs, const char *parse_name)
/* Returns: (transfer full): a #GFile for the given @parse_name. Free the returned object with g_object_unref().  */
GFile* g_vfs_parse_name(GVfs *vfs, const char *parse_name)
{
  GVfsClass *class;
  g_return_val_if_fail (G_IS_VFS (vfs), NULL);
  g_return_val_if_fail (parse_name != NULL, NULL);
  class = G_VFS_GET_CLASS (vfs);
  if (g_str_has_prefix (parse_name, "resource:"))
    return _g_resource_file_new (parse_name);
  return (* class->parse_name) (vfs, parse_name);
}