File indexing completed on 2025-03-09 04:56:43
0001 /* 0002 * SPDX-FileCopyrightText: 2014 Kevin Ottens <ervin@kde.org> 0003 * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0004 */ 0005 0006 0007 #ifndef AKONADI_DATASOURCEREPOSITORY_H 0008 #define AKONADI_DATASOURCEREPOSITORY_H 0009 0010 #include "domain/datasourcerepository.h" 0011 0012 #include "akonadi/akonadiserializerinterface.h" 0013 #include "akonadi/akonadistorageinterface.h" 0014 0015 namespace Akonadi { 0016 0017 class SerializerInterface; 0018 class StorageInterface; 0019 0020 class DataSourceRepository : public QObject, public Domain::DataSourceRepository 0021 { 0022 Q_OBJECT 0023 public: 0024 typedef QSharedPointer<DataSourceRepository> Ptr; 0025 0026 DataSourceRepository(const StorageInterface::Ptr &storage, 0027 const SerializerInterface::Ptr &serializer); 0028 0029 KJob *update(Domain::DataSource::Ptr source) override; 0030 0031 void showConfigDialog() override; 0032 void windowNeedsDataBackend(QWidget *window) override; 0033 0034 private: 0035 StorageInterface::Ptr m_storage; 0036 SerializerInterface::Ptr m_serializer; 0037 }; 0038 0039 } 0040 0041 #endif // AKONADI_DATASOURCEREPOSITORY_H