[ekiga] Removed the emit_signal_in_main method from runtime.h
- From: Julien Puydt <jpuydt src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [ekiga] Removed the emit_signal_in_main method from runtime.h
- Date: Wed, 26 Aug 2009 19:50:44 +0000 (UTC)
commit d0abffc104e84c37d255ffaf5904008aad74457d
Author: Julien Puydt <jpuydt gnome org>
Date: Wed Aug 26 21:50:09 2009 +0200
Removed the emit_signal_in_main method from runtime.h
Its implementation used the signals' copy constructors,
which aren't available in boost signals.
lib/engine/components/opal/opal-call-manager.cpp | 7 ++-
lib/engine/components/opal/opal-call-manager.h | 1 +
lib/engine/components/opal/opal-call.cpp | 56 +++++++++++++++++++---
lib/engine/components/opal/opal-call.h | 8 +++
lib/engine/framework/runtime.h | 25 ----------
5 files changed, 64 insertions(+), 33 deletions(-)
---
diff --git a/lib/engine/components/opal/opal-call-manager.cpp b/lib/engine/components/opal/opal-call-manager.cpp
index e849d94..8e41297 100644
--- a/lib/engine/components/opal/opal-call-manager.cpp
+++ b/lib/engine/components/opal/opal-call-manager.cpp
@@ -652,13 +652,18 @@ OpalCall *CallManager::CreateCall (void *uri)
return call;
}
+void
+CallManager::emit_removed_in_main (Ekiga::Call* call)
+{
+ call->removed.emit ();
+}
void
CallManager::DestroyCall (OpalCall *_call)
{
Ekiga::Call *call = dynamic_cast<Ekiga::Call *> (_call);
- Ekiga::Runtime::emit_signal_in_main(call->removed);
+ Ekiga::Runtime::run_in_main(sigc::bind (sigc::mem_fun (this, &CallManager::emit_removed_in_main), call));
}
diff --git a/lib/engine/components/opal/opal-call-manager.h b/lib/engine/components/opal/opal-call-manager.h
index 58aa834..fe2751e 100644
--- a/lib/engine/components/opal/opal-call-manager.h
+++ b/lib/engine/components/opal/opal-call-manager.h
@@ -158,6 +158,7 @@ public:
private:
void create_call_in_main (Opal::Call* call);
OpalCall *CreateCall (void *uri);
+ void emit_removed_in_main (Ekiga::Call* call);
void DestroyCall (OpalCall *);
bool OnOpenMediaStream (OpalConnection &,
diff --git a/lib/engine/components/opal/opal-call.cpp b/lib/engine/components/opal/opal-call.cpp
index c3d91f7..7c5a55e 100644
--- a/lib/engine/components/opal/opal-call.cpp
+++ b/lib/engine/components/opal/opal-call.cpp
@@ -337,7 +337,7 @@ Opal::Call::OnEstablished (OpalConnection & connection)
if (!PIsDescendant(&connection, OpalPCSSConnection)) {
parse_info (connection);
- Ekiga::Runtime::emit_signal_in_main (established);
+ Ekiga::Runtime::run_in_main (sigc::mem_fun (this, &Opal::Call::emit_established_in_main));
}
if (PIsDescendant(&connection, OpalRTPConnection)) {
@@ -395,7 +395,7 @@ Opal::Call::OnCleared ()
&& !is_outgoing ()
&& GetCallEndReason () != OpalConnection::EndedByAnswerDenied) {
- Ekiga::Runtime::emit_signal_in_main (missed);
+ Ekiga::Runtime::run_in_main (sigc::mem_fun (this, &Opal::Call::emit_missed_in_main));
}
else {
@@ -476,7 +476,7 @@ Opal::Call::OnCleared ()
reason = _("Call completed");
}
- Ekiga::Runtime::emit_signal_in_main (cleared, reason);
+ Ekiga::Runtime::run_in_main (sigc::bind (sigc::mem_fun (this, &Opal::Call::emit_cleared_in_main), reason));
}
}
@@ -499,7 +499,7 @@ Opal::Call::OnSetUp (OpalConnection & connection)
outgoing = !IsNetworkOriginated ();
parse_info (connection);
- Ekiga::Runtime::emit_signal_in_main (setup);
+ Ekiga::Runtime::run_in_main (sigc::mem_fun (this, &Opal::Call::emit_setup_in_main));
call_setup = true;
cleared.connect (sigc::mem_fun (this, &Opal::Call::on_cleared_call));
@@ -515,7 +515,7 @@ PBoolean
Opal::Call::OnAlerting (OpalConnection & connection)
{
if (!PIsDescendant(&connection, OpalPCSSConnection))
- Ekiga::Runtime::emit_signal_in_main (ringing);
+ Ekiga::Runtime::run_in_main (sigc::mem_fun (this, &Opal::Call::emit_ringing_in_main));
return OpalCall::OnAlerting (connection);
}
@@ -527,9 +527,9 @@ Opal::Call::OnHold (OpalConnection & /*connection*/,
bool on_hold)
{
if (on_hold)
- Ekiga::Runtime::emit_signal_in_main (held);
+ Ekiga::Runtime::run_in_main (sigc::mem_fun (this, &Opal::Call::emit_held_in_main));
else
- Ekiga::Runtime::emit_signal_in_main (retrieved);
+ Ekiga::Runtime::run_in_main (sigc::mem_fun (this, &Opal::Call::emit_retrieved_in_main));
}
@@ -659,3 +659,45 @@ Opal::Call::on_missed_call ()
{
OpalCall::OnCleared ();
}
+
+void
+Opal::Call::emit_established_in_main ()
+{
+ established.emit ();
+}
+
+void
+Opal::Call::emit_missed_in_main ()
+{
+ missed.emit ();
+}
+
+void
+Opal::Call::emit_cleared_in_main (const std::string reason)
+{
+ cleared.emit (reason);
+}
+
+void
+Opal::Call::emit_setup_in_main ()
+{
+ setup.emit ();
+}
+
+void
+Opal::Call::emit_ringing_in_main ()
+{
+ ringing.emit ();
+}
+
+void
+Opal::Call::emit_held_in_main ()
+{
+ held.emit ();
+}
+
+void
+Opal::Call::emit_retrieved_in_main ()
+{
+ retrieved.emit ();
+}
diff --git a/lib/engine/components/opal/opal-call.h b/lib/engine/components/opal/opal-call.h
index 96266e9..352ac60 100644
--- a/lib/engine/components/opal/opal-call.h
+++ b/lib/engine/components/opal/opal-call.h
@@ -256,6 +256,14 @@ private:
private:
void on_cleared_call (std::string);
void on_missed_call ();
+
+ void emit_established_in_main ();
+ void emit_missed_in_main ();
+ void emit_cleared_in_main (const std::string reason);
+ void emit_setup_in_main ();
+ void emit_ringing_in_main ();
+ void emit_held_in_main ();
+ void emit_retrieved_in_main ();
};
};
diff --git a/lib/engine/framework/runtime.h b/lib/engine/framework/runtime.h
index 126a412..df6d4ab 100644
--- a/lib/engine/framework/runtime.h
+++ b/lib/engine/framework/runtime.h
@@ -41,19 +41,6 @@
#include "services.h"
-template<typename data_type>
-static void emit_signal_in_main_helper1 (sigc::signal1<void, data_type> sign,
- data_type data)
-{
- sign.emit (data);
-}
-
-static void emit_signal_in_main_helper (sigc::signal0<void> sign)
-
-{
- sign.emit ();
-}
-
namespace Ekiga
{
@@ -72,18 +59,6 @@ namespace Ekiga
void run_in_main (sigc::slot0<void> action,
unsigned int seconds = 0); // depends on the implementation
-
- inline void emit_signal_in_main (sigc::signal0<void> sign)
- {
- run_in_main (sigc::bind (sigc::ptr_fun (emit_signal_in_main_helper), sign));
- }
-
- template<typename data_type>
- void emit_signal_in_main (sigc::signal1<void, data_type> sign,
- data_type data)
- {
- run_in_main (sigc::bind (sigc::ptr_fun (emit_signal_in_main_helper1<data_type>), sign, data));
- }
};
/**
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]