[ekiga] Pushed the opal presence manager code to the opal bank -- then got rid of it



commit 605ca6c1e6fe83993eca3e5f9ced921d4ac7c3f0
Author: Snark <jpuydt gnome org>
Date:   Sun Dec 26 22:07:06 2010 +0100

    Pushed the opal presence manager code to the opal bank -- then got rid of it
    
    It turns out that piece of code wasn't doing anything interesting at all

 lib/Makefile.am                                    |    2 -
 lib/engine/components/opal/opal-bank.cpp           |   27 ++++++++
 lib/engine/components/opal/opal-bank.h             |   12 ++++
 lib/engine/components/opal/opal-main.cpp           |    6 +-
 .../components/opal/opal-presence-manager.cpp      |   69 --------------------
 lib/engine/components/opal/opal-presence-manager.h |   67 -------------------
 6 files changed, 41 insertions(+), 142 deletions(-)
---
diff --git a/lib/Makefile.am b/lib/Makefile.am
index e894fb6..7f3e00a 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -501,8 +501,6 @@ libekiga_la_SOURCES += \
 	$(components_dir)/opal/opal-bank.cpp \
 	$(components_dir)/opal/opal-call.h \
 	$(components_dir)/opal/opal-call.cpp \
-	$(components_dir)/opal/opal-presence-manager.h \
-	$(components_dir)/opal/opal-presence-manager.cpp \
 	$(components_dir)/opal/opal-codec-description.h \
 	$(components_dir)/opal/opal-codec-description.cpp \
 	$(components_dir)/opal/opal-gmconf-bridge.h \
diff --git a/lib/engine/components/opal/opal-bank.cpp b/lib/engine/components/opal/opal-bank.cpp
index 8c94e7e..95066da 100644
--- a/lib/engine/components/opal/opal-bank.cpp
+++ b/lib/engine/components/opal/opal-bank.cpp
@@ -256,3 +256,30 @@ Opal::Bank::save () const
   g_slist_foreach (accounts, (GFunc) g_free, NULL);
   g_slist_free (accounts);
 }
+
+void
+Opal::Bank::publish (const Ekiga::PersonalDetails& details)
+{
+  for (iterator iter = begin ();
+       iter != end ();
+       iter++)
+    (*iter)->publish (details);
+}
+
+void
+Opal::Bank::fetch (const std::string uri)
+{
+  for (iterator iter = begin ();
+       iter != end ();
+       iter++)
+    (*iter)->fetch (uri);
+}
+
+void
+Opal::Bank::unfetch (const std::string uri)
+{
+  for (iterator iter = begin ();
+       iter != end ();
+       iter++)
+    (*iter)->unfetch (uri);
+}
diff --git a/lib/engine/components/opal/opal-bank.h b/lib/engine/components/opal/opal-bank.h
index 3a5429e..28497c7 100644
--- a/lib/engine/components/opal/opal-bank.h
+++ b/lib/engine/components/opal/opal-bank.h
@@ -38,6 +38,7 @@
 #ifndef __OPAL_BANK_H__
 #define __OPAL_BANK_H__
 
+#include "presence-core.h"
 #include "bank-impl.h"
 #include "opal-account.h"
 #include "services.h"
@@ -51,6 +52,8 @@ namespace Opal
    */
   class Bank: 
       public Ekiga::BankImpl<Account>,
+      public Ekiga::PresencePublisher,
+      public Ekiga::PresenceFetcher,
       public Ekiga::Service
   {
 public:
@@ -67,6 +70,15 @@ public:
     const std::string get_description () const
     { return "\tStores the opal accounts"; }
 
+    /*
+     * this object is an Ekiga::PresenceFetcher and an Ekiga::PresencePublisher
+     */
+    void publish (const Ekiga::PersonalDetails& details);
+
+    void fetch (const std::string uri);
+
+    void unfetch (const std::string uri);
+
     void new_account (Account::Type acc_type,
                       std::string username = "",
                       std::string password = "");
diff --git a/lib/engine/components/opal/opal-main.cpp b/lib/engine/components/opal/opal-main.cpp
index 8c7de43..27e2eec 100644
--- a/lib/engine/components/opal/opal-main.cpp
+++ b/lib/engine/components/opal/opal-main.cpp
@@ -55,7 +55,6 @@
 #include "opal-bank.h"
 #include "opal-call-manager.h"
 #include "opal-plugins-hook.h"
-#include "opal-presence-manager.h"
 
 #include "sip-endpoint.h"
 #define SIP_KEY "/apps/" PACKAGE_NAME "/protocols/sip/"
@@ -132,9 +131,8 @@ struct OPALSpark: public Ekiga::Spark
       presence_core->add_presentity_decorator (sip_manager);
       presence_core->add_presence_fetcher (sip_manager);
 
-      boost::shared_ptr<PresenceManager> presence_manager (new PresenceManager (bank));
-      presence_core->add_presence_publisher (presence_manager);
-      presence_core->add_presence_fetcher (presence_manager);
+      presence_core->add_presence_publisher (bank);
+      presence_core->add_presence_fetcher (bank);
 
 #ifdef HAVE_H323
       unsigned h323_port = gm_conf_get_int (H323_KEY "listen_port");



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