diff options
author | Lars Uebernickel <lars.uebernickel@canonical.com> | 2012-11-26 20:12:13 +0100 |
---|---|---|
committer | Lars Uebernickel <lars.uebernickel@canonical.com> | 2012-11-26 20:12:13 +0100 |
commit | 9287c2e6577e71d8f68d9c9e7d393a4f8524ab10 (patch) | |
tree | b5c87bcc747acd9cc8f261c6d3d62c7cf8a8daf4 /libmessaging-menu | |
parent | b2c6b50cdfc1cc9a288516cef102ad2943b0e950 (diff) | |
download | ayatana-indicator-messages-9287c2e6577e71d8f68d9c9e7d393a4f8524ab10.tar.gz ayatana-indicator-messages-9287c2e6577e71d8f68d9c9e7d393a4f8524ab10.tar.bz2 ayatana-indicator-messages-9287c2e6577e71d8f68d9c9e7d393a4f8524ab10.zip |
Tell applications when messages and sources are dismissed
Right now, this is only used to clean up internal data structures in
libmessaging-menu. It's not exposed to the application itself.
Diffstat (limited to 'libmessaging-menu')
-rw-r--r-- | libmessaging-menu/messaging-menu-app.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/libmessaging-menu/messaging-menu-app.c b/libmessaging-menu/messaging-menu-app.c index 61547c5..d037da9 100644 --- a/libmessaging-menu/messaging-menu-app.c +++ b/libmessaging-menu/messaging-menu-app.c @@ -607,6 +607,25 @@ messaging_menu_app_activate_message (IndicatorMessagesApplication *app_interface return TRUE; } +static gboolean +messaging_menu_app_dismiss (IndicatorMessagesApplication *app_interface, + GDBusMethodInvocation *invocation, + const gchar * const *sources, + const gchar * const *messages, + gpointer user_data) +{ + MessagingMenuApp *app = user_data; + const gchar * const *it; + + for (it = sources; *it; it++) + messaging_menu_app_remove_source_internal (app, *it); + + for (it = messages; *it; it++) + messaging_menu_app_remove_message_internal (app, *it); + + return TRUE; +} + static void messaging_menu_app_init (MessagingMenuApp *app) { @@ -625,6 +644,8 @@ messaging_menu_app_init (MessagingMenuApp *app) G_CALLBACK (messaging_menu_app_list_messages), app); g_signal_connect (app->app_interface, "handle-activate-message", G_CALLBACK (messaging_menu_app_activate_message), app); + g_signal_connect (app->app_interface, "handle-dismiss", + G_CALLBACK (messaging_menu_app_dismiss), app); app->messages = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_object_unref); |