[gnome-games/wip/aplazas/run-uri: 2/4] core: Add GenericMimeTypeUriTest
- From: Adrien Plazas <aplazas src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-games/wip/aplazas/run-uri: 2/4] core: Add GenericMimeTypeUriTest
- Date: Wed, 12 Apr 2017 06:53:33 +0000 (UTC)
commit dd0ae391f45b6623635178854141dc1a25e18f61
Author: Adrien Plazas <kekun plazas laposte net>
Date: Wed Apr 12 06:48:49 2017 +0200
core: Add GenericMimeTypeUriTest
This will be used in the next commits to test the MIME-type (if any) of
URIs of potential games.
src/Makefile.am | 1 +
src/generic/generic-mime-type-uri-test.vala | 26 ++++++++++++++++++++++++++
2 files changed, 27 insertions(+), 0 deletions(-)
---
diff --git a/src/Makefile.am b/src/Makefile.am
index eee5500..99345b9 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -82,6 +82,7 @@ gnome_games_SOURCES = \
gamepad/standard-gamepad-button.vala \
\
generic/generic-game.vala \
+ generic/generic-mime-type-uri-test.vala \
generic/generic-sync-game-uri-adapter.vala \
generic/generic-title.vala \
generic/generic-uid.vala \
diff --git a/src/generic/generic-mime-type-uri-test.vala b/src/generic/generic-mime-type-uri-test.vala
new file mode 100644
index 0000000..fb115b3
--- /dev/null
+++ b/src/generic/generic-mime-type-uri-test.vala
@@ -0,0 +1,26 @@
+// This file is part of GNOME Games. License: GPL-3.0+.
+
+public class Games.GenericMimeTypeUriTest : UriTest, Object {
+ public delegate Game GameForUri (string uri) throws Error;
+
+ private string mime_type;
+
+ public GenericMimeTypeUriTest (string mime_type) {
+ this.mime_type = mime_type;
+ }
+
+ public bool is_uri_valid (string uri) {
+ var file = File.new_for_uri (uri);
+ try {
+ var info = file.query_info ("standard::content-type", FileQueryInfoFlags.NONE);
+ var actual_type = info.get_content_type ();
+
+ return ContentType.is_a (actual_type, mime_type);
+ }
+ catch (Error e) {
+ debug (e.message);
+
+ return false;
+ }
+ }
+}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]