File indexing completed on 2025-02-02 05:02:29
0001 /* 0002 SPDX-FileCopyrightText: 2020 Volker Krause <vkrause@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #ifndef IMPORTEXPORT_H 0008 #define IMPORTEXPORT_H 0009 0010 class DocumentManager; 0011 class FavoriteLocationModel; 0012 class HealthCertificateManager; 0013 class LiveDataManager; 0014 class PassManager; 0015 class PkPassManager; 0016 class ReservationManager; 0017 class TransferManager; 0018 0019 namespace KItinerary { 0020 class File; 0021 } 0022 0023 class QString; 0024 0025 /** Data export handling. */ 0026 class Exporter 0027 { 0028 public: 0029 explicit Exporter(KItinerary::File *file); 0030 0031 void exportReservations(const ReservationManager *resMgr); 0032 void exportReservationBatch(const ReservationManager *resMgr, const QString &batchId); 0033 void exportPasses(const PkPassManager *pkPassMgr); 0034 void exportPkPass(const PkPassManager *pkPassMgr, const QString &passId); 0035 void exportDocuments(const DocumentManager *docMgr); 0036 void exportDocument(const DocumentManager *docMgr, const QString &docId); 0037 void exportTransfers(const ReservationManager *resMgr, const TransferManager *transferMgr); 0038 void exportTransfersForBatch(const QString &batchId, const TransferManager *transferMgr); 0039 void exportFavoriteLocations(const FavoriteLocationModel *favLocModel); 0040 void exportPasses(const PassManager *passMgr); 0041 void exportHealthCertificates(const HealthCertificateManager *healthCertMgr); 0042 void exportLiveData(); 0043 void exportLiveDataForBatch(const QString &batchId); 0044 void exportSettings(); 0045 0046 private: 0047 KItinerary::File *m_file; 0048 }; 0049 0050 /** Data import handling. */ 0051 class Importer 0052 { 0053 public: 0054 explicit Importer(const KItinerary::File *file); 0055 0056 int importReservations(ReservationManager *resMgr); 0057 int importPasses(PkPassManager *pkPassMgr); 0058 int importDocuments(DocumentManager *docMgr); 0059 int importTransfers(const ReservationManager *resMgr, TransferManager *transferMgr); 0060 int importFavoriteLocations(FavoriteLocationModel *favLocModel); 0061 int importPasses(PassManager *passMgr); 0062 int importHealthCertificates(HealthCertificateManager *healthCertMgr); 0063 int importLiveData(LiveDataManager *liveDataMgr); 0064 int importSettings(); 0065 0066 private: 0067 const KItinerary::File *m_file; 0068 }; 0069 0070 #endif // IMPORTEXPORT_H