summaryrefslogtreecommitdiffstats
path: root/win/CS/HandBrakeWPF/Startup/CastleBootstrapper.cs
diff options
context:
space:
mode:
authorsr55 <[email protected]>2015-07-21 20:32:11 +0000
committersr55 <[email protected]>2015-07-21 20:32:11 +0000
commit99d6dc51d695cce18c27b65fb42196a57a4c3eb7 (patch)
tree3e8b0136bb88f837ae409e90917622ee9a892b1f /win/CS/HandBrakeWPF/Startup/CastleBootstrapper.cs
parent660e14e63012d6dcdfcb8078865ff30606f5d079 (diff)
WinGui: Replace Castle Windsor with Caliburn Micros built-in SimpleContainer IoC. We don't need anything as powerful as castle. Also, since the license appears to now be Apache License 2 which is not compatible with GPLv2, we can't upgrade this library any more.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7356 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'win/CS/HandBrakeWPF/Startup/CastleBootstrapper.cs')
-rw-r--r--win/CS/HandBrakeWPF/Startup/CastleBootstrapper.cs165
1 files changed, 0 insertions, 165 deletions
diff --git a/win/CS/HandBrakeWPF/Startup/CastleBootstrapper.cs b/win/CS/HandBrakeWPF/Startup/CastleBootstrapper.cs
deleted file mode 100644
index 4bb0a0cda..000000000
--- a/win/CS/HandBrakeWPF/Startup/CastleBootstrapper.cs
+++ /dev/null
@@ -1,165 +0,0 @@
-// --------------------------------------------------------------------------------------------------------------------
-// <copyright file="CastleBootstrapper.cs" company="HandBrake Project (http://handbrake.fr)">
-// This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.
-// </copyright>
-// <summary>
-// The Castle Bootstrapper
-// </summary>
-// --------------------------------------------------------------------------------------------------------------------
-
-namespace HandBrakeWPF.Startup
-{
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Reflection;
-
- using Caliburn.Micro;
-
- using Castle.Core;
- using Castle.MicroKernel.Registration;
- using Castle.Windsor;
-
- using HandBrake.ApplicationServices.Services.Encode;
- using HandBrake.ApplicationServices.Services.Encode.Interfaces;
- using HandBrake.ApplicationServices.Services.Logging;
- using HandBrake.ApplicationServices.Services.Scan;
- using HandBrake.ApplicationServices.Services.Scan.Interfaces;
-
- using HandBrakeWPF.Commands;
- using HandBrakeWPF.Commands.Interfaces;
- using HandBrakeWPF.Services.Presets;
- using HandBrakeWPF.Services.Presets.Interfaces;
-
- using ViewModels;
- using ViewModels.Interfaces;
-
- using HandBrakeWPF.Services;
- using HandBrakeWPF.Services.Interfaces;
- using HandBrakeWPF.Services.Queue;
- using HandBrakeWPF.Services.Queue.Interfaces;
-
- /// <summary>
- /// The Castle Bootstrapper
- /// </summary>
- public class CastleBootstrapper : Bootstrapper<IShellViewModel>
- {
- /// <summary>
- /// The Windsor Container
- /// </summary>
- private IWindsorContainer windsorContainer;
-
- /// <summary>
- /// Configure Castle Windsor
- /// </summary>
- protected override void Configure()
- {
- this.windsorContainer = new WindsorContainer();
- this.windsorContainer.Register(Component.For<IWindowManager>().ImplementedBy<WindowManager>());
- this.windsorContainer.Register(Component.For<IEventAggregator>().ImplementedBy<EventAggregator>());
-
- // Initialise the ApplicationServices IWindsorInstaller
- // this.windsorContainer.Register(Component.For<IWindsorInstaller>().ImplementedBy<ServicesWindsorInstaller>());
- // this.windsorContainer.Install(windsorContainer.ResolveAll<IWindsorInstaller>());
-
- // Services
- this.windsorContainer.Register(Component.For<IUpdateService>().ImplementedBy<UpdateService>().LifeStyle.Is(LifestyleType.Singleton));
- this.windsorContainer.Register(Component.For<IScan>().ImplementedBy<LibScan>().LifeStyle.Is(LifestyleType.Singleton));
- this.windsorContainer.Register(Component.For<IEncode>().ImplementedBy<LibEncode>().LifeStyle.Is(LifestyleType.Singleton));
- this.windsorContainer.Register(Component.For<INotificationService>().ImplementedBy<NotificationService>().LifeStyle.Is(LifestyleType.Singleton));
- this.windsorContainer.Register(Component.For<IPrePostActionService>().ImplementedBy<PrePostActionService>().LifeStyle.Is(LifestyleType.Singleton));
- this.windsorContainer.Register(Component.For<IUserSettingService>().ImplementedBy<UserSettingService>());
- this.windsorContainer.Register(Component.For<IPresetService>().ImplementedBy<PresetService>());
- this.windsorContainer.Register(Component.For<IQueueProcessor>().ImplementedBy<QueueProcessor>());
-
- // Commands
- this.windsorContainer.Register(Component.For<IAdvancedEncoderOptionsCommand>().ImplementedBy<AdvancedEncoderOptionsCommand>().LifeStyle.Is(LifestyleType.Singleton));
-
- // Shell
- this.windsorContainer.Register(Component.For<IErrorService>().ImplementedBy<ErrorService>().LifeStyle.Is(LifestyleType.Singleton));
- this.windsorContainer.Register(Component.For<IErrorViewModel>().ImplementedBy<ErrorViewModel>().LifeStyle.Is(LifestyleType.Singleton));
- this.windsorContainer.Register(Component.For<IMainViewModel>().ImplementedBy<MainViewModel>().LifeStyle.Is(LifestyleType.Singleton));
- this.windsorContainer.Register(Component.For<IShellViewModel>().ImplementedBy<ShellViewModel>().LifeStyle.Is(LifestyleType.Singleton));
- this.windsorContainer.Register(Component.For<IQueueViewModel>().ImplementedBy<QueueViewModel>().LifeStyle.Is(LifestyleType.Singleton));
- this.windsorContainer.Register(Component.For<IAddPresetViewModel>().ImplementedBy<AddPresetViewModel>().LifeStyle.Is(LifestyleType.Transient));
- this.windsorContainer.Register(Component.For<ILogViewModel>().ImplementedBy<LogViewModel>().LifeStyle.Is(LifestyleType.Singleton));
- this.windsorContainer.Register(Component.For<IAboutViewModel>().ImplementedBy<AboutViewModel>().LifeStyle.Is(LifestyleType.Singleton));
- this.windsorContainer.Register(Component.For<IOptionsViewModel>().ImplementedBy<OptionsViewModel>().LifeStyle.Is(LifestyleType.Singleton));
- this.windsorContainer.Register(Component.For<ITitleSpecificViewModel>().ImplementedBy<TitleSpecificViewModel>().LifeStyle.Is(LifestyleType.Singleton));
- this.windsorContainer.Register(Component.For<IQueueSelectionViewModel>().ImplementedBy<QueueSelectionViewModel>().LifeStyle.Is(LifestyleType.Singleton));
- this.windsorContainer.Register(Component.For<ICountdownAlertViewModel>().ImplementedBy<CountdownAlertViewModel>().LifeStyle.Is(LifestyleType.Singleton));
- this.windsorContainer.Register(Component.For<IMiniViewModel>().ImplementedBy<MiniViewModel>().LifeStyle.Is(LifestyleType.Singleton));
-
- // Experimental Services and Windows.
- this.windsorContainer.Register(Component.For<IStaticPreviewViewModel>().ImplementedBy<StaticPreviewViewModel>().LifeStyle.Is(LifestyleType.Singleton));
-
- // Tab Components
- this.windsorContainer.Register(Component.For<IAudioViewModel>().ImplementedBy<AudioViewModel>().LifeStyle.Is(LifestyleType.Singleton));
- this.windsorContainer.Register(Component.For<IX264ViewModel>().ImplementedBy<X264ViewModel>().LifeStyle.Is(LifestyleType.Singleton));
- this.windsorContainer.Register(Component.For<IAdvancedViewModel>().ImplementedBy<AdvancedViewModel>().LifeStyle.Is(LifestyleType.Singleton));
- this.windsorContainer.Register(Component.For<IPictureSettingsViewModel>().ImplementedBy<PictureSettingsViewModel>().LifeStyle.Is(LifestyleType.Singleton));
- this.windsorContainer.Register(Component.For<IChaptersViewModel>().ImplementedBy<ChaptersViewModel>().LifeStyle.Is(LifestyleType.Singleton));
- this.windsorContainer.Register(Component.For<ISubtitlesViewModel>().ImplementedBy<SubtitlesViewModel>().LifeStyle.Is(LifestyleType.Singleton));
- this.windsorContainer.Register(Component.For<IFiltersViewModel>().ImplementedBy<FiltersViewModel>().LifeStyle.Is(LifestyleType.Singleton));
- this.windsorContainer.Register(Component.For<IVideoViewModel>().ImplementedBy<VideoViewModel>().LifeStyle.Is(LifestyleType.Singleton));
-
- // Overlay Panels
- }
-
- /// <summary>
- /// Select Assemblies
- /// </summary>
- /// <returns>
- /// A List of Assembly objects
- /// </returns>
- protected override IEnumerable<Assembly> SelectAssemblies()
- {
- return AppDomain.CurrentDomain.GetAssemblies();
- }
-
- /// <summary>
- /// Get an Instance of a service
- /// </summary>
- /// <param name="service">
- /// The service.
- /// </param>
- /// <param name="key">
- /// The key.
- /// </param>
- /// <returns>
- /// The Service Requested
- /// </returns>
- protected override object GetInstance(Type service, string key)
- {
- return string.IsNullOrWhiteSpace(key) ? this.windsorContainer.Resolve(service) : this.windsorContainer.Resolve(key, new { });
- }
-
- /// <summary>
- /// Get all instances of a service
- /// </summary>
- /// <param name="service">
- /// The service.
- /// </param>
- /// <returns>
- /// A collection of instances of the requested service type.
- /// </returns>
- protected override IEnumerable<object> GetAllInstances(Type service)
- {
- return this.windsorContainer.ResolveAll(service).Cast<object>();
- }
-
- /// <summary>
- /// Build Up
- /// </summary>
- /// <param name="instance">
- /// The instance.
- /// </param>
- protected override void BuildUp(object instance)
- {
- instance.GetType().GetProperties()
- .Where(property => property.CanWrite && property.PropertyType.IsPublic)
- .Where(property => this.windsorContainer.Kernel.HasComponent(property.PropertyType))
- .ForEach(property => property.SetValue(instance, this.windsorContainer.Resolve(property.PropertyType), null));
- }
- }
-}