// Nbr of object to register int numberObjects=200; DemoServer []myServers; bool SEND_SIGNALS=true; [DBus (name = "net.prx.test")] public class DemoServer : Object { private int counterA; private int counterB; public void sendSignalA(){ if (SEND_SIGNALS){ newSignalA(counterA); } counterA++; } public void sendSignalB(){ if (SEND_SIGNALS){ newSignalB(counterB); } counterB++; } public signal void newSignalA (double value); public signal void newSignalB (double value); } [DBus (name = "net.prx.test")] public errordomain DemoError { SOME_ERROR } void on_bus_aquired (DBusConnection conn) { stdout.printf ("Bus adquired\n"); myServers=new DemoServer[numberObjects]; for (int i=0;i<numberObjects;i++){ try { myServers[i]=new DemoServer (); conn.register_object ("/net/prx/test/"+i.to_string(), myServers[i]); } catch (IOError e) { stderr.printf ("Could not register service\n"); } } Timeout.add (250, () => { for (int i=0;i<numberObjects;i++){ myServers[i].sendSignalA(); } return true; }); Timeout.add (2000, () => { for (int i=0;i<numberObjects;i++){ myServers[i].sendSignalB(); } return true; }); } void on_name_adquired (DBusConnection conn) { stdout.printf("Name adquired"); } void on_name_lost (DBusConnection conn) { stdout.printf("Name lost"); } void main () { Bus.own_name (BusType.SYSTEM, "net.prx.genio.prx", BusNameOwnerFlags.NONE, on_bus_aquired, on_name_adquired, on_name_lost); new MainLoop ().run (); }