Added CSV parsing and export of Symbian-format Event logs that have had their tables...
[qwerkisync] / EventTypes / PhoneCall.h
index 223f30d..415fb7f 100644 (file)
@@ -26,6 +26,7 @@
 #include <QList>
 #include <QString>
 
+#include "EventTypes/iCSVSymbianEvent.h"
 #include "RtcomEvent.h"
 
 #include "AttachmentCollection.h"
@@ -34,13 +35,13 @@ class Settings;
 
 namespace EventTypes
 {
-       class PhoneCall : public RtcomEvent
+       class PhoneCall : public RtcomEvent, public EventTypes::iCSVSymbianEvent
        {
        public:
                virtual const DBBackends::iDBBackend &DB() const;
 
                PhoneCall(const Settings &settings);
-               PhoneCall(const Settings &settings, const Settings::eDirection destination, const QDateTime &timestamp, const QString &tel, int durationInSeconds, const AttachmentCollection &attachments = AttachmentCollection());
+               PhoneCall(const Settings &settings, const Settings::eDirection destination, const QDateTime &timestamp, const QString &tel, const int durationInSeconds, const bool isMissedCall, const AttachmentCollection &attachments = AttachmentCollection());
                ~PhoneCall();
 
                virtual const uint HashCode() const;
@@ -60,11 +61,16 @@ namespace EventTypes
                virtual const AttachmentCollection & Attachments() const { return m_Attachments; }
                virtual AttachmentCollection & Attachments() { return m_Attachments; }
 
+               const bool IsMissedCall() const { return m_IsMissedCall; }
+               void IsMissedCall(const bool isMissedCall) { m_IsMissedCall = isMissedCall; }
+
        public:
-               virtual void Export(const QString &baseDirectory) const;
                PhoneCall(const Settings &settings, const RTComElEvent& event, const QList<RTComElAttachment*> attachments = QList<RTComElAttachment*>());
                virtual RTComElEvent * toRTComEvent(const NumberToNameLookup &numberToNameLookup) const;
 
+       public:
+               virtual void WriteCSVSymbian(QTextStream &stream, const ColumnIndicesByIndexHash &headerIndices, const QChar delimiter, const NumberToNameLookup &numberToNameLookup, SymbianEventLogStrings &strings) const;
+
        protected:
                const Settings &CurrentSettings() const { return m_Settings; }
 
@@ -74,6 +80,7 @@ namespace EventTypes
                QDateTime m_Timestamp;
                QString m_Tel;
                int m_DurationInSeconds;
+               bool m_IsMissedCall;
                AttachmentCollection m_Attachments;
        };
 }