File indexing completed on 2024-05-12 05:23:16

0001 #pragma once
0002 
0003 #include <MailCommon/MailInterfaces>
0004 
0005 namespace Akonadi
0006 {
0007 class EntityTreeModel;
0008 class EntityMimeTypeFilterModel;
0009 }
0010 
0011 namespace MailCommon
0012 {
0013 class FolderCollectionMonitor;
0014 }
0015 
0016 class DummyKernel : public QObject, public MailCommon::IKernel, public MailCommon::ISettings
0017 {
0018 public:
0019     explicit DummyKernel(QObject *parent = nullptr);
0020 
0021     KIdentityManagementCore::IdentityManager *identityManager() override;
0022     MessageComposer::MessageSender *msgSender() override;
0023 
0024     Akonadi::EntityMimeTypeFilterModel *collectionModel() const override;
0025     KSharedConfig::Ptr config() override;
0026     void syncConfig() override;
0027     MailCommon::JobScheduler *jobScheduler() const override;
0028     Akonadi::ChangeRecorder *folderCollectionMonitor() const override;
0029     void updateSystemTray() override;
0030 
0031     qreal closeToQuotaThreshold() override;
0032     bool excludeImportantMailFromExpiry() override;
0033     QStringList customTemplates() override;
0034     Akonadi::Collection::Id lastSelectedFolder() override;
0035     void setLastSelectedFolder(Akonadi::Collection::Id col) override;
0036     bool showPopupAfterDnD() override;
0037     void expunge(Akonadi::Collection::Id col, bool sync) override;
0038 
0039 private:
0040     KIdentityManagementCore::IdentityManager *mIdentityManager = nullptr;
0041     MessageComposer::MessageSender *mMessageSender = nullptr;
0042     MailCommon::FolderCollectionMonitor *mFolderCollectionMonitor = nullptr;
0043     Akonadi::EntityTreeModel *mEntityTreeModel = nullptr;
0044     Akonadi::EntityMimeTypeFilterModel *mCollectionModel = nullptr;
0045 };