---
 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

Reply via email to