Files
wino-mail-dtkqt/include/changetype.h
T

40 lines
832 B
C++

// changetype.h
#ifndef CHANGETYPE_H
#define CHANGETYPE_H
#include "eventbus.h"
#include <QString>
#include <QDateTime>
enum ChangeType {
ADD,
DELETE,
UPDATE
};
struct MailChange {
QString mailItemId;
QString type; // ADD, DELETE, UPDATE
QString subject;
QString body;
QDateTime timestamp;
QString changeSource; // e.g., "IMAP_SYNC", "SMTP_SYNC"
};
class ChangeProcessor : public QObject {
Q_OBJECT
public:
explicit ChangeProcessor(EventBus* bus, QObject *parent = nullptr);
void processChange(const MailChange& change);
signals:
void mailChangeDetected(const MailChange& change);
private:
EventBus* m_eventBus;
// In a real system, this would interface with the database/DAO layer.
void applyChangeToModel(const MailChange& change);
};
#endif // CHANGETYPE_H