[longomatch] Update the current database after the migration
- From: Andoni Morales Alastruey <amorales src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [longomatch] Update the current database after the migration
- Date: Tue, 28 Oct 2014 09:47:28 +0000 (UTC)
commit 0cd8aeca387db41d16722c296bd1dc20a157718a
Author: Andoni Morales Alastruey <ylatuya gmail com>
Date: Tue Oct 14 19:53:58 2014 +0200
Update the current database after the migration
LongoMatch.Core/Interfaces/IDataBaseManager.cs | 1 +
LongoMatch.Services/Services/CoreServices.cs | 13 +++++----
LongoMatch.Services/Services/DataBaseManager.cs | 33 ++++++++++++-----------
LongoMatch.Services/Services/ToolsManager.cs | 6 +++-
4 files changed, 30 insertions(+), 23 deletions(-)
---
diff --git a/LongoMatch.Core/Interfaces/IDataBaseManager.cs b/LongoMatch.Core/Interfaces/IDataBaseManager.cs
index d07b243..a0b4323 100644
--- a/LongoMatch.Core/Interfaces/IDataBaseManager.cs
+++ b/LongoMatch.Core/Interfaces/IDataBaseManager.cs
@@ -26,6 +26,7 @@ namespace LongoMatch.Core.Interfaces
IDatabase Add (string name);
bool Delete (IDatabase db);
IDatabase ActiveDB { get; set; }
+ void UpdateDatabases ();
List<IDatabase> Databases { get; set; }
}
}
diff --git a/LongoMatch.Services/Services/CoreServices.cs b/LongoMatch.Services/Services/CoreServices.cs
index 0cb4f81..79c6902 100644
--- a/LongoMatch.Services/Services/CoreServices.cs
+++ b/LongoMatch.Services/Services/CoreServices.cs
@@ -37,6 +37,12 @@ namespace LongoMatch.Services
static EventsManager eManager;
static HotKeysManager hkManager;
static RenderingJobsManager videoRenderer;
+ static ProjectsManager projectsManager;
+ static PlaylistManager plManager;
+ static ToolsManager toolsManager;
+ static TemplatesService ts;
+
+
public static IProjectsImporter ProjectsImporter;
#if OSTYPE_WINDOWS
[DllImport("libglib-2.0-0.dll") /* willfully unmapped */ ]
@@ -78,11 +84,6 @@ namespace LongoMatch.Services
public static void StartServices (IGUIToolkit guiToolkit, IMultimediaToolkit
multimediaToolkit)
{
- ProjectsManager projectsManager;
- PlaylistManager plManager;
- ToolsManager toolsManager;
- TemplatesService ts;
-
ts = new TemplatesService ();
Config.TeamTemplatesProvider = ts.TeamTemplateProvider;
Config.CategoriesTemplatesProvider = ts.CategoriesTemplateProvider;
@@ -99,7 +100,7 @@ namespace LongoMatch.Services
projectsManager = new ProjectsManager (guiToolkit, multimediaToolkit, ts);
/* State the tools manager */
- toolsManager = new ToolsManager (guiToolkit);
+ toolsManager = new ToolsManager (guiToolkit, dbManager);
ProjectsImporter = toolsManager;
/* Start the events manager */
diff --git a/LongoMatch.Services/Services/DataBaseManager.cs b/LongoMatch.Services/Services/DataBaseManager.cs
index 914d9b1..3297e6f 100644
--- a/LongoMatch.Services/Services/DataBaseManager.cs
+++ b/LongoMatch.Services/Services/DataBaseManager.cs
@@ -40,7 +40,7 @@ namespace LongoMatch.DB
this.guiToolkit = guiToolkit;
Config.EventsBroker.ManageDatabasesEvent += HandleManageDatabase;
Config.EventsBroker.OpenedProjectChanged += (p, pt, f, a) => {OpenedProject = p;};
- FindDBS ();
+ UpdateDatabases ();
}
public Project OpenedProject {
@@ -105,6 +105,22 @@ namespace LongoMatch.DB
set;
}
+ public void UpdateDatabases ()
+ {
+ Databases = new List<IDatabase> ();
+ DirectoryInfo dbdir = new DirectoryInfo (DBDir);
+
+ foreach (DirectoryInfo subdir in dbdir.GetDirectories()) {
+ if (subdir.FullName.EndsWith (".ldb")) {
+ IDatabase db = new DataBase (subdir.FullName);
+ if (db != null) {
+ Log.Information ("Found database " + db.Name);
+ Databases.Add (db);
+ }
+ }
+ }
+ }
+
string NameToFile (string name)
{
return Path.Combine (DBDir, name + '.' + Extension);
@@ -131,21 +147,6 @@ namespace LongoMatch.DB
}
}
- void FindDBS ()
- {
- Databases = new List<IDatabase> ();
- DirectoryInfo dbdir = new DirectoryInfo (DBDir);
-
- foreach (DirectoryInfo subdir in dbdir.GetDirectories()) {
- if (subdir.FullName.EndsWith (".ldb")) {
- IDatabase db = new DataBase (subdir.FullName);
- if (db != null) {
- Log.Information ("Found database " + db.Name);
- Databases.Add (db);
- }
- }
- }
- }
}
}
diff --git a/LongoMatch.Services/Services/ToolsManager.cs b/LongoMatch.Services/Services/ToolsManager.cs
index 3fc7b47..26364a1 100644
--- a/LongoMatch.Services/Services/ToolsManager.cs
+++ b/LongoMatch.Services/Services/ToolsManager.cs
@@ -36,10 +36,12 @@ namespace LongoMatch.Services
Project openedProject;
IGUIToolkit guiToolkit;
+ IDataBaseManager dbManager;
- public ToolsManager (IGUIToolkit guiToolkit)
+ public ToolsManager (IGUIToolkit guiToolkit, IDataBaseManager dbManager)
{
this.guiToolkit = guiToolkit;
+ this.dbManager = dbManager;
ProjectImporters = new List<ProjectImporter> ();
RegisterImporter (Project.Import, Constants.PROJECT_NAME,
@@ -196,6 +198,8 @@ namespace LongoMatch.Services
}
using (Process exeProcess = Process.Start(startInfo)) {
exeProcess.WaitForExit ();
+ dbManager.UpdateDatabases ();
+ dbManager.SetActiveByName (dbManager.ActiveDB.Name);
}
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]