pEpForKDE/akonadi_pep_agent/pepagent.h

65 lines
1.7 KiB
C++

#ifndef PEP_RESOURCE_H
#define PEP_RESOURCE_H
#include <ResourceBase>
#include <KMime/Message>
#include <KJob>
#include <QSet>
#include <QDBusInterface>
#include <AkonadiCore/AgentInstance>
#include "pepagent_p.h"
#include "pepmessage.h"
class pEpAgent :
public Akonadi::ResourceBase,
public Akonadi::AgentBase::Observer
{
Q_OBJECT
public:
explicit pEpAgent(const QString &id);
~pEpAgent() = default;
void test();
//pEpMessage* decryptMessage(const KMime::Message::Ptr &value);
pEpMessage* decryptMessage(const QByteArray &content);
protected Q_SLOTS:
void retrieveCollections() override;
void retrieveItems(const Akonadi::Collection &col) override {};
protected:
void itemsReceiviedForFiltering(const Akonadi::Item::List &items);
void itemAdded(const Akonadi::Item &item, const Akonadi::Collection &collection);
void mailCollectionAdded(const Akonadi::Collection &collection, const Akonadi::Collection &);
void mailCollectionRemoved(const Akonadi::Collection &collection);
void mailCollectionChanged(const Akonadi::Collection &collection);
private Q_SLOTS:
void slotInstanceRemoved(const Akonadi::AgentInstance &instance);
void slotItemChanged(const Akonadi::Item &item);
private:
Q_DECLARE_PRIVATE(pEpAgent)
void initialCollectionFetchingDone(KJob *job);
void initializeCollections();
void emitProgress(int p);
void emitProgressMessage(const QString &message);
void configure(WId windowId);
void clearMessage();
void emitStatusReady();
bool isFilterableCollection(const Akonadi::Collection &collection) const;
QTimer *mProgressTimer;
QDBusInterface *m_pEpEngine;
int mProgressCounter;
};
#endif