X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=RooProject.vala;h=57e1c01617404e23e3c73d9f9de6e0673e5ac1df;hb=7998c0b9cb03b03cd8d0cb059f2798e6ff607a99;hp=053035ace1efaa7f96f2d9376e3bd30e03aabefd;hpb=0c211b54e2f68f7a21c91ad6bb101f3237876341;p=gitlive diff --git a/RooProject.vala b/RooProject.vala index 053035ac..57e1c016 100644 --- a/RooProject.vala +++ b/RooProject.vala @@ -3,15 +3,20 @@ static RooProject _RooProject; public class RooProject : Object { + static Gee.ArrayList _projects; + static int loadcount = 0; + const string roourl = "https://roojs.com/admin.php/Roo"; + + public static RooProject singleton() { - + if (_RooProject == null) { _RooProject = new RooProject(); - - RooTicket.loadProjects(); + RooProject.loadcount = 0; + RooProject.loadProjects(); } - return _RooTicket; + return _RooProject; } public string id; // not really important that they are numbers.. @@ -19,7 +24,7 @@ public class RooProject : Object public string name; public string type; - static Gee.ArrayList _projects; + public static Gee.ArrayList projects() { RooProject.singleton(); @@ -27,9 +32,8 @@ public class RooProject : Object return RooProject._projects; } - static public RooProject addProject(Json.Object t) + public static RooProject addProject(Json.Object t) { - RooProject.singleton(); // init... var add = new RooProject(); @@ -41,16 +45,21 @@ public class RooProject : Object GLib.debug("ADD project %s : %s : %s", add.id, add.code, add.name); return add; } - void reloadProjects() /// has to be called on singleton.. + + static void reloadProjects() /// has to be called on singleton.. { - + RooProject.loadcount = 0; + RooProject.singleton(); + if (RooProject.loadcount == 0 ) { + RooProject.loadProjects(); + } } static void loadProjects() // called from singleton... { - RooTicket._projects = new Gee.ArrayList(); + RooProject._projects = new Gee.ArrayList(); - + RooProject.loadcount ++; var table = new GLib.HashTable(str_hash, str_equal); table.insert("query[project_filter]","P,N,U"); @@ -89,9 +98,9 @@ public class RooProject : Object var rd = response.get_array_member ("data"); // got a valid result... - var _this = RooTicket.singleton(); + for(var i = 0; i < rd.get_length(); i++) { - _this.addProject(rd.get_object_element(i)); + RooProject.addProject(rd.get_object_element(i)); }