[Frugalware-git] frugal-tweak: *added dbus to daemon
bouleetbil
bouleetbil at frogdev.info
Thu Dec 30 18:29:00 CET 2010
Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=frugal-tweak.git;a=commitdiff;h=8d8b5e2928a32fbd0aa0ea048ba7c2450b25198d
commit 8d8b5e2928a32fbd0aa0ea048ba7c2450b25198d
Author: bouleetbil <bouleetbil at frogdev.info>
Date: Thu Dec 30 18:23:58 2010 +0100
*added dbus to daemon
diff --git a/frugal-tweak-vala/DbusServer.vala b/frugal-tweak-vala/DbusServer.vala
new file mode 100644
index 0000000..6b93483
--- /dev/null
+++ b/frugal-tweak-vala/DbusServer.vala
@@ -0,0 +1,39 @@
+/*
+ *
+ * (C) 2010 bouleetbil <bouleetbil at frogdev.info>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+
+[DBus (name = "org.frugal.tweak")]
+public class DbusServer : Object {
+
+ private int counter;
+
+ public int ping (string msg) {
+ stdout.printf ("%s\n", msg);
+ return counter++;
+ }
+ }
+
+ void on_bus_aquired (DBusConnection conn) {
+ try {
+ conn.register_object ("/org/frugal/tweak", new DbusServer ());
+ } catch (IOError e) {
+ stderr.printf ("Could not register service\n");
+ }
+ }
+
diff --git a/frugal-tweak-vala/daemon.vala b/frugal-tweak-vala/daemon.vala
index 9b401f5..79b1145 100644
--- a/frugal-tweak-vala/daemon.vala
+++ b/frugal-tweak-vala/daemon.vala
@@ -17,6 +17,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
using GLib;
+using DbusServer;
using pacman;
class Deamon : GLib.Object {
@@ -25,7 +26,11 @@ class Deamon : GLib.Object {
public static int main(string[] args) {
Tools.ConsoleDebug("Start Frugalware Tweak Daemon\n");
-
+ //dbus
+ Bus.own_name (BusType.SESSION, "org.frugal.tweak", BusNameOwnerFlags.NONE,
+ on_bus_aquired,
+ () => {},
+ () => stderr.printf ("Could not aquire name\n"));
pacmang2 = new pacman();
UpdateAllDatabase();
@@ -49,3 +54,4 @@ class Deamon : GLib.Object {
}
}
+
diff --git a/frugal-tweak-vala/pacman.vala b/frugal-tweak-vala/pacman.vala
index b2e0db2..0038974 100644
--- a/frugal-tweak-vala/pacman.vala
+++ b/frugal-tweak-vala/pacman.vala
@@ -89,8 +89,10 @@ public class pacman
}
- public void CheckUpdate()
+ public void bool CheckUpdate()
{
+ PM_LIST *i = null;
+
if (pacman_trans_init(Pacman.OptionTrans.TYPE_SYNC, 0, null, null, null) == -1) {
Tools.ConsoleDebug("pacman_trans_init failed \n");
return ;
@@ -110,7 +112,7 @@ public class pacman
{
Tools.ConsoleDebug("Updates are available\n");
//TODO send event
- PM_LIST *i = null;
+
for (i=pacman_list_first(packages);i!=null;i=pacman_list_next(i)) {
PM_SYNCPKG *spkg = pacman_list_getdata (i);
PM_PKG *pkg = pacman_sync_getinfo (spkg, OptionPMSYNC.PKG);
More information about the Frugalware-git
mailing list