---
 drivers/atmodem/voicecall.c |   51 +++++++++++++++++++++++++++----------------
 1 files changed, 32 insertions(+), 19 deletions(-)

diff --git a/drivers/atmodem/voicecall.c b/drivers/atmodem/voicecall.c
index 583e037..42b44fa 100644
--- a/drivers/atmodem/voicecall.c
+++ b/drivers/atmodem/voicecall.c
@@ -161,7 +161,8 @@ static void clcc_poll_cb(gboolean ok, GAtResult *result, 
gpointer user_data)
                nc = n ? n->data : NULL;
                oc = o ? o->data : NULL;
 
-               if (nc && nc->status >= 2 && nc->status <= 5)
+               if (nc && nc->status >= CALL_STATUS_DIALING &&
+                               nc->status <= CALL_STATUS_WAITING)
                        poll_again = TRUE;
 
                if (oc && (nc == NULL || (nc->id > oc->id))) {
@@ -216,7 +217,8 @@ static void clcc_poll_cb(gboolean ok, GAtResult *result, 
gpointer user_data)
                         * arrives, or RING is used, then signal the call
                         * here
                         */
-                       if (nc->status == 4 && (vd->flags & FLAG_NEED_CLIP)) {
+                       if (nc->status == CALL_STATUS_INCOMING &&
+                                       (vd->flags & FLAG_NEED_CLIP)) {
                                if (nc->type == 0)
                                        ofono_voicecall_notify(vc, nc);
 
@@ -323,10 +325,10 @@ static void atd_cb(gboolean ok, GAtResult *result, 
gpointer user_data)
        for (l = vd->calls; l; l = l->next) {
                call = l->data;
 
-               if (call->status != 0)
+               if (call->status != CALL_STATUS_ACTIVE)
                        continue;
 
-               call->status = 1;
+               call->status = CALL_STATUS_HELD;
                ofono_voicecall_notify(vc, call);
        }
 
@@ -345,7 +347,7 @@ static void atd_cb(gboolean ok, GAtResult *result, gpointer 
user_data)
        }
 
        /* Generate a voice call that was just dialed, we guess the ID */
-       call = create_call(vc, 0, 0, 2, num, type, validity);
+       call = create_call(vc, 0, 0, CALL_STATUS_DIALING, num, type, validity);
        if (call == NULL) {
                ofono_error("Unable to malloc, call tracking will fail!");
                return;
@@ -467,14 +469,16 @@ static void at_hold_all_active(struct ofono_voicecall *vc,
 static void at_release_all_held(struct ofono_voicecall *vc,
                                ofono_voicecall_cb_t cb, void *data)
 {
-       unsigned int held_status = 0x1 << 1;
+       unsigned int held_status = 0x1 << CALL_STATUS_HELD;
        at_template("AT+CHLD=0", vc, generic_cb, held_status, cb, data);
 }
 
 static void at_set_udub(struct ofono_voicecall *vc,
                        ofono_voicecall_cb_t cb, void *data)
 {
-       unsigned int incoming_or_waiting = (0x1 << 4) | (0x1 << 5);
+       unsigned int incoming_or_waiting =
+               (0x1 << CALL_STATUS_INCOMING) | (0x1 << CALL_STATUS_WAITING);
+
        at_template("AT+CHLD=0", vc, generic_cb, incoming_or_waiting,
                        cb, data);
 }
@@ -547,7 +551,8 @@ static void at_deflect(struct ofono_voicecall *vc,
                        ofono_voicecall_cb_t cb, void *data)
 {
        char buf[128];
-       unsigned int incoming_or_waiting = (0x1 << 4) | (0x1 << 5);
+       unsigned int incoming_or_waiting =
+               (0x1 << CALL_STATUS_INCOMING) | (0x1 << CALL_STATUS_WAITING);
 
        snprintf(buf, sizeof(buf), "AT+CTFR=%s,%d", ph->number, ph->type);
        at_template(buf, vc, generic_cb, incoming_or_waiting, cb, data);
@@ -631,17 +636,19 @@ static void ring_notify(GAtResult *result, gpointer 
user_data)
        struct ofono_call *call;
 
        /* See comment in CRING */
-       if (g_slist_find_custom(vd->calls, GINT_TO_POINTER(5),
+       if (g_slist_find_custom(vd->calls,
+                               GINT_TO_POINTER(CALL_STATUS_WAITING),
                                at_util_call_compare_by_status))
                return;
 
        /* RING can repeat, ignore if we already have an incoming call */
-       if (g_slist_find_custom(vd->calls, GINT_TO_POINTER(4),
+       if (g_slist_find_custom(vd->calls,
+                               GINT_TO_POINTER(CALL_STATUS_INCOMING),
                                at_util_call_compare_by_status))
                return;
 
        /* Generate an incoming call of unknown type */
-       call = create_call(vc, 9, 1, 4, NULL, 128, 2);
+       call = create_call(vc, 9, 1, CALL_STATUS_INCOMING, NULL, 128, 2);
        if (call == NULL) {
                ofono_error("Couldn't create call, call management is fubar!");
                return;
@@ -667,12 +674,14 @@ static void cring_notify(GAtResult *result, gpointer 
user_data)
         * the stage change.  If this happens, simply ignore the RING/CRING
         * when a waiting call exists (cannot have waiting + incoming in GSM)
         */
-       if (g_slist_find_custom(vd->calls, GINT_TO_POINTER(5),
+       if (g_slist_find_custom(vd->calls,
+                               GINT_TO_POINTER(CALL_STATUS_WAITING),
                                at_util_call_compare_by_status))
                return;
 
        /* CRING can repeat, ignore if we already have an incoming call */
-       if (g_slist_find_custom(vd->calls, GINT_TO_POINTER(4),
+       if (g_slist_find_custom(vd->calls,
+                               GINT_TO_POINTER(CALL_STATUS_INCOMING),
                                at_util_call_compare_by_status))
                return;
 
@@ -692,7 +701,7 @@ static void cring_notify(GAtResult *result, gpointer 
user_data)
                type = 9;
 
        /* Generate an incoming call */
-       create_call(vc, type, 1, 4, NULL, 128, 2);
+       create_call(vc, type, 1, CALL_STATUS_INCOMING, NULL, 128, 2);
 
        /* We have a call, and call type but don't know the number and
         * must wait for the CLIP to arrive before announcing the call.
@@ -715,7 +724,8 @@ static void clip_notify(GAtResult *result, gpointer 
user_data)
        GSList *l;
        struct ofono_call *call;
 
-       l = g_slist_find_custom(vd->calls, GINT_TO_POINTER(4),
+       l = g_slist_find_custom(vd->calls,
+                               GINT_TO_POINTER(CALL_STATUS_INCOMING),
                                at_util_call_compare_by_status);
        if (l == NULL) {
                ofono_error("CLIP for unknown call");
@@ -776,7 +786,8 @@ static void cdip_notify(GAtResult *result, gpointer 
user_data)
        GSList *l;
        struct ofono_call *call;
 
-       l = g_slist_find_custom(vd->calls, GINT_TO_POINTER(4),
+       l = g_slist_find_custom(vd->calls,
+                               GINT_TO_POINTER(CALL_STATUS_INCOMING),
                                at_util_call_compare_by_status);
        if (l == NULL) {
                ofono_error("CDIP for unknown call");
@@ -824,7 +835,8 @@ static void cnap_notify(GAtResult *result, gpointer 
user_data)
        GSList *l;
        struct ofono_call *call;
 
-       l = g_slist_find_custom(vd->calls, GINT_TO_POINTER(4),
+       l = g_slist_find_custom(vd->calls,
+                               GINT_TO_POINTER(CALL_STATUS_INCOMING),
                                at_util_call_compare_by_status);
        if (l == NULL) {
                ofono_error("CNAP for unknown call");
@@ -877,7 +889,8 @@ static void ccwa_notify(GAtResult *result, gpointer 
user_data)
        struct ofono_call *call;
 
        /* Some modems resend CCWA, ignore it the second time around */
-       if (g_slist_find_custom(vd->calls, GINT_TO_POINTER(5),
+       if (g_slist_find_custom(vd->calls,
+                               GINT_TO_POINTER(CALL_STATUS_WAITING),
                                at_util_call_compare_by_status))
                return;
 
@@ -908,7 +921,7 @@ static void ccwa_notify(GAtResult *result, gpointer 
user_data)
 
        DBG("%s %d %d %d", num, num_type, cls, validity);
 
-       call = create_call(vc, class_to_call_type(cls), 1, 5,
+       call = create_call(vc, class_to_call_type(cls), 1, CALL_STATUS_WAITING,
                                num, num_type, validity);
        if (call == NULL) {
                ofono_error("Unable to malloc. Call management is fubar");
-- 
1.7.0.4

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

Reply via email to