From 1fb73f7e98bf397d7b0656784881a8913cd6f211 Mon Sep 17 00:00:00 2001 From: Guillaume Desmottes Date: Sun, 6 Jan 2008 20:15:32 +0100 Subject: add empathy_irc_network_remove_server --- libempathy/empathy-irc-network.c | 21 +++++++++++++++++++++ libempathy/empathy-irc-network.h | 3 +++ 2 files changed, 24 insertions(+) diff --git a/libempathy/empathy-irc-network.c b/libempathy/empathy-irc-network.c index 1340ece01..fa422e9fc 100644 --- a/libempathy/empathy-irc-network.c +++ b/libempathy/empathy-irc-network.c @@ -237,3 +237,24 @@ empathy_irc_network_add_server (EmpathyIrcNetwork *self, priv->servers = g_slist_append (priv->servers, g_object_ref (server)); g_signal_emit (self, signals[MODIFIED], 0); } + +void +empathy_irc_network_remove_server (EmpathyIrcNetwork *self, + EmpathyIrcServer *server) +{ + EmpathyIrcNetworkPrivate *priv; + GSList *l; + + g_return_if_fail (EMPATHY_IS_IRC_NETWORK (self)); + g_return_if_fail (server != NULL && EMPATHY_IS_IRC_SERVER (server)); + + priv = EMPATHY_IRC_NETWORK_GET_PRIVATE (self); + + l = g_slist_find (priv->servers, server); + if (l == NULL) + return; + + g_object_unref (l->data); + priv->servers = g_slist_delete_link (priv->servers, l); + g_signal_emit (self, signals[MODIFIED], 0); +} diff --git a/libempathy/empathy-irc-network.h b/libempathy/empathy-irc-network.h index c1412af1e..51b3dbab2 100644 --- a/libempathy/empathy-irc-network.h +++ b/libempathy/empathy-irc-network.h @@ -70,6 +70,9 @@ empathy_irc_network_get_servers (EmpathyIrcNetwork *network); void empathy_irc_network_add_server (EmpathyIrcNetwork *network, EmpathyIrcServer *server); +void empathy_irc_network_remove_server (EmpathyIrcNetwork *network, + EmpathyIrcServer *server); + G_END_DECLS #endif /* __EMPATHY_IRC_NETWORK_H__ */ -- cgit v1.2.3