[gnome-builder/wip/chergert/perspective] libide: add ide_uri_is_file()
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder/wip/chergert/perspective] libide: add ide_uri_is_file()
- Date: Mon, 16 Nov 2015 05:02:33 +0000 (UTC)
commit d854ed6e9be534bcdf555a1832767677440c479a
Author: Christian Hergert <chergert redhat com>
Date: Sun Nov 15 21:01:15 2015 -0800
libide: add ide_uri_is_file()
This helper makes it convenient to see if IdeUri matches a particular
GFile uri.
libide/ide-uri.c | 25 +++++++++++++++++++++++++
libide/ide-uri.h | 3 +++
2 files changed, 28 insertions(+), 0 deletions(-)
---
diff --git a/libide/ide-uri.c b/libide/ide-uri.c
index fe99126..b3add6a 100644
--- a/libide/ide-uri.c
+++ b/libide/ide-uri.c
@@ -1517,3 +1517,28 @@ ide_uri_new_from_file (GFile *file)
return uri;
}
+
+gboolean
+ide_uri_is_file (IdeUri *uri,
+ GFile *file)
+{
+ gchar *file_uri;
+ gchar *str;
+ gboolean ret;
+
+ g_return_val_if_fail (uri != NULL, FALSE);
+ g_return_val_if_fail (G_IS_FILE (file), FALSE);
+
+ if (uri->host && uri->host [0])
+ return FALSE;
+
+ file_uri = g_file_get_uri (file);
+ str = g_strdup_printf ("%s://%s", uri->scheme ?: "", uri->path ?: "");
+
+ ret = (g_strcmp0 (file_uri, str) == 0);
+
+ g_free (file_uri);
+ g_free (str);
+
+ return ret;
+}
diff --git a/libide/ide-uri.h b/libide/ide-uri.h
index f3508e7..1ac80c1 100644
--- a/libide/ide-uri.h
+++ b/libide/ide-uri.h
@@ -130,6 +130,9 @@ gchar * ide_uri_build (const gchar *scheme,
const gchar *query,
const gchar *fragment);
+gboolean ide_uri_is_file (IdeUri *uri,
+ GFile *file);
+
/**
* IDE_URI_ERROR:
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]