|
1 #ifndef EVENTLOGGERENGINE_H |
|
2 #define EVENTLOGGERENGINE_H |
|
3 #include "qmessageglobal.h" |
|
4 #include "qmessagemanager.h" |
|
5 #include "qmessageaccount.h" |
|
6 #include "qmessageaccountid.h" |
|
7 #include "qmessageaccount_p.h" |
|
8 #include "qmessageaccountfilter.h" |
|
9 #include "qmessageaccountfilter_p.h" |
|
10 #include "qmessageservice.h" |
|
11 #include "qmessage.h" |
|
12 #include "qmessagemanager.h" |
|
13 #include "maemohelpers_p.h" |
|
14 #include "qmessagestore_p.h" |
|
15 #include "qmessage_p.h" |
|
16 #include "qmessagefilter.h" |
|
17 #include "qmessagefilter_p.h" |
|
18 #include "qmessagefolderfilter_p.h" |
|
19 #include <QObject> |
|
20 |
|
21 extern "C" { |
|
22 |
|
23 #include <glib.h> |
|
24 #include <rtcom-eventlogger/eventlogger.h> |
|
25 #include <dbus/dbus.h> |
|
26 #include <dbus/dbus-glib-lowlevel.h> |
|
27 |
|
28 }; |
|
29 |
|
30 QTM_BEGIN_NAMESPACE |
|
31 |
|
32 |
|
33 class EventLoggerEngine |
|
34 { |
|
35 |
|
36 public: |
|
37 |
|
38 explicit EventLoggerEngine(QObject *parent = 0); |
|
39 static EventLoggerEngine* instance(); |
|
40 void unregisterNotificationFilter(QMessageManager::NotificationFilterId notificationFilterId); |
|
41 QMessageManager::NotificationFilterId registerNotificationFilter(QMessageStorePrivate& aPrivateStore,const QMessageFilter &filter); |
|
42 QMessage message(const QMessageId& id); |
|
43 bool deleteMessage(const QMessageId& id); |
|
44 QMessage eventToMessage(RTComElEvent & ev); |
|
45 void notification(int eventId, QString servive,QMessageStorePrivate::NotificationType notificationType); |
|
46 static void new_event_cb(RTComEl *el,int event_id, |
|
47 const char *local_uid,const char *remote_uid,const char *remote_ebook_uid, |
|
48 const char *group_uid,const char *service,EventLoggerEngine *p); |
|
49 void newEvent(int event_id, |
|
50 const char *local_uid,const char *remote_uid,const char *remote_ebook_uid, |
|
51 const char *group_uid,const char *service); |
|
52 QMessageIdList filterAndOrderMessages(const QMessageFilter &filter, const QMessageSortOrder& sortOrder, |
|
53 QString body, QMessageDataComparator::MatchFlags matchFlags); |
|
54 |
|
55 signals: |
|
56 |
|
57 public slots: |
|
58 |
|
59 private: |
|
60 QMessageStorePrivate* ipMessageStorePrivate; |
|
61 void debugMessage(QMessage &message); |
|
62 RTComEl *el; |
|
63 DBusConnection * dbus; |
|
64 bool iListenForNotifications; |
|
65 QMessageManager::NotificationFilterId _filterId; |
|
66 QMap<QMessageManager::NotificationFilterId, QMessageFilter> _filters; |
|
67 |
|
68 }; |
|
69 |
|
70 QTM_END_NAMESPACE |
|
71 #endif // EVENTLOGGERENGINE_H |