mirror of
https://github.com/Artemis-RGB/Artemis
synced 2026-11-12 03:48:56 +00:00
Added some module architecture
This commit is contained in:
1 parent
8d9076a241
commit
84f21aa044
25 files changed
+1732
-59
No files matched your search
@@ -10,6 +10,62 @@
|
||||
<assemblyIdentity name="Ninject" publicKeyToken="c7192dc5380945e7" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-3.3.4.0" newVersion="3.3.4.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-1.2.2.0" newVersion="1.2.2.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.IO.FileSystem" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.IO.FileSystem.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Security.Cryptography.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Xml.XPath.XDocument" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Diagnostics.FileVersionInfo" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Diagnostics.StackTrace" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.CodeAnalysis.Scripting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.6.0.0" newVersion="2.6.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.CodeAnalysis" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.6.0.0" newVersion="2.6.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.CodeAnalysis.CSharp.Scripting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.6.0.0" newVersion="2.6.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Reflection.Metadata" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-1.4.2.0" newVersion="1.4.2.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Console" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
||||
@@ -147,6 +147,10 @@
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Artemis.Core\Artemis.Core.csproj">
|
||||
<Project>{9b811f9b-86b9-4771-87af-72bae7078a36}</Project>
|
||||
<Name>Artemis.Core</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Artemis.Storage\Artemis.Storage.csproj">
|
||||
<Project>{e489e5e3-1a65-4af5-a1ea-f9805fd19a65}</Project>
|
||||
<Name>Artemis.Storage</Name>
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
using Artemis.UI.Ninject;
|
||||
using System.Windows;
|
||||
using Artemis.Core.Ninject;
|
||||
using Artemis.Core.Services.Interfaces;
|
||||
using Artemis.UI.Ninject;
|
||||
using Artemis.UI.Stylet;
|
||||
using Artemis.UI.ViewModels;
|
||||
using Ninject;
|
||||
@@ -7,9 +10,26 @@ namespace Artemis.UI
|
||||
{
|
||||
public class Bootstrapper : NinjectBootstrapper<RootViewModel>
|
||||
{
|
||||
private ICoreService _core;
|
||||
|
||||
protected override void OnExit(ExitEventArgs e)
|
||||
{
|
||||
// Stop the Artemis core
|
||||
_core.Dispose();
|
||||
|
||||
base.OnExit(e);
|
||||
}
|
||||
|
||||
protected override void ConfigureIoC(IKernel kernel)
|
||||
{
|
||||
// Load this assembly's module
|
||||
kernel.Load<UIModule>();
|
||||
// Load the core assembly's module
|
||||
kernel.Load<CoreModule>();
|
||||
|
||||
// Start the Artemis core, the core's constructor will initialize async
|
||||
_core = Kernel.Get<ICoreService>();
|
||||
|
||||
base.ConfigureIoC(kernel);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,17 +9,17 @@ namespace Artemis.UI.Stylet
|
||||
public class NinjectBootstrapper<TRootViewModel> : BootstrapperBase where TRootViewModel : class
|
||||
{
|
||||
private object _rootViewModel;
|
||||
private IKernel kernel;
|
||||
protected IKernel Kernel;
|
||||
|
||||
protected virtual object RootViewModel =>
|
||||
_rootViewModel ?? (_rootViewModel = GetInstance(typeof(TRootViewModel)));
|
||||
protected virtual object RootViewModel => _rootViewModel ?? (_rootViewModel = GetInstance(typeof(TRootViewModel)));
|
||||
|
||||
protected override void ConfigureBootstrapper()
|
||||
{
|
||||
kernel = new StandardKernel();
|
||||
DefaultConfigureIoC(kernel);
|
||||
ConfigureIoC(kernel);
|
||||
Kernel = new StandardKernel();
|
||||
DefaultConfigureIoC(Kernel);
|
||||
ConfigureIoC(Kernel);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Carries out default configuration of the IoC container. Override if you don't want to do this
|
||||
@@ -49,7 +49,7 @@ namespace Artemis.UI.Stylet
|
||||
|
||||
public override object GetInstance(Type type)
|
||||
{
|
||||
return kernel.Get(type);
|
||||
return Kernel.Get(type);
|
||||
}
|
||||
|
||||
protected override void Launch()
|
||||
@@ -61,8 +61,8 @@ namespace Artemis.UI.Stylet
|
||||
{
|
||||
base.Dispose();
|
||||
ScreenExtensions.TryDispose(_rootViewModel);
|
||||
if (kernel != null)
|
||||
kernel.Dispose();
|
||||
if (Kernel != null)
|
||||
Kernel.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user