---
src/emulator.c | 16 ++++++++++++++++
1 files changed, 16 insertions(+), 0 deletions(-)
diff --git a/src/emulator.c b/src/emulator.c
index 1d4fbc6..2f39599 100644
--- a/src/emulator.c
+++ b/src/emulator.c
@@ -49,6 +49,9 @@ struct ofono_emulator {
int events_mode;
gboolean events_ind;
GSList *indicators;
+ void *user_data;
+ ofono_emulator_audio_conn_cb_t conn_cb;
+ void *conn_user_data;
};
struct indicator {
@@ -390,6 +393,8 @@ fail:
static void ckpd_cb(GAtServer *server, GAtServerRequestType type,
GAtResult *result, gpointer user_data)
{
+ struct ofono_emulator *em = user_data;
+
switch (type) {
case G_AT_SERVER_REQUEST_TYPE_SET:
{
@@ -404,6 +409,9 @@ static void ckpd_cb(GAtServer *server, GAtServerRequestType type,
if (key != 200)
goto fail;
+ if(em->conn_cb != NULL)
+ em->conn_cb(em, em->conn_user_data);
+
g_at_server_send_final(server, G_AT_SERVER_RESULT_OK);
break;
}
@@ -734,3 +742,11 @@ void ofono_emulator_set_indicator(struct ofono_emulator *em,
return;
}
}
+
+void ofono_emulator_set_audio_connect_handler(struct ofono_emulator *em,
+ ofono_emulator_audio_conn_cb_t cb,
+ void *user_data)
+{
+ em->conn_cb = cb;
+ em->conn_user_data = user_data;
+}
--
1.7.1