--- src/history.c | 24 ++++++++++++++++++++++++ src/ofono.h | 4 ++++ 2 files changed, 28 insertions(+), 0 deletions(-)
diff --git a/src/history.c b/src/history.c index 0229cf5..31efadb 100644 --- a/src/history.c +++ b/src/history.c @@ -114,6 +114,30 @@ void __ofono_history_probe_drivers(struct ofono_modem *modem) } } +static void history_call_started(struct ofono_atom *atom, void *data) +{ + struct ofono_history_context *context = __ofono_atom_get_data(atom); + struct history_call_foreach_data *hfd = data; + + if (context->driver->call_started == NULL) + return; + + context->driver->call_started(context, hfd->call, hfd->start); +} + +void __ofono_history_call_started(struct ofono_modem *modem, + const struct ofono_call *call, + time_t start) +{ + struct history_call_foreach_data hfd; + + hfd.call = call; + hfd.start = start; + + __ofono_modem_foreach_atom(modem, OFONO_ATOM_TYPE_HISTORY, + history_call_started, &hfd); +} + static void history_call_ended(struct ofono_atom *atom, void *data) { struct ofono_history_context *context = __ofono_atom_get_data(atom); diff --git a/src/ofono.h b/src/ofono.h index 4d76d20..61a0637 100644 --- a/src/ofono.h +++ b/src/ofono.h @@ -368,6 +368,10 @@ void __ofono_netreg_set_base_station_name(struct ofono_netreg *netreg, void __ofono_history_probe_drivers(struct ofono_modem *modem); +void __ofono_history_call_started(struct ofono_modem *modem, + const struct ofono_call *call, + time_t start); + void __ofono_history_call_ended(struct ofono_modem *modem, const struct ofono_call *call, time_t start, time_t end); -- 1.7.0.4 _______________________________________________ ofono mailing list ofono@ofono.org http://lists.ofono.org/listinfo/ofono