[gnome-games] database: Add DatabaseGame
- From: Alexander Mikhaylenko <alexm src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-games] database: Add DatabaseGame
- Date: Sun, 26 Aug 2018 19:27:24 +0000 (UTC)
commit af74f2c0c07c0241be66497819278ec105b55466
Author: theawless <theawless gmail com>
Date: Sun Aug 26 07:11:31 2018 +0530
database: Add DatabaseGame
This is a wrapper over Game to lazily cache metadata objects.
src/database/database-game.vala | 67 +++++++++++++++++++++++++++++++++++++++++
src/meson.build | 1 +
2 files changed, 68 insertions(+)
---
diff --git a/src/database/database-game.vala b/src/database/database-game.vala
new file mode 100644
index 00000000..fe322f5b
--- /dev/null
+++ b/src/database/database-game.vala
@@ -0,0 +1,67 @@
+// This file is part of GNOME Games. License: GPL-3.0+.
+
+private class Games.DatabaseGame : Object, Game {
+ public string name {
+ get { return game.name; }
+ }
+
+ private Database database;
+ private Game game;
+
+ public DatabaseGame (Database database, Game game) {
+ this.database = database;
+ this.game = game;
+ }
+
+ public Uid get_uid () {
+ return database.get_uid (game.get_uid ());
+ }
+
+ public Icon get_icon () {
+ return game.get_icon ();
+ }
+
+ public Cover get_cover () {
+ return game.get_cover ();
+ }
+
+ public ReleaseDate get_release_date () {
+ return game.get_release_date ();
+ }
+
+ public Cooperative get_cooperative () {
+ return game.get_cooperative ();
+ }
+
+ public Genre get_genre () {
+ return game.get_genre ();
+ }
+
+ public Players get_players () {
+ return game.get_players ();
+ }
+
+ public Developer get_developer () {
+ return database.get_developer (game.get_developer (), get_uid ());
+ }
+
+ public Publisher get_publisher () {
+ return game.get_publisher ();
+ }
+
+ public Description get_description () {
+ return game.get_description ();
+ }
+
+ public Rating get_rating () {
+ return game.get_rating ();
+ }
+
+ public Platform get_platform () {
+ return game.get_platform ();
+ }
+
+ public Runner get_runner () throws Error {
+ return game.get_runner ();
+ }
+}
diff --git a/src/meson.build b/src/meson.build
index c28123ff..6c556d47 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -48,6 +48,7 @@ vala_sources = [
'database/database.vala',
'database/database-developer.vala',
'database/database-error.vala',
+ 'database/database-game.vala',
'database/database-uid.vala',
'database/database-uri-iterator.vala',
'database/database-uri-source.vala',
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]