yacreader/YACReaderLibraryServer/libraries_updater.cpp
Luis Ángel San Martín c593e3570d Add the ability to update libraries to new versions in the headless server
It checks the libraries on the start up. It will block the app until everyting it is ready. C
2018-04-28 10:24:10 +02:00

40 lines
891 B
C++

#include "libraries_updater.h"
#include "yacreader_libraries.h"
#include "data_base_management.h"
LibrariesUpdater::LibrariesUpdater()
{
}
void LibrariesUpdater::updateIfNeeded()
{
YACReaderLibraries libraries;
libraries.load();
foreach(QString name, libraries.getNames()) {
QString path = libraries.getPath(name) + "/.yacreaderlibrary";
QDir d;
QString dbVersion;
if(d.exists(path) && d.exists(path+"/library.ydb") && (dbVersion = DataBaseManagement::checkValidDB(path+"/library.ydb")) != "")
{
int comparation = DataBaseManagement::compareVersions(dbVersion,VERSION);
if(comparation < 0)
{
bool updated = DataBaseManagement::updateToCurrentVersion(path);
if(!updated) {
//TODO log error
}
}
}
}
}