]> git.ipfire.org Git - thirdparty/snapper.git/commitdiff
- send signal when snapshot metadata is modified
authorArvin Schnell <aschnell@suse.de>
Thu, 4 Oct 2012 13:45:43 +0000 (15:45 +0200)
committerArvin Schnell <aschnell@suse.de>
Thu, 4 Oct 2012 13:45:43 +0000 (15:45 +0200)
server/Client.cc
server/Client.h

index 2115d5f746436d25a0ec80bdc1f3055e0c3aee40..1384c5408ff9245a22831f9c018c6e96e6dc2910 100644 (file)
@@ -143,6 +143,11 @@ Client::introspect(DBus::Connection& conn, DBus::Message& msg)
        "      <arg name='number' type='u'/>\n"
        "    </signal>\n"
 
+       "    <signal name='SnapshotModified'>\n"
+       "      <arg name='config-name' type='s'/>\n"
+       "      <arg name='number' type='u'/>\n"
+       "    </signal>\n"
+
        "    <signal name='SnapshotDeleted'>\n"
        "      <arg name='config-name' type='s'/>\n"
        "      <arg name='number' type='u'/>\n"
@@ -378,6 +383,19 @@ Client::signal_snapshot_created(DBus::Connection& conn, const string& config_nam
 }
 
 
+void
+Client::signal_snapshot_modified(DBus::Connection& conn, const string& config_name,
+                                unsigned int num)
+{
+    DBus::MessageSignal msg(PATH, INTERFACE, "SnapshotModified");
+
+    DBus::Hoho hoho(msg);
+    hoho << config_name << num;
+
+    conn.send(msg);
+}
+
+
 void
 Client::signal_snapshots_deleted(DBus::Connection& conn, const string& config_name,
                                 const list<dbus_uint32_t>& nums)
@@ -641,6 +659,8 @@ Client::set_snapshot(DBus::Connection& conn, DBus::Message& msg)
     DBus::MessageMethodReturn reply(msg);
 
     conn.send(reply);
+
+    signal_snapshot_modified(conn, config_name, snap->getNum());
 }
 
 
index 1ed8697fcd7662d44355d23ba8d9e3bb2a5872ab..6715a1d32d05029ce495520b35a04865ebd381e4 100644 (file)
@@ -75,6 +75,8 @@ public:
     void signal_config_deleted(DBus::Connection& conn, const string& config_name);
     void signal_snapshot_created(DBus::Connection& conn, const string& config_name,
                                 unsigned int num);
+    void signal_snapshot_modified(DBus::Connection& conn, const string& config_name,
+                                 unsigned int num);
     void signal_snapshots_deleted(DBus::Connection& conn, const string& config_name,
                                  const list<dbus_uint32_t>& nums);