---
 src/voicecall.c |   20 ++++++++++++++++++++
 1 files changed, 20 insertions(+), 0 deletions(-)

diff --git a/src/voicecall.c b/src/voicecall.c
index 97fc36b..da42fac 100644
--- a/src/voicecall.c
+++ b/src/voicecall.c
@@ -354,6 +354,7 @@ static void append_voicecall_properties(struct voicecall *v,
        const char *name;
        ofono_bool_t mpty;
        dbus_bool_t emergency_call;
+       dbus_bool_t tty;
 
        status = call_status_to_string(call->status);
 
@@ -391,6 +392,9 @@ static void append_voicecall_properties(struct voicecall *v,
 
        ofono_dbus_dict_append(dict, "Multiparty", DBUS_TYPE_BOOLEAN, &mpty);
 
+       tty = call->tty;
+       ofono_dbus_dict_append(dict, "TextTelephony", DBUS_TYPE_BOOLEAN, &tty);
+
        if (v->message)
                ofono_dbus_dict_append(dict, "Information", DBUS_TYPE_STRING,
                                        &v->message);
@@ -675,6 +679,21 @@ static void voicecall_emit_multiparty(struct voicecall 
*call, gboolean mpty)
                                                &val);
 }
 
+static void voicecall_set_call_tty(struct voicecall *call, gboolean tty)
+{
+       if (call->call->tty != tty) {
+               DBusConnection *conn = ofono_dbus_get_connection();
+               const char *path = voicecall_build_path(call->vc, call->call);
+               dbus_bool_t val = tty;
+
+               call->call->tty = tty;
+               ofono_dbus_signal_property_changed(conn, path,
+                                               OFONO_VOICECALL_INTERFACE,
+                                               "TextTelephony",
+                                               DBUS_TYPE_BOOLEAN, &val);
+       }
+}
+
 static void voicecall_set_call_status(struct voicecall *call, int status)
 {
        DBusConnection *conn = ofono_dbus_get_connection();
@@ -1924,6 +1943,7 @@ void ofono_voicecall_notify(struct ofono_voicecall *vc,
 
        if (l) {
                DBG("Found call with id: %d", call->id);
+               voicecall_set_call_tty(l->data, call->tty);
                voicecall_set_call_status(l->data, call->status);
                voicecall_set_call_lineid(l->data, &call->phone_number,
                                                call->clip_validity);
-- 
1.7.0.4

_______________________________________________
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono

Reply via email to