[ekiga/ds-gsettings3] Opal: Completed GSettings port.



commit 4d45172f9efc049439ab00295658534a59696081
Author: Damien Sandras <dsandras beip be>
Date:   Sun Nov 17 16:49:39 2013 +0100

    Opal: Completed GSettings port.

 lib/ekiga-settings.h                              |    1 +
 lib/engine/components/opal/opal-bank.cpp          |    1 -
 lib/engine/components/opal/opal-call-manager.cpp  |   85 ++++++++++-
 lib/engine/components/opal/opal-call-manager.h    |    5 +
 lib/engine/components/opal/opal-gmconf-bridge.cpp |  166 ---------------------
 lib/engine/components/opal/opal-gmconf-bridge.h   |   69 ---------
 6 files changed, 85 insertions(+), 242 deletions(-)
---
diff --git a/lib/ekiga-settings.h b/lib/ekiga-settings.h
index b6be259..44a8372 100644
--- a/lib/ekiga-settings.h
+++ b/lib/ekiga-settings.h
@@ -55,6 +55,7 @@
 #define VIDEO_DISPLAY_SCHEMA USER_INTERFACE ".video-display"
 
 #define PROTOCOLS_SCHEMA "org.gnome." PACKAGE_NAME ".protocols"
+#define PORTS_SCHEMA PROTOCOLS_SCHEMA ".sip"
 #define SIP_SCHEMA PROTOCOLS_SCHEMA ".sip"
 #define H323_SCHEMA PROTOCOLS_SCHEMA ".h323"
 #define CALL_FORWARDING_SCHEMA PROTOCOLS_SCHEMA ".call-forwarding"
diff --git a/lib/engine/components/opal/opal-bank.cpp b/lib/engine/components/opal/opal-bank.cpp
index 258538f..9f151cd 100644
--- a/lib/engine/components/opal/opal-bank.cpp
+++ b/lib/engine/components/opal/opal-bank.cpp
@@ -41,7 +41,6 @@
 
 #include <glib/gi18n.h>
 
-#include "gmconf.h"
 #include "menu-builder.h"
 #include "form-request-simple.h"
 
diff --git a/lib/engine/components/opal/opal-call-manager.cpp 
b/lib/engine/components/opal/opal-call-manager.cpp
index 6e29d63..6c1fc08 100644
--- a/lib/engine/components/opal/opal-call-manager.cpp
+++ b/lib/engine/components/opal/opal-call-manager.cpp
@@ -175,18 +175,42 @@ CallManager::CallManager (Ekiga::ServiceCore& core)
   add_protocol_manager (h323_endpoint);
 #endif
 
-  nat_settings = boost::shared_ptr<Ekiga::Settings> (new Ekiga::Settings (NAT_SCHEMA));
+  nat_settings =
+    boost::shared_ptr<Ekiga::Settings> (new Ekiga::Settings (NAT_SCHEMA));
   nat_settings->changed.connect (boost::bind (&CallManager::setup, this, _1));
 
-  audio_codecs_settings = boost::shared_ptr<Ekiga::Settings> (new Ekiga::Settings (AUDIO_CODECS_SCHEMA));
+  audio_codecs_settings =
+    boost::shared_ptr<Ekiga::Settings> (new Ekiga::Settings (AUDIO_CODECS_SCHEMA));
   audio_codecs_settings->changed.connect (boost::bind (&CallManager::setup, this, _1));
-  
-  video_codecs_settings = boost::shared_ptr<Ekiga::Settings> (new Ekiga::Settings (VIDEO_CODECS_SCHEMA));
+
+  video_codecs_settings =
+    boost::shared_ptr<Ekiga::Settings> (new Ekiga::Settings (VIDEO_CODECS_SCHEMA));
   video_codecs_settings->changed.connect (boost::bind (&CallManager::setup, this, _1));
 
-  video_devices_settings = boost::shared_ptr<Ekiga::Settings> (new Ekiga::Settings (VIDEO_DEVICES_SCHEMA));
+  video_devices_settings =
+    boost::shared_ptr<Ekiga::Settings> (new Ekiga::Settings (VIDEO_DEVICES_SCHEMA));
   video_devices_settings->changed.connect (boost::bind (&CallManager::setup, this, _1));
 
