feat(EventsDb): add deleteEvent impl

This commit is contained in:
Ronan Abhamon 2017-10-10 11:20:50 +02:00
parent 086a749511
commit ec8327d102
3 changed files with 22 additions and 4 deletions

View file

@ -28,11 +28,12 @@
#include "abstract/abstract-db-p.h" #include "abstract/abstract-db-p.h"
#include "chat/chat-message.h" #include "chat/chat-message.h"
#include "content/content.h"
#include "conference/participant.h" #include "conference/participant.h"
#include "content/content.h"
#include "db/provider/db-session-provider.h" #include "db/provider/db-session-provider.h"
#include "event-log/call-event.h" #include "event-log/call-event.h"
#include "event-log/chat-message-event.h" #include "event-log/chat-message-event.h"
#include "event-log/event-log-p.h"
#include "logger/logger.h" #include "logger/logger.h"
#include "events-db.h" #include "events-db.h"
@ -501,14 +502,26 @@ EventsDb::EventsDb () : AbstractDb(*new EventsDbPrivate) {}
} }
bool EventsDb::deleteEvent (const EventLog &eventLog) { bool EventsDb::deleteEvent (const EventLog &eventLog) {
L_D();
if (!isConnected()) { if (!isConnected()) {
lWarning() << "Unable to delete event. Not connected."; lWarning() << "Unable to delete event. Not connected.";
return false; return false;
} }
// TODO. int &id = const_cast<EventLog &>(eventLog).getPrivate()->id;
(void)eventLog; if (id < 0)
return true; return false;
L_BEGIN_LOG_EXCEPTION
soci::session *session = d->dbSession.getBackendSession<soci::session>();
*session << "DELETE FROM event WHERE id = :id", soci::use(id);
id = -1;
L_END_LOG_EXCEPTION
return id == -1;
} }
void EventsDb::cleanEvents (FilterMask mask) { void EventsDb::cleanEvents (FilterMask mask) {

View file

@ -28,6 +28,9 @@
LINPHONE_BEGIN_NAMESPACE LINPHONE_BEGIN_NAMESPACE
class EventLogPrivate : public ClonableObjectPrivate { class EventLogPrivate : public ClonableObjectPrivate {
public:
int id = -1;
private: private:
EventLog::Type type = EventLog::Type::None; EventLog::Type type = EventLog::Type::None;

View file

@ -32,6 +32,8 @@ LINPHONE_BEGIN_NAMESPACE
class EventLogPrivate; class EventLogPrivate;
class LINPHONE_PUBLIC EventLog : public ClonableObject { class LINPHONE_PUBLIC EventLog : public ClonableObject {
friend class EventsDb;
public: public:
L_DECLARE_ENUM(Type, L_ENUM_VALUES_EVENT_LOG_TYPE); L_DECLARE_ENUM(Type, L_ENUM_VALUES_EVENT_LOG_TYPE);