diff --git a/include/linphone/api/c-event-log.h b/include/linphone/api/c-event-log.h index 5ebcae081..077438469 100644 --- a/include/linphone/api/c-event-log.h +++ b/include/linphone/api/c-event-log.h @@ -61,6 +61,12 @@ LINPHONE_PUBLIC LinphoneEventLogType linphone_event_log_get_type (const Linphone */ LINPHONE_PUBLIC time_t linphone_event_log_get_creation_time (const LinphoneEventLog *event_log); +/** + * Delete event log from database. + * @param[in] event_log A #LinphoneEventLog object + */ +LINPHONE_PUBLIC void linphone_event_log_delete_from_database (LinphoneEventLog *event_log); + // ----------------------------------------------------------------------------- // ConferenceEvent. // ----------------------------------------------------------------------------- diff --git a/src/c-wrapper/api/c-event-log.cpp b/src/c-wrapper/api/c-event-log.cpp index 0a12eefbb..9e8e6aa36 100644 --- a/src/c-wrapper/api/c-event-log.cpp +++ b/src/c-wrapper/api/c-event-log.cpp @@ -190,6 +190,10 @@ time_t linphone_event_log_get_creation_time (const LinphoneEventLog *event_log) return L_GET_CPP_PTR_FROM_C_OBJECT(event_log)->getCreationTime(); } +void linphone_event_log_delete_from_database (LinphoneEventLog *event_log) { + LinphonePrivate::EventLog::deleteFromDatabase(L_GET_CPP_PTR_FROM_C_OBJECT(event_log)); +} + // ----------------------------------------------------------------------------- // ConferenceEvent. // ----------------------------------------------------------------------------- diff --git a/src/event-log/event-log.cpp b/src/event-log/event-log.cpp index 86e92a668..e6d44b787 100644 --- a/src/event-log/event-log.cpp +++ b/src/event-log/event-log.cpp @@ -17,10 +17,13 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +#include "db/main-db.h" #include "event-log-p.h" // ============================================================================= +using namespace std; + LINPHONE_BEGIN_NAMESPACE EventLog::EventLog () : BaseObject(*new EventLogPrivate) {} @@ -41,4 +44,8 @@ time_t EventLog::getCreationTime () const { return d->creationTime; } +void EventLog::deleteFromDatabase (const shared_ptr &eventLog) { + MainDb::deleteEvent(eventLog); +} + LINPHONE_END_NAMESPACE diff --git a/src/event-log/event-log.h b/src/event-log/event-log.h index b12a4cfc4..660003d77 100644 --- a/src/event-log/event-log.h +++ b/src/event-log/event-log.h @@ -21,6 +21,7 @@ #define _EVENT_LOG_H_ #include +#include #include "linphone/enums/event-log-enums.h" #include "linphone/utils/enum-generator.h" @@ -45,6 +46,8 @@ public: Type getType () const; time_t getCreationTime () const; + static void deleteFromDatabase (const std::shared_ptr &eventLog); + protected: EventLog (EventLogPrivate &p, Type type, time_t creationTime);