[ekiga] Made the Ekiga::PresenceCore an Ekiga::LiveObject, and making it emit "updated" more often



commit 6790f885df10ab356a6402742ecc2d44446df384
Author: Snark <jpuydt gnome org>
Date:   Thu Feb 10 15:58:24 2011 +0100

    Made the Ekiga::PresenceCore an Ekiga::LiveObject, and making it emit "updated" more often
    
    This fixes bug #641954.

 lib/engine/presence/presence-core.cpp |    3 +++
 lib/engine/presence/presence-core.h   |   10 ++++++----
 2 files changed, 9 insertions(+), 4 deletions(-)
---
diff --git a/lib/engine/presence/presence-core.cpp b/lib/engine/presence/presence-core.cpp
index 2e7d5a8..93de347 100644
--- a/lib/engine/presence/presence-core.cpp
+++ b/lib/engine/presence/presence-core.cpp
@@ -58,6 +58,7 @@ Ekiga::PresenceCore::add_cluster (ClusterPtr cluster)
 {
   clusters.insert (cluster);
   cluster_added (cluster);
+  conns.push_back (cluster->updated.connect (boost::ref (updated)));
   conns.push_back (cluster->heap_added.connect (boost::bind (&Ekiga::PresenceCore::on_heap_added, this, _1, cluster)));
   conns.push_back (cluster->heap_updated.connect (boost::bind (&Ekiga::PresenceCore::on_heap_updated, this, _1, cluster)));
   conns.push_back (cluster->heap_removed.connect (boost::bind (&Ekiga::PresenceCore::on_heap_removed, this, _1, cluster)));
@@ -65,6 +66,8 @@ Ekiga::PresenceCore::add_cluster (ClusterPtr cluster)
   conns.push_back (cluster->presentity_updated.connect (boost::bind (&Ekiga::PresenceCore::on_presentity_updated, this, _1, _2, cluster)));
   conns.push_back (cluster->presentity_removed.connect (boost::bind (&Ekiga::PresenceCore::on_presentity_removed, this, _1, _2, cluster)));
   cluster->questions.connect (boost::ref (questions));
+
+  updated ();
 }
 
 void
diff --git a/lib/engine/presence/presence-core.h b/lib/engine/presence/presence-core.h
index 326b210..2260642 100644
--- a/lib/engine/presence/presence-core.h
+++ b/lib/engine/presence/presence-core.h
@@ -135,6 +135,7 @@ namespace Ekiga
    *         special registering magic?
    */
   class PresenceCore:
+    public virtual LiveObject,
     public Service
   {
   public:
@@ -307,7 +308,8 @@ namespace Ekiga
 
     std::list<boost::function1<bool, std::string> > uri_testers;
 
-    /*** Misc ***/
+    /*** LiveObject implementation ***/
+
   public:
 
     /** Create the menu of the actions available in the PresenceCore.
@@ -315,9 +317,9 @@ namespace Ekiga
      */
     bool populate_menu (MenuBuilder &builder);
 
-    /** This chain allows the PresenceCore to present forms to the user
-     */
-    ChainOfResponsibility<FormRequestPtr> questions;
+    /*** Misc ***/
+
+  private:
 
     std::list<boost::signals::connection> conns;
   };



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]