Lidarr/src/NzbDrone.Host/MainAppContainerBuilder.cs

47 lines
1.4 KiB
C#
Raw Normal View History

using System;
using System.Collections.Generic;
using Nancy.Bootstrapper;
2013-04-20 00:05:48 +00:00
using NzbDrone.Api;
2013-05-10 23:53:50 +00:00
using NzbDrone.Common.Composition;
using NzbDrone.Common.EnvironmentInfo;
2013-04-20 00:05:48 +00:00
using NzbDrone.Core.Datastore;
using NzbDrone.Core.Organizer;
2013-09-11 06:33:47 +00:00
using NzbDrone.SignalR;
2013-04-20 00:05:48 +00:00
namespace NzbDrone.Host
2013-04-20 00:05:48 +00:00
{
public class MainAppContainerBuilder : ContainerBuilderBase
{
2013-11-26 06:53:36 +00:00
public static IContainer BuildContainer(StartupContext args)
2013-04-20 00:05:48 +00:00
{
var assemblies = new List<String>
{
"NzbDrone.Host",
"NzbDrone.Common",
"NzbDrone.Core",
"NzbDrone.Api",
"NzbDrone.SignalR"
};
if (OsInfo.IsWindows)
{
assemblies.Add("NzbDrone.Windows");
}
else
{
assemblies.Add("NzbDrone.Mono");
}
return new MainAppContainerBuilder(args, assemblies.ToArray()).Container;
2013-04-20 00:05:48 +00:00
}
private MainAppContainerBuilder(StartupContext args, string[] assemblies)
: base(args, assemblies)
2013-04-20 00:05:48 +00:00
{
2013-05-10 23:53:50 +00:00
AutoRegisterImplementations<NzbDronePersistentConnection>();
2013-04-20 00:05:48 +00:00
2013-05-10 23:53:50 +00:00
Container.Register<INancyBootstrapper, NancyBootstrapper>();
}
2013-04-20 00:05:48 +00:00
}
}