ekiga r6910 - in trunk: . lib/engine/presence/avahi
- From: jpuydt svn gnome org
- To: svn-commits-list gnome org
- Subject: ekiga r6910 - in trunk: . lib/engine/presence/avahi
- Date: Wed, 10 Sep 2008 14:28:24 +0000 (UTC)
Author: jpuydt
Date: Wed Sep 10 14:28:24 2008
New Revision: 6910
URL: http://svn.gnome.org/viewvc/ekiga?rev=6910&view=rev
Log:
Removed the Avahi::Presentity code
Made Avahi::Heap an Ekiga::PresenceFetcher, fixing #551411
Removed:
trunk/lib/engine/presence/avahi/avahi-presentity.cpp
trunk/lib/engine/presence/avahi/avahi-presentity.h
Modified:
trunk/ChangeLog
trunk/lib/engine/presence/avahi/Makefile.am
trunk/lib/engine/presence/avahi/avahi-cluster.cpp
trunk/lib/engine/presence/avahi/avahi-cluster.h
trunk/lib/engine/presence/avahi/avahi-heap.cpp
trunk/lib/engine/presence/avahi/avahi-heap.h
trunk/lib/engine/presence/avahi/avahi-main.cpp
Modified: trunk/lib/engine/presence/avahi/Makefile.am
==============================================================================
--- trunk/lib/engine/presence/avahi/Makefile.am (original)
+++ trunk/lib/engine/presence/avahi/Makefile.am Wed Sep 10 14:28:24 2008
@@ -10,8 +10,6 @@
-I$(top_srcdir)/lib/engine/presence/skel
libgmavahi_la_SOURCES = \
- $(avahi_dir)/avahi-presentity.h \
- $(avahi_dir)/avahi-presentity.cpp \
$(avahi_dir)/avahi-heap.h \
$(avahi_dir)/avahi-heap.cpp \
$(avahi_dir)/avahi-cluster.h \
Modified: trunk/lib/engine/presence/avahi/avahi-cluster.cpp
==============================================================================
--- trunk/lib/engine/presence/avahi/avahi-cluster.cpp (original)
+++ trunk/lib/engine/presence/avahi/avahi-cluster.cpp Wed Sep 10 14:28:24 2008
@@ -37,11 +37,18 @@
#include "avahi-cluster.h"
-Avahi::Cluster::Cluster (Ekiga::PresenceCore &_core): core(_core)
+Avahi::Cluster::Cluster (Ekiga::ServiceCore &_core): core(_core)
{
- heap = new Heap (_core);
+ Ekiga::PresenceCore* presence_core = NULL;
+
+ heap = new Heap (core);
add_heap (*heap);
+
+ presence_core
+ = dynamic_cast<Ekiga::PresenceCore*>(core.get ("presence-core"));
+ /* don't check the dynamic cast: it has been checked already by avahi-main!*/
+ presence_core->add_presence_fetcher (*heap);
}
Avahi::Cluster::~Cluster ()
Modified: trunk/lib/engine/presence/avahi/avahi-cluster.h
==============================================================================
--- trunk/lib/engine/presence/avahi/avahi-cluster.h (original)
+++ trunk/lib/engine/presence/avahi/avahi-cluster.h Wed Sep 10 14:28:24 2008
@@ -55,7 +55,7 @@
{
public:
- Cluster (Ekiga::PresenceCore &_core);
+ Cluster (Ekiga::ServiceCore &_core);
~Cluster ();
@@ -65,7 +65,7 @@
private:
- Ekiga::PresenceCore &core;
+ Ekiga::ServiceCore &core;
Heap *heap;
};
Modified: trunk/lib/engine/presence/avahi/avahi-heap.cpp
==============================================================================
--- trunk/lib/engine/presence/avahi/avahi-heap.cpp (original)
+++ trunk/lib/engine/presence/avahi/avahi-heap.cpp Wed Sep 10 14:28:24 2008
@@ -87,7 +87,7 @@
}
-Avahi::Heap::Heap (Ekiga::PresenceCore &_core): core(_core)
+Avahi::Heap::Heap (Ekiga::ServiceCore &_core): core(_core)
{
const AvahiPoll *poll_api = NULL;
int error;
@@ -261,7 +261,7 @@
std::string status;
bool already_known = false;
gchar *url = NULL;
- Presentity *presentity = NULL;
+ Ekiga::URIPresentity *presentity = NULL;
AvahiStringList *txt_tmp = NULL;
switch (event) {
@@ -295,13 +295,11 @@
iter != end ();
iter++) {
- // FIXME never called
if ((*iter).get_name () == name) {
/* known contact has been updated */
- (*iter).set_status (status);
- (*iter).set_presence (presence);
- (*iter).updated.emit ();
+ presence_received.emit ((*iter).get_uri (), presence);
+ status_received.emit ((*iter).get_uri (), status);
already_known = true;
}
}
@@ -313,9 +311,9 @@
if (broken != NULL && broken[0] != NULL && broken[1] != NULL) {
url = g_strdup_printf ("%s:neighbour %s:%d", broken[1], host_name, port);
- presentity = new Presentity (core, name, url);
- presentity->set_status (status);
- presentity->set_presence (presence);
+ presentity = new Ekiga::URIPresentity (core, name, url);
+ status_received.emit (url, status);
+ presence_received.emit (url, presence);
add_presentity (*presentity);
g_free (url);
}
Modified: trunk/lib/engine/presence/avahi/avahi-heap.h
==============================================================================
--- trunk/lib/engine/presence/avahi/avahi-heap.h (original)
+++ trunk/lib/engine/presence/avahi/avahi-heap.h Wed Sep 10 14:28:24 2008
@@ -40,7 +40,7 @@
#include "presence-core.h"
#include "heap-impl.h"
-#include "avahi-presentity.h"
+#include "uri-presentity.h"
#include <avahi-client/client.h>
#include <avahi-client/lookup.h>
@@ -57,11 +57,13 @@
* @{
*/
- class Heap: public Ekiga::HeapImpl<Presentity>
+ class Heap:
+ public Ekiga::PresenceFetcher,
+ public Ekiga::HeapImpl<Ekiga::URIPresentity>
{
public:
- Heap (Ekiga::PresenceCore &_core);
+ Heap (Ekiga::ServiceCore &_core);
~Heap ();
@@ -72,6 +74,10 @@
bool populate_menu_for_group (const std::string name,
Ekiga::MenuBuilder& builder);
+ /* the PresenceFetcher interface : we don't do what we're told ;-) */
+ void fetch (std::string) {}
+ void unfetch (std::string) {}
+
/* these should be private but are called from C code */
void ClientCallback (AvahiClient *client,
@@ -101,7 +107,7 @@
private:
- Ekiga::PresenceCore &core;
+ Ekiga::ServiceCore &core;
AvahiGLibPoll *poll;
AvahiClient *client;
AvahiServiceBrowser *browser;
Modified: trunk/lib/engine/presence/avahi/avahi-main.cpp
==============================================================================
--- trunk/lib/engine/presence/avahi/avahi-main.cpp (original)
+++ trunk/lib/engine/presence/avahi/avahi-main.cpp Wed Sep 10 14:28:24 2008
@@ -78,7 +78,7 @@
if (presence_core != NULL) {
- cluster = new Avahi::Cluster (*presence_core);
+ cluster = new Avahi::Cluster (core);
service = new Avahi::Service (cluster);
core.add (*service);
presence_core->add_cluster (*cluster);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]