X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fmodest-signal-mgr.c;h=ad681ba313014ddc559ea12cd191dd5f885d74be;hp=3e89bfee6e2366d52247d7b497044d938c96f70a;hb=c8865f8136111276c5f1f21819272c208ed97532;hpb=06941d1065d0885758d057108e8f6b317a02d952 diff --git a/src/modest-signal-mgr.c b/src/modest-signal-mgr.c index 3e89bfe..ad681ba 100644 --- a/src/modest-signal-mgr.c +++ b/src/modest-signal-mgr.c @@ -89,9 +89,9 @@ obj_in_a_signal_handler (gconstpointer a, if (list_item_handler->obj == handler->obj && !strcmp (list_item_handler->signal_name, handler->signal_name)) - return 0; + return FALSE; else - return 1; + return TRUE; } GSList * @@ -124,3 +124,26 @@ modest_signal_mgr_disconnect (GSList *list, /* Remove item from list */ return g_slist_delete_link (list, item); } + +gboolean +modest_signal_mgr_is_connected (GSList *list, + GObject *instance, + const gchar *signal_name) +{ + GSList *item = NULL; + SignalHandler *tmp = NULL; + + /* Build the helper object */ + tmp = g_new (SignalHandler, 1); + tmp->obj = instance; + tmp->signal_name = g_strdup (signal_name); + + /* Find the element */ + item = g_slist_find_custom (list, tmp, obj_in_a_signal_handler); + + /* Free the handlers */ + g_free (tmp->signal_name); + g_free (tmp); + + return (item != NULL) ? TRUE : FALSE; +}