Section: unknown
Priority: extra
Maintainer: Enrico Zini <enrico@enricozini.org>
-Build-Depends: debhelper (>= 7), autotools-dev, valac, libglib2.0-dev, libdbus-glib-1-dev, libgee-dev, libgtk2.0-dev, libwnck-dev, libdevkit-power-gobject-dev
+Build-Depends: debhelper (>= 7), autotools-dev, valac, libglib2.0-dev, libdbus-glib-1-dev, libgtk2.0-dev, libwnck-dev, libdevkit-power-gobject-dev
Standards-Version: 3.8.3
Homepage: http://git.debian.org/?p=users/enrico/zavai.git
set(zavai_version 0.1)
-set(packages gtk+-2.0 gee-1.0 dbus-glib-1>=0.80 libwnck-1.0>=2.26.0 devkit-power-gobject>=010 libomhacks)
+set(packages gtk+-2.0 dbus-glib-1>=0.80 libwnck-1.0>=2.26.0 devkit-power-gobject>=010 libomhacks)
add_packages(ZAVAI ${packages})
set(VALA_PACKAGES ${packages} posix linux-input dbus-extra gtkfisheyelist)
public signal void toggled(bool new_state);
- protected Gee.HashMap<string, int> requests;
+ protected class Request
+ {
+ public string requestor;
+ public int count;
+ public Request(string requestor)
+ {
+ this.requestor = requestor;
+ count = 1;
+ }
+ }
+
+ protected List<Request> requests;
construct
{
- requests = new Gee.HashMap<string, int>(str_hash, str_equal);
+ requests = null;
zavai.registry.register(this);
}
*/
public bool request(string id)
{
- bool res = (requests.size == 0);
- if (id in requests)
- requests[id] = requests[id] + 1;
- else
- requests.set(id, 1);
+ bool res = (requests == null);
+ bool got = false;
+ for (weak List<Request> i = requests; i != null; i = i.next)
+ if (i.data.requestor == id)
+ {
+ ++i.data.count;
+ got = true;
+ break;
+ }
+ if (!got)
+ requests.prepend(new Request(id));
if (res) start();
return res;
}
*/
public bool release(string id)
{
- if (id in requests)
- {
- if (requests[id] > 1)
- requests[id] = requests[id] - 1;
- else
- requests.remove(id);
- } else {
+ weak List<Request> el = null;
+ for (weak List<Request> i = requests; i != null; i = i.next)
+ if (i.data.requestor == id)
+ {
+ el = i;
+ break;
+ }
+
+ if (el == null)
return false;
- }
- if (requests.size > 0)
+
+ requests.delete_link(el);
+
+ if (requests != null)
return false;
+
stop();
return true;
}
zavai.config.argv0 = args[0];
zavai.registry = new zavai.Registry();
-stderr.printf("MI 1\n");
zavai.main.init();
// Additional infrastructure
-stderr.printf("MI 2\n");
zavai.input.init();
-stderr.printf("MI 3\n");
zavai.gps.init();
-stderr.printf("MI 4\n");
zavai.gsm.init();
-stderr.printf("MI 5\n");
zavai.audio.init();
-stderr.printf("MI 6\n");
zavai.clock.init();
/*
*/
// User interface
-stderr.printf("MI 7\n");
zavai.ui.main.init();
-stderr.printf("MI 8\n");
zavai.ui.gps.init();
-stderr.printf("MI 9\n");
zavai.ui.gsm.init();
-stderr.printf("MI 10\n");
zavai.app.run_script(zavai.config.homedir + "/display init");
-stderr.printf("MI 11\n");
zavai.ui.power.init();
-stderr.printf("MI 12\n");
zavai.ui.kbd.init();
-stderr.printf("MI 13\n");
zavai.ui.wm.init();
-stderr.printf("MI 14\n");
zavai.ui.calendar.init();
-stderr.printf("MI 15\n");
zavai.ui.debug.init();
//zavai.app.show_applet("menu.main");