﻿using Autofac;
using VMLab.Graph;
using Action = VMLab.Graph.Action;

namespace VMLab.IOC
{
    public class GraphModule : Module
    {
        protected override void Load(ContainerBuilder builder)
        {
            builder.RegisterType<GraphManager>().AsImplementedInterfaces().SingleInstance();
            builder.RegisterType<GraphValidator>().AsImplementedInterfaces();

            builder.RegisterType<Action>().AsSelf();
            builder.RegisterType<Credential>().AsSelf();
            builder.RegisterType<CredentialSet>().AsSelf();
            builder.RegisterType<Network>().AsSelf();
            builder.RegisterType<SharedFolder>().AsSelf();
            builder.RegisterType<Template>().AsSelf();
            builder.RegisterType<VM>().AsSelf();
        }
    }
}
