<Optimize>true</Optimize>\r
</PropertyGroup>\r
<ItemGroup>\r
+ <Reference Include="Castle.Core">\r
+ <HintPath>..\libraries\caliburn\Castle.Core.dll</HintPath>\r
+ </Reference>\r
+ <Reference Include="Castle.Windsor">\r
+ <HintPath>..\libraries\caliburn\Castle.Windsor.dll</HintPath>\r
+ <EmbedInteropTypes>False</EmbedInteropTypes>\r
+ </Reference>\r
<Reference Include="Growl.Connector, Version=2.0.0.0, Culture=neutral, PublicKeyToken=980c2339411be384, processorArchitecture=MSIL">\r
<SpecificVersion>False</SpecificVersion>\r
<HintPath>..\libraries\Growl.Connector.dll</HintPath>\r
<DependentUpon>Resources.resx</DependentUpon>\r
</Compile>\r
<Compile Include="ServiceManager.cs" />\r
+ <Compile Include="ServicesWindsorInstaller.cs" />\r
<Compile Include="Services\Base\EncodeBase.cs" />\r
<Compile Include="Services\Encode.cs" />\r
<Compile Include="Services\Interfaces\IEncode.cs" />\r
+/* IQueueProcessor.cs $\r
+ This file is part of the HandBrake source code.\r
+ Homepage: <http://handbrake.fr/>.\r
+ It may be used under the terms of the GNU General Public License. */\r
+\r
namespace HandBrake.ApplicationServices.Services.Interfaces\r
{\r
using System;\r
--- /dev/null
+namespace HandBrake.ApplicationServices\r
+{\r
+ using Castle.MicroKernel.Registration;\r
+ using Castle.MicroKernel.SubSystems.Configuration;\r
+ using Castle.Windsor;\r
+\r
+ using HandBrake.ApplicationServices.Services;\r
+ using HandBrake.ApplicationServices.Services.Interfaces;\r
+\r
+ /// <summary>\r
+ /// An Implimentation of IWindsorInstaller for this library.\r
+ /// </summary>\r
+ public class ServicesWindsorInstaller : IWindsorInstaller\r
+ {\r
+ #region Implementation of IWindsorInstaller\r
+\r
+ /// <summary>\r
+ /// Performs the installation in the <see cref="T:Castle.Windsor.IWindsorContainer"/>.\r
+ /// </summary>\r
+ /// <param name="container">The container.</param><param name="store">The configuration store.</param>\r
+ public void Install(IWindsorContainer container, IConfigurationStore store)\r
+ {\r
+ container.Register(Component.For<IPresetService>().ImplementedBy<PresetService>());\r
+ container.Register(Component.For<IQueueManager>().ImplementedBy<QueueManager>());\r
+ container.Register(Component.For<IQueueProcessor>().ImplementedBy<QueueProcessor>());\r
+ container.Register(Component.For<IUserSettingService>().ImplementedBy<UserSettingService>());\r
+ container.Register(Component.For<IScan>().ImplementedBy<ScanService>());\r
+ container.Register(Component.For<IEncode>().ImplementedBy<Encode>());\r
+ }\r
+\r
+ #endregion\r
+ }\r
+}\r
/// </summary>\r
private static IUserSettingService userSettingService = ServiceManager.UserSettingService;\r
\r
- /**\r
- * TODO:\r
- * - Update with the new vfr,pfr,cfr keys\r
- * - Clean up this code, it's pretty nasty right now.\r
- **/\r
-\r
#region Import\r
\r
public static EncodeTask Import(string filename)\r
using Castle.MicroKernel.Registration;\r
using Castle.Windsor;\r
\r
+ using HandBrake.ApplicationServices;\r
+\r
using HandBrakeWPF.ViewModels;\r
using HandBrakeWPF.ViewModels.Interfaces;\r
\r
this.windsorContainer.Register(Component.For<IWindowManager>().ImplementedBy<WindowManager>());\r
this.windsorContainer.Register(Component.For<IEventAggregator>().ImplementedBy<EventAggregator>());\r
\r
+ // Initialise the ApplicationServices IWindsorInstaller\r
+ this.windsorContainer.Register(Component.For<IWindsorInstaller>().ImplementedBy<ServicesWindsorInstaller>());\r
+ this.windsorContainer.Install(windsorContainer.ResolveAll<IWindsorInstaller>());\r
+\r
// Shell\r
this.windsorContainer.Register(Component.For<IMainViewModel>().ImplementedBy<MainViewModel>().LifeStyle.Is(LifestyleType.Singleton));\r
}\r
<?xml version="1.0"?>\r
<configuration>\r
-<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client"/></startup></configuration>\r
+ <startup>\r
+ <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client"/>\r
+ </startup>\r
+</configuration>
\ No newline at end of file
${EndIf}\r
\r
; Install Files\r
- File "Handbrake.exe"\r
- File "HandBrakeCLI.exe"\r
+ File "*.exe"\r
CreateDirectory "$SMPROGRAMS\Handbrake"\r
CreateShortCut "$SMPROGRAMS\Handbrake\Handbrake.lnk" "$INSTDIR\Handbrake.exe"\r
CreateShortCut "$DESKTOP\Handbrake.lnk" "$INSTDIR\Handbrake.exe"\r
- File "Growl.Connector.dll"\r
- File "Growl.CoreLibrary.dll"\r
- File "Handbrake.exe.config"\r
- File "HandBrake.ApplicationServices.dll"\r
- File "Microsoft.WindowsAPICodePack.Shell.dll"\r
- File "Microsoft.WindowsAPICodePack.dll"\r
- File "HandBrakeInterop.dll"\r
- File "SplitButton.dll"\r
- File "Ookii.Dialogs.Wpf.dll"\r
- File "defaultsettings.xml"\r
-\r
- ;File "Caliburn.Castle.dll"\r
- ;File "Caliburn.Core.dll"\r
- ;File "Castle.Core.dll"\r
- ;File "Castle.DynamicProxy2.dll"\r
- ;File "Castle.MicroKernel.dll"\r
- ;File "Castle.Windsor.dll"\r
- ;File "Microsoft.Practices.ServiceLocation.dll"\r
+ File "*.dll"\r
+ File "*.config"\r
+ File "*.xml"\r
\r
; Copy the standard doc set into the doc folder\r
SetOutPath "$INSTDIR\doc"\r
SetOverwrite ifnewer\r
- File "doc\AUTHORS"\r
- File "doc\COPYING"\r
- File "doc\CREDITS"\r
- File "doc\NEWS"\r
- File "doc\THANKS"\r
- File "doc\TRANSLATIONS"\r
+ File "doc\*.*"\r
SectionEnd\r
\r
Section -AdditionalIcons\r
Section Uninstall\r
Delete "$INSTDIR\uninst.exe"\r
\r
- Delete "$INSTDIR\Interop.QTOLibrary.dll"\r
- Delete "$INSTDIR\Interop.QTOControlLib.dll"\r
- Delete "$INSTDIR\AxInterop.QTOControlLib.dll"\r
- Delete "$INSTDIR\HandBrakeCLI.exe"\r
- Delete "$INSTDIR\handbrakepineapple.ico"\r
- Delete "$INSTDIR\Handbrake.exe"\r
- Delete "$INSTDIR\Handbrake.exe.config"\r
- Delete "$INSTDIR\Growl.Connector.dll"\r
- Delete "$INSTDIR\Growl.CoreLibrary.dll"\r
- Delete "$INSTDIR\libgcc_s_sjlj-1.dll"\r
- Delete "$INSTDIR\HandBrake.ApplicationServices.dll"\r
- Delete "$INSTDIR\HandBrake.Framework.dll"\r
- Delete "$INSTDIR\Microsoft.WindowsAPICodePack.Shell.dll"\r
- Delete "$INSTDIR\Microsoft.WindowsAPICodePack.dll"\r
- Delete "$INSTDIR\HandBrakeInterop.dll"\r
- Delete "$INSTDIR\SplitButton.dll"\r
- Delete "$INSTDIR\defaultsettings.dll"\r
-\r
- Delete "$INSTDIR\Caliburn.Castle.dll"\r
- Delete "$INSTDIR\Caliburn.Core.dll"\r
- Delete "$INSTDIR\Castle.Core.dll"\r
- Delete "$INSTDIR\Castle.DynamicProxy2.dll"\r
- Delete "$INSTDIR\Castle.MicroKernel.dll"\r
- Delete "$INSTDIR\Castle.Windsor.dll"\r
- Delete "$INSTDIR\Microsoft.Practices.ServiceLocation.dll"\r
- Delete "$INSTDIR\Ookii.Dialogs.Wpf.dll"\r
-\r
- Delete "$INSTDIR\doc\AUTHORS"\r
- Delete "$INSTDIR\doc\COPYING"\r
- Delete "$INSTDIR\doc\CREDITS"\r
- Delete "$INSTDIR\doc\NEWS"\r
- Delete "$INSTDIR\doc\THANKS"\r
- Delete "$INSTDIR\doc\TRANSLATIONS"\r
+ Delete "$INSTDIR\*.*"\r
+ Delete "$INSTDIR\doc\*.*"\r
RMDir "$INSTDIR\doc"\r
Delete "$SMPROGRAMS\Handbrake\Uninstall.lnk"\r
Delete "$DESKTOP\Handbrake.lnk"\r
CreateDirectory "$SMPROGRAMS\Handbrake"\r
CreateShortCut "$SMPROGRAMS\Handbrake\Handbrake.lnk" "$INSTDIR\Handbrake.exe"\r
CreateShortCut "$DESKTOP\Handbrake.lnk" "$INSTDIR\Handbrake.exe"\r
- File "Growl.Connector.dll"\r
- File "Growl.CoreLibrary.dll"\r
- File "Handbrake.exe.config"\r
- File "HandBrake.ApplicationServices.dll"\r
- File "Microsoft.WindowsAPICodePack.Shell.dll"\r
- File "Microsoft.WindowsAPICodePack.dll"\r
- File "HandBrakeInterop.dll"\r
- File "SplitButton.dll"\r
- File "Ookii.Dialogs.Wpf.dll"\r
- File "defaultsettings.xml"\r
-\r
- ;File "Caliburn.Castle.dll"\r
- ;File "Caliburn.Core.dll"\r
- ;File "Castle.Core.dll"\r
- ;File "Castle.DynamicProxy2.dll"\r
- ;File "Castle.MicroKernel.dll"\r
- ;File "Castle.Windsor.dll"\r
- ;File "Microsoft.Practices.ServiceLocation.dll"\r
+ File "*.dll"\r
+ File "*.config"\r
+ File "*.xml"\r
\r
; Copy the standard doc set into the doc folder\r
SetOutPath "$INSTDIR\doc"\r
SetOverwrite ifnewer\r
- File "doc\AUTHORS"\r
- File "doc\COPYING"\r
- File "doc\CREDITS"\r
- File "doc\NEWS"\r
- File "doc\THANKS"\r
- File "doc\TRANSLATIONS"\r
+ File "doc\*.*"\r
SectionEnd\r
\r
Section -AdditionalIcons\r
Section Uninstall\r
Delete "$INSTDIR\uninst.exe"\r
\r
- Delete "$INSTDIR\Interop.QTOLibrary.dll"\r
- Delete "$INSTDIR\Interop.QTOControlLib.dll"\r
- Delete "$INSTDIR\AxInterop.QTOControlLib.dll"\r
- Delete "$INSTDIR\HandBrakeCLI.exe"\r
- Delete "$INSTDIR\handbrakepineapple.ico"\r
- Delete "$INSTDIR\Handbrake.exe"\r
- Delete "$INSTDIR\Handbrake.exe.config"\r
- Delete "$INSTDIR\Growl.Connector.dll"\r
- Delete "$INSTDIR\Growl.CoreLibrary.dll"\r
- Delete "$INSTDIR\libgcc_s_sjlj-1.dll"\r
- Delete "$INSTDIR\HandBrake.ApplicationServices.dll"\r
- Delete "$INSTDIR\HandBrake.Framework.dll"\r
- Delete "$INSTDIR\Microsoft.WindowsAPICodePack.Shell.dll"\r
- Delete "$INSTDIR\Microsoft.WindowsAPICodePack.dll"\r
- Delete "$INSTDIR\HandBrakeInterop.dll"\r
- Delete "$INSTDIR\SplitButton.dll"\r
- Delete "$INSTDIR\defaultsettings.dll"\r
-\r
- Delete "$INSTDIR\Caliburn.Castle.dll"\r
- Delete "$INSTDIR\Caliburn.Core.dll"\r
- Delete "$INSTDIR\Castle.Core.dll"\r
- Delete "$INSTDIR\Castle.DynamicProxy2.dll"\r
- Delete "$INSTDIR\Castle.MicroKernel.dll"\r
- Delete "$INSTDIR\Castle.Windsor.dll"\r
- Delete "$INSTDIR\Microsoft.Practices.ServiceLocation.dll"\r
- Delete "$INSTDIR\Ookii.Dialogs.Wpf.dll"\r
-\r
- Delete "$INSTDIR\doc\AUTHORS"\r
- Delete "$INSTDIR\doc\COPYING"\r
- Delete "$INSTDIR\doc\CREDITS"\r
- Delete "$INSTDIR\doc\NEWS"\r
- Delete "$INSTDIR\doc\THANKS"\r
- Delete "$INSTDIR\doc\TRANSLATIONS"\r
+ Delete "$INSTDIR\*.*"\r
+ Delete "$INSTDIR\doc\*.*"\r
RMDir "$INSTDIR\doc"\r
Delete "$SMPROGRAMS\Handbrake\Uninstall.lnk"\r
Delete "$DESKTOP\Handbrake.lnk"\r
${EndIf}\r
\r
; Install Files\r
- File "Handbrake.exe"\r
- File "HandBrakeCLI.exe"\r
+ ; Install Files\r
+ File "*.exe"\r
CreateDirectory "$SMPROGRAMS\Handbrake"\r
CreateShortCut "$SMPROGRAMS\Handbrake\Handbrake.lnk" "$INSTDIR\Handbrake.exe"\r
CreateShortCut "$DESKTOP\Handbrake.lnk" "$INSTDIR\Handbrake.exe"\r
- File "Growl.Connector.dll"\r
- File "Growl.CoreLibrary.dll"\r
- File "Handbrake.exe.config"\r
- File "HandBrake.ApplicationServices.dll"\r
- File "Microsoft.WindowsAPICodePack.Shell.dll"\r
- File "Microsoft.WindowsAPICodePack.dll"\r
- File "HandBrakeInterop.dll"\r
- File "SplitButton.dll"\r
- File "Ookii.Dialogs.Wpf.dll"\r
- File "defaultsettings.xml"\r
+ File "*.dll"\r
+ File "*.config"\r
+ File "*.xml"\r
\r
; Copy the standard doc set into the doc folder\r
SetOutPath "$INSTDIR\doc"\r
SetOverwrite ifnewer\r
- File "doc\AUTHORS"\r
- File "doc\COPYING"\r
- File "doc\CREDITS"\r
- File "doc\NEWS"\r
- File "doc\THANKS"\r
- File "doc\TRANSLATIONS"\r
+ File "doc\*.*"\r
SectionEnd\r
\r
Section -AdditionalIcons\r
Section Uninstall\r
Delete "$INSTDIR\uninst.exe"\r
\r
- Delete "$INSTDIR\Interop.QTOLibrary.dll"\r
- Delete "$INSTDIR\Interop.QTOControlLib.dll"\r
- Delete "$INSTDIR\AxInterop.QTOControlLib.dll"\r
- Delete "$INSTDIR\HandBrakeCLI.exe"\r
- Delete "$INSTDIR\handbrakepineapple.ico"\r
- Delete "$INSTDIR\Handbrake.exe"\r
- Delete "$INSTDIR\Handbrake.exe.config"\r
- Delete "$INSTDIR\Growl.Connector.dll"\r
- Delete "$INSTDIR\Growl.CoreLibrary.dll"\r
- Delete "$INSTDIR\libgcc_s_sjlj-1.dll"\r
- Delete "$INSTDIR\HandBrake.ApplicationServices.dll"\r
- Delete "$INSTDIR\Microsoft.WindowsAPICodePack.Shell.dll"\r
- Delete "$INSTDIR\Microsoft.WindowsAPICodePack.dll"\r
- Delete "$INSTDIR\HandBrakeInterop.dll"\r
- Delete "$INSTDIR\SplitButton.dll"\r
- Delete "$INSTDIR\Ookii.Dialogs.Wpf.dll"\r
- Delete "$INSTDIR\defaultsettings.dll"\r
-\r
- Delete "$INSTDIR\doc\AUTHORS"\r
- Delete "$INSTDIR\doc\COPYING"\r
- Delete "$INSTDIR\doc\CREDITS"\r
- Delete "$INSTDIR\doc\NEWS"\r
- Delete "$INSTDIR\doc\THANKS"\r
- Delete "$INSTDIR\doc\TRANSLATIONS"\r
+ Delete "$INSTDIR\*.*"\r
+ Delete "$INSTDIR\doc\*.*"\r
RMDir "$INSTDIR\doc"\r
Delete "$SMPROGRAMS\Handbrake\Uninstall.lnk"\r
Delete "$DESKTOP\Handbrake.lnk"\r
${EndIf}\r
\r
; Install Files\r
- File "Handbrake.exe"\r
- File "HandBrakeCLI.exe"\r
+ File "*.exe"\r
CreateDirectory "$SMPROGRAMS\Handbrake"\r
CreateShortCut "$SMPROGRAMS\Handbrake\Handbrake.lnk" "$INSTDIR\Handbrake.exe"\r
CreateShortCut "$DESKTOP\Handbrake.lnk" "$INSTDIR\Handbrake.exe"\r
- File "Growl.Connector.dll"\r
- File "Growl.CoreLibrary.dll"\r
- File "Handbrake.exe.config"\r
- File "HandBrake.ApplicationServices.dll"\r
- File "Microsoft.WindowsAPICodePack.Shell.dll"\r
- File "Microsoft.WindowsAPICodePack.dll"\r
- File "HandBrakeInterop.dll"\r
- File "SplitButton.dll"\r
- File "Ookii.Dialogs.Wpf.dll"\r
- File "defaultsettings.xml"\r
+ File "*.dll"\r
+ File "*.config"\r
+ File "*.xml"\r
\r
; Copy the standard doc set into the doc folder\r
SetOutPath "$INSTDIR\doc"\r
SetOverwrite ifnewer\r
- File "doc\AUTHORS"\r
- File "doc\COPYING"\r
- File "doc\CREDITS"\r
- File "doc\NEWS"\r
- File "doc\THANKS"\r
- File "doc\TRANSLATIONS"\r
+ File "doc\*.*"\r
SectionEnd\r
\r
Section -AdditionalIcons\r
Section Uninstall\r
Delete "$INSTDIR\uninst.exe"\r
\r
- Delete "$INSTDIR\Interop.QTOLibrary.dll"\r
- Delete "$INSTDIR\Interop.QTOControlLib.dll"\r
- Delete "$INSTDIR\AxInterop.QTOControlLib.dll"\r
- Delete "$INSTDIR\HandBrakeCLI.exe"\r
- Delete "$INSTDIR\handbrakepineapple.ico"\r
- Delete "$INSTDIR\Handbrake.exe"\r
- Delete "$INSTDIR\Handbrake.exe.config"\r
- Delete "$INSTDIR\Growl.Connector.dll"\r
- Delete "$INSTDIR\Growl.CoreLibrary.dll"\r
- Delete "$INSTDIR\libgcc_s_sjlj-1.dll"\r
- Delete "$INSTDIR\HandBrake.ApplicationServices.dll"\r
- Delete "$INSTDIR\Microsoft.WindowsAPICodePack.Shell.dll"\r
- Delete "$INSTDIR\Microsoft.WindowsAPICodePack.dll"\r
- Delete "$INSTDIR\HandBrakeInterop.dll"\r
- Delete "$INSTDIR\SplitButton.dll"\r
- Delete "$INSTDIR\Ookii.Dialogs.Wpf.dll"\r
- Delete "$INSTDIR\defaultsettings.dll"\r
-\r
- Delete "$INSTDIR\doc\AUTHORS"\r
- Delete "$INSTDIR\doc\COPYING"\r
- Delete "$INSTDIR\doc\CREDITS"\r
- Delete "$INSTDIR\doc\NEWS"\r
- Delete "$INSTDIR\doc\THANKS"\r
- Delete "$INSTDIR\doc\TRANSLATIONS"\r
+ Delete "$INSTDIR\*.*"\r
+ Delete "$INSTDIR\doc\*.*"\r
RMDir "$INSTDIR\doc"\r
Delete "$SMPROGRAMS\Handbrake\Uninstall.lnk"\r
Delete "$DESKTOP\Handbrake.lnk"\r