return 0;
}
-GSList *at_util_parse_clcc(GAtResult *result)
+GSList *at_util_parse_clcc(GAtResult *result, unsigned int *ret_mpty_ids)
{
GAtResultIter iter;
GSList *l = NULL;
int id, dir, status, type;
ofono_bool_t mpty;
struct ofono_call *call;
+ unsigned int mpty_ids = 0;
g_at_result_iter_init(&iter, result);
call->clip_validity = 2;
l = g_slist_insert_sorted(l, call, at_util_call_compare);
+
+ if (mpty)
+ mpty_ids |= 1 << id;
}
+ if (ret_mpty_ids)
+ *ret_mpty_ids = mpty_ids;
+
return l;
}
gint at_util_call_compare_by_phone_number(gconstpointer a, gconstpointer b);
gint at_util_call_compare_by_id(gconstpointer a, gconstpointer b);
gint at_util_call_compare(gconstpointer a, gconstpointer b);
-GSList *at_util_parse_clcc(GAtResult *result);
+GSList *at_util_parse_clcc(GAtResult *result, unsigned int *mpty_ids);
gboolean at_util_parse_reg(GAtResult *result, const char *prefix,
int *mode, int *status,
int *lac, int *ci, int *tech,
return;
}
- calls = at_util_parse_clcc(result);
+ calls = at_util_parse_clcc(result, NULL);
n = calls;
o = vd->calls;
if (!ok)
return;
- vd->calls = at_util_parse_clcc(result);
+ vd->calls = at_util_parse_clcc(result, NULL);
for (l = vd->calls; l; l = l->next)
ofono_voicecall_notify(vc, l->data);