diff options
author | Claudio Takahasi <claudio.takahasi@openbossa.org> | 2013-02-20 18:55:49 -0300 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2013-02-20 21:26:57 -0600 |
commit | 7a7bb7399a53fd109172655e43400a77c4ccb6b8 (patch) | |
tree | 83c3b94e2edfca87a3b8ba89a250587b6bfa20aa /src | |
parent | 19f50c6a3ba4ba4c3cb6d8da6724ec0d2f2062c9 (diff) | |
download | ofono-7a7bb7399a53fd109172655e43400a77c4ccb6b8.tar.bz2 |
handsfree-audio: Call Agent "Release" when exiting
This patch notifies the Agent implementation that it is no longer
registered to the service daemon.
Diffstat (limited to 'src')
-rw-r--r-- | src/handsfree-audio.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/handsfree-audio.c b/src/handsfree-audio.c index 7bb59f08..2635d76a 100644 --- a/src/handsfree-audio.c +++ b/src/handsfree-audio.c @@ -32,6 +32,7 @@ #include "ofono.h" #define HFP_AUDIO_MANAGER_INTERFACE OFONO_SERVICE ".HandsfreeAudioManager" +#define HFP_AUDIO_AGENT_INTERFACE OFONO_SERVICE ".HandsfreeAudioAgent" /* Supported agent codecs */ enum hfp_codec { @@ -56,6 +57,16 @@ static void agent_free(struct agent *agent) g_free(agent); } +static void agent_release(struct agent *agent) +{ + DBusMessage *msg; + + msg = dbus_message_new_method_call(agent->owner, agent->path, + HFP_AUDIO_AGENT_INTERFACE, "Release"); + + g_dbus_send_message(ofono_dbus_get_connection(), msg); +} + static DBusMessage *am_get_cards(DBusConnection *conn, DBusMessage *msg, void *user_data) { @@ -159,6 +170,8 @@ void __ofono_handsfree_audio_manager_cleanup(void) g_dbus_unregister_interface(ofono_dbus_get_connection(), "/", HFP_AUDIO_MANAGER_INTERFACE); - if (agent) + if (agent) { + agent_release(agent); agent_free(agent); + } } |