[ekiga] The H323 endpoint is now fully hidden by the opal call manager



commit 91c800c4c45b0f9bcc7780fa42c461e01e8a255c
Author: Julien Puydt <jpuydt free fr>
Date:   Fri Feb 8 16:02:57 2013 +0100

    The H323 endpoint is now fully hidden by the opal call manager

 lib/engine/components/opal/h323-endpoint.h       |    8 --------
 lib/engine/components/opal/opal-call-manager.cpp |   21 ++++++++++++---------
 lib/engine/components/opal/opal-call-manager.h   |    1 -
 lib/engine/components/opal/opal-main.cpp         |   13 +------------
 4 files changed, 13 insertions(+), 30 deletions(-)
---
diff --git a/lib/engine/components/opal/h323-endpoint.h b/lib/engine/components/opal/h323-endpoint.h
index 205e7e8..e5a2d56 100644
--- a/lib/engine/components/opal/h323-endpoint.h
+++ b/lib/engine/components/opal/h323-endpoint.h
@@ -57,7 +57,6 @@ namespace Opal {
   namespace H323 {
 
     class EndPoint : public H323EndPoint,
-		     public Ekiga::Service,
 		     public Ekiga::CallProtocolManager
     {
       PCLASSINFO(EndPoint, H323EndPoint);
@@ -67,13 +66,6 @@ namespace Opal {
 
       ~EndPoint ();
 
-      /* Service */
-      const std::string get_name () const
-      { return "opal-h323-endpoint"; }
-
-      const std::string get_description () const
-      { return "\tObject managing H323 objects with the Opal library"; }
-
       // helper for Opal::Bank's contact/presentity decorator code
       bool populate_menu (const std::string& fullname,
 			  const std::string& uri,
diff --git a/lib/engine/components/opal/opal-call-manager.cpp b/lib/engine/components/opal/opal-call-manager.cpp
index 075a69d..5d91815 100644
--- a/lib/engine/components/opal/opal-call-manager.cpp
+++ b/lib/engine/components/opal/opal-call-manager.cpp
@@ -56,6 +56,13 @@
 
 #include <stdlib.h>
 
+// opal manages its endpoints itself, so we must be wary
+struct null_deleter
+{
+    void operator()(void const *) const
+    { }
+};
+
 static  bool same_codec_desc (Ekiga::CodecDescription a, Ekiga::CodecDescription b)
 {
   return (a.name == b.name && a.rate == b.rate);
@@ -161,6 +168,11 @@ CallManager::CallManager (Ekiga::ServiceCore& core)
   queue = g_async_queue_new ();
 
   PInterfaceMonitor::GetInstance().SetRefreshInterval (15000);
+
+#ifdef HAVE_H323
+  h323_endpoint = boost::shared_ptr<H323::EndPoint> (new H323::EndPoint (*this), null_deleter ());
+  add_protocol_manager (h323_endpoint);
+#endif
 }
 
 
@@ -956,12 +968,3 @@ CallManager::set_sip_endpoint (boost::shared_ptr<Opal::Sip::EndPoint> _sip_endpo
   sip_endpoint = _sip_endpoint;
   add_protocol_manager (sip_endpoint);
 }
-
-#ifdef HAVE_H323
-void
-CallManager::set_h323_endpoint (boost::shared_ptr<Opal::H323::EndPoint> _h323_endpoint)
-{
-  h323_endpoint = _h323_endpoint;
-  add_protocol_manager (h323_endpoint);
-}
-#endif
diff --git a/lib/engine/components/opal/opal-call-manager.h b/lib/engine/components/opal/opal-call-manager.h
index 9c4c5bb..5e05d21 100644
--- a/lib/engine/components/opal/opal-call-manager.h
+++ b/lib/engine/components/opal/opal-call-manager.h
@@ -229,7 +229,6 @@ private:
     void set_sip_endpoint (boost::shared_ptr<Opal::Sip::EndPoint> _sip_endpoint);
     boost::shared_ptr<Opal::Sip::EndPoint> sip_endpoint;
 #ifdef HAVE_H323
-    void set_h323_endpoint (boost::shared_ptr<Opal::H323::EndPoint> _h323_endpoint);
     boost::shared_ptr<Opal::H323::EndPoint> h323_endpoint;
 #endif
   };
diff --git a/lib/engine/components/opal/opal-main.cpp b/lib/engine/components/opal/opal-main.cpp
index a12853f..4365977 100644
--- a/lib/engine/components/opal/opal-main.cpp
+++ b/lib/engine/components/opal/opal-main.cpp
@@ -50,10 +50,6 @@
 
 #include "sip-endpoint.h"
 
-#ifdef HAVE_H323
-#include "h323-endpoint.h"
-#endif
-
 // opal manages its endpoints itself, so we must be wary
 struct null_deleter
 {
@@ -102,12 +98,11 @@ struct OPALSpark: public Ekiga::Spark
     boost::shared_ptr<Ekiga::PersonalDetails> personal_details = core.get<Ekiga::PersonalDetails> ("personal-details");
     boost::shared_ptr<Bank> account_store = core.get<Bank> ("opal-account-store");
     Ekiga::ServicePtr sip_endpoint = core.get ("opal-sip-endpoint");
-    Ekiga::ServicePtr h323_endpoint = core.get ("opal-h323-endpoint");
 
     if (contact_core && presence_core && call_core && chat_core
 	&& account_core && audioinput_core && videoinput_core
 	&& audiooutput_core && videooutput_core && personal_details
-	&& !account_store && !sip_endpoint && !h323_endpoint) {
+	&& !account_store && !sip_endpoint) {
 
       PIPSocket::SetSuppressCanonicalName (true);  // avoid long delays
 
@@ -120,12 +115,6 @@ struct OPALSpark: public Ekiga::Spark
       call_manager->set_sip_endpoint (sip_manager);
       core.add (sip_manager);
 
-#ifdef HAVE_H323
-      boost::shared_ptr<H323::EndPoint> h323_manager (new H323::EndPoint (*call_manager), null_deleter ());
-      call_manager->set_h323_endpoint (h323_manager);
-      core.add (h323_manager);
-#endif
-
       boost::shared_ptr<Bank> bank (new Bank (core));
       account_core->add_bank (bank);
       core.add (bank);


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