+  ports_settings =
+    boost::shared_ptr<Ekiga::Settings> (new Ekiga::Settings (PORTS_SCHEMA));
+  ports_settings->changed.connect (boost::bind (&CallManager::setup, this, _1));
+
+  protocols_settings =
+    boost::shared_ptr<Ekiga::Settings> (new Ekiga::Settings (PROTOCOLS_SCHEMA));
+  protocols_settings->changed.connect (boost::bind (&CallManager::setup, this, _1));
+
+  call_options_settings =
+    boost::shared_ptr<Ekiga::Settings> (new Ekiga::Settings (CALL_OPTIONS_SCHEMA));
+  call_options_settings->changed.connect (boost::bind (&CallManager::setup, this, _1));
+
+  call_forwarding_settings =
+    boost::shared_ptr<Ekiga::Settings> (new Ekiga::Settings (CALL_FORWARDING_SCHEMA));
+  call_forwarding_settings->changed.connect (boost::bind (&CallManager::setup, this, _1));
+
+  personal_data_settings =
+    boost::shared_ptr<Ekiga::Settings> (new Ekiga::Settings (PERSONAL_DATA_SCHEMA));
+  personal_data_settings->changed.connect (boost::bind (&CallManager::setup, this, _1));
+
   setup ();
 }
 
@@ -1022,7 +1046,7 @@ CallManager::setup (const std::string & setting)
     set_stun_server (nat_settings->get_string ("stun-server"));
   }
   if (setting.empty () || setting == "enable-stun") {
-    
+
     set_stun_enabled (nat_settings->get_bool ("enable-stun"));
   }
   if (setting.empty () || setting == "maximum-jitter-buffer") {
@@ -1037,6 +1061,30 @@ CallManager::setup (const std::string & setting)
 
     set_echo_cancellation (audio_codecs_settings->get_bool ("enable-echo-cancellation"));
   }
+  if (setting.empty () || setting == "rtp-tos-field") {
+    set_rtp_tos (protocols_settings->get_int ("rtp-tos-field"));
+  }
+  if (setting.empty () || setting == "no-answer-timeout") {
+
+    set_reject_delay (call_options_settings->get_int ("no-answer-timeout"));
+  }
+  if (setting.empty () || setting == "auto-answer") {
+    set_auto_answer (call_options_settings->get_bool ("auto-answer"));
+  }
+  if (setting.empty () || setting == "forward-on-no-anwer") {
+    set_forward_on_no_answer (call_forwarding_settings->get_bool ("forward-on-no-answer"));
+  }
+  if (setting.empty () || setting == "forward-on-busy") {
+    set_forward_on_busy (call_forwarding_settings->get_bool ("forward-on-busy"));
+  }
+  if (setting.empty () || setting == "always-forward") {
+    set_unconditional_forward (call_forwarding_settings->get_bool ("always-forward"));
+  }
+  if (setting.empty () || setting == "full-name") {
+    std::string full_name = personal_data_settings->get_string ("full-name");
+    if (!full_name.empty ())
+      set_display_name (full_name);
+  }
   if (setting.empty () || setting == "maximum-video-tx-bitrate") {
 
     options.maximum_transmitted_bitrate = video_codecs_settings->get_int ("maximum-video-tx-bitrate");
@@ -1079,6 +1127,31 @@ CallManager::setup (const std::string & setting)
     if (v_codecs != fcodecs.get_video_list ())
       video_codecs_settings->set_string_list ("media-list", fcodecs.get_video_list ().slist ());
   }
+  if (setting.empty () || setting == "udp-port-range" || setting == "tcp-port-range") {
+
+    std::string ports;
+    gchar **couple = NULL;
+    unsigned min_port = 0;
+    unsigned max_port = 0;
+    const char *key[2] = { "udp-port-range", "tcp-port-range" };
+
+    for (int i = 0 ; i < 2 ; i++) {
+      ports = ports_settings->get_string (key[i]);
+      if (!ports.empty ())
+        couple = g_strsplit (ports.c_str (), ":", 2);
+      if (couple && couple [0])
+        min_port = atoi (couple [0]);
+      if (couple && couple [1])
+        max_port = atoi (couple [1]);
+
+      if (i == 0)
+        set_udp_ports (min_port, max_port);
+      else
+        set_tcp_ports (min_port, max_port);
+
+      g_strfreev (couple);
+    }
+  }
 
   set_video_options (options);
 }
diff --git a/lib/engine/components/opal/opal-call-manager.h b/lib/engine/components/opal/opal-call-manager.h
index 88cfaf9..dd51a11 100644
--- a/lib/engine/components/opal/opal-call-manager.h
+++ b/lib/engine/components/opal/opal-call-manager.h
@@ -229,6 +229,11 @@ private:
     boost::shared_ptr<Ekiga::Settings> audio_codecs_settings;
     boost::shared_ptr<Ekiga::Settings> video_codecs_settings;
     boost::shared_ptr<Ekiga::Settings> video_devices_settings;
+    boost::shared_ptr<Ekiga::Settings> protocols_settings;
+    boost::shared_ptr<Ekiga::Settings> ports_settings;
+    boost::shared_ptr<Ekiga::Settings> call_options_settings;
+    boost::shared_ptr<Ekiga::Settings> call_forwarding_settings;
+    boost::shared_ptr<Ekiga::Settings> personal_data_settings;
 
     /* FIXME: this piece of the api is because the code is getting turned around,
      * this should disappear at some point! */


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