-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathModule.cs
More file actions
41 lines (36 loc) · 1.77 KB
/
Module.cs
File metadata and controls
41 lines (36 loc) · 1.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
using Autofac;
using FolderDesigner.ImageEditing;
using FolderDesigner.ImageRetrieval;
using FolderDesigner.ViewModels;
using System.Collections.Generic;
namespace FolderDesigner
{
static class Module
{
public static IContainer GetContainer()
{
var builder = new ContainerBuilder();
builder.RegisterType<AttributeChanger>().SingleInstance();
builder.RegisterType<IconCacheResetter>().SingleInstance();
builder.RegisterType<DirectoryNameSanitizer>().SingleInstance();
builder.RegisterType<WebServiceUtil>().SingleInstance();
builder.RegisterType<DecorationParametersFactory>().SingleInstance();
builder.RegisterType<TheTvDbRetriever>().Keyed<IImageRetriever>(MediaType.Tv).SingleInstance();
builder.RegisterType<TheMovieDbRetriever>().Keyed<IImageRetriever>(MediaType.Movie).SingleInstance();
builder.RegisterType<LastFmRetriever>().Keyed<IImageRetriever>(MediaType.Music).SingleInstance();
builder.RegisterType<ImageCropper>().SingleInstance();
builder.RegisterType<ImageResizer>().SingleInstance();
builder.RegisterType<ImageMagickIconConverter>().SingleInstance();
builder.Register(b => new List<IImageProcessor>
{
b.Resolve<ImageCropper>(),
b.Resolve<ImageResizer>()
}).As<IReadOnlyCollection<IImageProcessor>>().SingleInstance();
builder.RegisterType<FolderIconChanger>().SingleInstance();
builder.RegisterType<FolderDecorator>().SingleInstance();
builder.RegisterType<FolderUndecorator>().SingleInstance();
builder.RegisterType<MainViewModel>();
return builder.Build();
}
}
}