Humble Bundle support
[GameHub.git] / src / data / Game.vala
blob595620c8f3c4452830c59d3d696b0ff44603314d
1 using Gtk;
3 namespace GameHub.Data
5 public abstract class Game
7 public GameSource source { get; protected set; }
9 public string id { get; protected set; }
10 public string name { get; protected set; }
12 public string icon { get; protected set; }
13 public string image { get; protected set; }
15 public string custom_info { get; protected set; default = ""; }
17 public virtual async bool is_for_linux(){ return true; }
19 public virtual bool is_installed(){ return false; }
21 public abstract async void install(Utils.DownloadProgress progress = (d, t) => {});
22 public abstract async void run();
24 public static bool is_equal(Game first, Game second)
26 return first == second || (first.source == second.source && first.id == second.id);
29 public abstract class Installer
31 public string id { get; protected set; }
32 public string os { get; protected set; }
33 public string file { get; protected set; }
35 public virtual string name { get { return id; } }