From b7d9b5d855bf4d1239665f827114b8ca61fc2fcc Mon Sep 17 00:00:00 2001 From: Veloman Yunkan Date: Sun, 25 Aug 2024 17:54:27 +0400 Subject: [PATCH] Enter ContentManager::getMonitoredZimFileInfo() At this point, the new function is just a stub. Indentation is not fixed intentionally (in order to minimize the diff). --- src/contentmanager.cpp | 14 +++++++++++++- src/contentmanager.h | 5 +++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/contentmanager.cpp b/src/contentmanager.cpp index c498c7e..5fed3f5 100644 --- a/src/contentmanager.cpp +++ b/src/contentmanager.cpp @@ -942,6 +942,16 @@ bool ContentManager::handleZimFileInMonitoredDirLogged(QString dir, QString file return status == MonitoredZimFileInfo::ADDED_TO_THE_LIBRARY; } +ContentManager::MonitoredZimFileInfo ContentManager::getMonitoredZimFileInfo(QString dir, QString fileName) const +{ + Q_UNUSED(dir); + Q_UNUSED(fileName); + // TODO: implement properly + MonitoredZimFileInfo zfi; + zfi.status = MonitoredZimFileInfo::PROCESS_NOW; + return zfi; +} + int ContentManager::handleZimFileInMonitoredDir(QString dir, QString fileName) { const auto bookPath = QDir::toNativeSeparators(dir + "/" + fileName); @@ -950,13 +960,15 @@ int ContentManager::handleZimFileInMonitoredDir(QString dir, QString fileName) return MonitoredZimFileInfo::BEING_DOWNLOADED_BY_US; } - MonitoredZimFileInfo zfi; + MonitoredZimFileInfo zfi = getMonitoredZimFileInfo(dir, fileName); + if ( zfi.status == MonitoredZimFileInfo::PROCESS_NOW ) { kiwix::Manager manager(mp_library->getKiwixLibrary()); const bool addedToLib = manager.addBookFromPath(bookPath.toStdString()); zfi.status = addedToLib ? MonitoredZimFileInfo::ADDED_TO_THE_LIBRARY : MonitoredZimFileInfo::COULD_NOT_BE_ADDED_TO_THE_LIBRARY; m_knownZimsInDir[dir].insert(fileName, zfi); + } return zfi.status; } diff --git a/src/contentmanager.h b/src/contentmanager.h index 3c2a2cf..10e659d 100644 --- a/src/contentmanager.h +++ b/src/contentmanager.h @@ -114,7 +114,7 @@ private: // types enum ZimFileStatus { // try to add this file to the library right away - NO_INFO, + PROCESS_NOW, // the file is known to be downloaded by our own download manager BEING_DOWNLOADED_BY_US, @@ -126,7 +126,7 @@ private: // types COULD_NOT_BE_ADDED_TO_THE_LIBRARY }; - ZimFileStatus status = NO_INFO; + ZimFileStatus status = PROCESS_NOW; }; typedef QMap ZimFileName2InfoMap; @@ -146,6 +146,7 @@ private: // functions size_t handleNewZimFiles(const QString& dirPath, const QStringSet& fileNames); bool handleZimFileInMonitoredDirLogged(QString dirPath, QString fileName); int handleZimFileInMonitoredDir(QString dirPath, QString fileName); + MonitoredZimFileInfo getMonitoredZimFileInfo(QString dir, QString fileName) const; bool handleDisappearedBook(QString bookId); // Get the book with the specified id from