diff options
author | Claudio Takahasi <claudio.takahasi@openbossa.org> | 2013-02-28 15:52:50 -0300 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2013-03-01 13:32:11 -0600 |
commit | 4fcd08485960f6294ba659926cdbd94d13e1250e (patch) | |
tree | d7107f3c53676dd4fbe28e7507db3a4b3356dea0 /src/handsfree-audio.c | |
parent | 80212a3db2d5a0b1cccb84ae183a917175d34a8a (diff) | |
download | ofono-4fcd08485960f6294ba659926cdbd94d13e1250e.tar.bz2 |
handsfree-audio: Check CVSD when registering agent
This patch makes CVSD codec mandatory when registering a Handsfree
Audio Agent.
Diffstat (limited to 'src/handsfree-audio.c')
-rw-r--r-- | src/handsfree-audio.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/handsfree-audio.c b/src/handsfree-audio.c index b2d4b971..bfce42a3 100644 --- a/src/handsfree-audio.c +++ b/src/handsfree-audio.c @@ -307,6 +307,7 @@ static DBusMessage *am_agent_register(DBusConnection *conn, unsigned char *codecs; DBusMessageIter iter, array; int length, i; + gboolean has_cvsd = FALSE; if (agent) return __ofono_error_in_use(msg); @@ -326,11 +327,17 @@ static DBusMessage *am_agent_register(DBusConnection *conn, return __ofono_error_invalid_args(msg); for (i = 0; i < length; i++) { - if (codecs[i] != HFP_CODEC_CVSD && - codecs[i] != HFP_CODEC_MSBC) + if (codecs[i] == HFP_CODEC_CVSD) + has_cvsd = TRUE; + else if (codecs[i] != HFP_CODEC_MSBC) return __ofono_error_invalid_args(msg); } + if (has_cvsd == FALSE) { + ofono_error("CVSD codec is mandatory"); + return __ofono_error_invalid_args(msg); + } + agent = g_new0(struct agent, 1); agent->owner = g_strdup(sender); agent->path = g_strdup(path); |