Database updater now fully operational

This commit is contained in:
emeric
2014-08-19 23:44:20 +02:00
parent 5242be2014
commit 89147fd955
7 changed files with 180 additions and 80 deletions
+11 -4
View File
@@ -48,11 +48,11 @@ _sessionData(sessionData)
if (user->isAdmin())
{
MediaDirectories* mediaDirectory = new MediaDirectories(sessionData);
mediaDirectory->changed().connect(this, &Settings::handleDatabaseSettingsChanged);
mediaDirectory->changed().connect(this, &Settings::handleDatabaseDirectoriesChanged);
menu->addItem("Media Folders", mediaDirectory);
DatabaseFormView* databaseFormView = new DatabaseFormView(sessionData);
databaseFormView->changed().connect(this, &Settings::handleDatabaseSettingsChanged);
databaseFormView->changed().connect(this, &Settings::restartDatabaseUpdateService);
menu->addItem("Database Update", databaseFormView);
menu->addItem("Users", new Users(sessionData));
@@ -65,14 +65,21 @@ _sessionData(sessionData)
}
void
Settings::handleDatabaseSettingsChanged()
Settings::handleDatabaseDirectoriesChanged()
{
// On settings change, request an immediate scan
std::cout << "Media directories have changed: requesting imediate scan" << std::endl;
// On directory add or delete, request an immediate scan
{
Wt::Dbo::Transaction transaction(_sessionData.getDatabaseHandler().getSession());
Database::MediaDirectorySettings::get(_sessionData.getDatabaseHandler().getSession()).modify()->setManualScanRequested(true);
}
restartDatabaseUpdateService();
}
void
Settings::restartDatabaseUpdateService()
{
// Restarting the update service
boost::lock_guard<boost::mutex> serviceLock (ServiceManager::instance().mutex());