LenovoLegionToolkit
127 строк · 5.8 Кб
1using Autofac;
2using LenovoLegionToolkit.Lib.AutoListeners;
3using LenovoLegionToolkit.Lib.Controllers;
4using LenovoLegionToolkit.Lib.Controllers.GodMode;
5using LenovoLegionToolkit.Lib.Controllers.Sensors;
6using LenovoLegionToolkit.Lib.Extensions;
7using LenovoLegionToolkit.Lib.Features;
8using LenovoLegionToolkit.Lib.Features.FlipToStart;
9using LenovoLegionToolkit.Lib.Features.Hybrid;
10using LenovoLegionToolkit.Lib.Features.Hybrid.Notify;
11using LenovoLegionToolkit.Lib.Features.InstantBoot;
12using LenovoLegionToolkit.Lib.Features.PanelLogo;
13using LenovoLegionToolkit.Lib.Features.WhiteKeyboardBacklight;
14using LenovoLegionToolkit.Lib.Listeners;
15using LenovoLegionToolkit.Lib.PackageDownloader;
16using LenovoLegionToolkit.Lib.Settings;
17using LenovoLegionToolkit.Lib.SoftwareDisabler;
18using LenovoLegionToolkit.Lib.Utils;
19
20namespace LenovoLegionToolkit.Lib;
21
22public class IoCModule : Module
23{
24protected override void Load(ContainerBuilder builder)
25{
26builder.Register<HttpClientFactory>();
27
28builder.Register<FnKeysDisabler>();
29builder.Register<LegionZoneDisabler>();
30builder.Register<VantageDisabler>();
31
32builder.Register<ApplicationSettings>();
33builder.Register<BalanceModeSettings>();
34builder.Register<GodModeSettings>();
35builder.Register<GPUOverclockSettings>();
36builder.Register<PackageDownloaderSettings>();
37builder.Register<RGBKeyboardSettings>();
38builder.Register<SpectrumKeyboardSettings>();
39builder.Register<SunriseSunsetSettings>();
40
41builder.Register<AlwaysOnUSBFeature>();
42builder.Register<BatteryFeature>();
43builder.Register<BatteryNightChargeFeature>();
44builder.Register<DpiScaleFeature>();
45builder.Register<FlipToStartFeature>();
46builder.Register<FlipToStartCapabilityFeature>(true);
47builder.Register<FlipToStartUEFIFeature>(true);
48builder.Register<FnLockFeature>();
49builder.Register<GSyncFeature>();
50builder.Register<HDRFeature>();
51builder.Register<HybridModeFeature>();
52builder.Register<IGPUModeFeature>();
53builder.Register<IGPUModeCapabilityFeature>(true);
54builder.Register<IGPUModeFeatureFlagsFeature>(true);
55builder.Register<IGPUModeGamezoneFeature>(true);
56builder.Register<InstantBootFeature>();
57builder.Register<InstantBootFeatureFlagsFeature>(true);
58builder.Register<InstantBootCapabilityFeature>(true);
59builder.Register<MicrophoneFeature>();
60builder.Register<OneLevelWhiteKeyboardBacklightFeature>();
61builder.Register<OverDriveFeature>();
62builder.Register<PanelLogoBacklightFeature>();
63builder.Register<PanelLogoSpectrumBacklightFeature>(true);
64builder.Register<PanelLogoLenovoLightingBacklightFeature>(true);
65builder.Register<PortsBacklightFeature>();
66builder.Register<PowerModeFeature>();
67builder.Register<RefreshRateFeature>();
68builder.Register<ResolutionFeature>();
69builder.Register<TouchpadLockFeature>();
70builder.Register<WhiteKeyboardBacklightFeature>();
71builder.Register<WhiteKeyboardDriverBacklightFeature>(true);
72builder.Register<WhiteKeyboardLenovoLightingBacklightFeature>(true);
73builder.Register<WinKeyFeature>();
74
75builder.Register<DGPUNotify>();
76builder.Register<DGPUCapabilityNotify>(true);
77builder.Register<DGPUFeatureFlagsNotify>(true);
78builder.Register<DGPUGamezoneNotify>(true);
79
80builder.Register<DisplayBrightnessListener>().AutoActivateListener();
81builder.Register<DisplayConfigurationListener>().AutoActivateListener();
82builder.Register<DriverKeyListener>().AutoActivateListener();
83builder.Register<LightingChangeListener>().AutoActivateListener();
84builder.Register<NativeWindowsMessageListener>().AutoActivateListener();
85builder.Register<PowerModeListener>().AutoActivateListener();
86builder.Register<PowerPlanListener>().AutoActivateListener();
87builder.Register<PowerStateListener>().AutoActivateListener();
88builder.Register<RGBKeyboardBacklightListener>().AutoActivateListener();
89builder.Register<SpecialKeyListener>().AutoActivateListener();
90builder.Register<SystemThemeListener>().AutoActivateListener();
91builder.Register<ThermalModeListener>().AutoActivateListener();
92builder.Register<WinKeyListener>().AutoActivateListener();
93
94builder.Register<GameAutoListener>();
95builder.Register<InstanceStartedEventAutoAutoListener>();
96builder.Register<InstanceStoppedEventAutoAutoListener>();
97builder.Register<ProcessAutoListener>();
98builder.Register<TimeAutoListener>();
99builder.Register<UserInactivityAutoListener>();
100builder.Register<WiFiAutoListener>();
101
102builder.Register<AIController>();
103builder.Register<DisplayBrightnessController>();
104builder.Register<GodModeController>();
105builder.Register<GodModeControllerV1>(true);
106builder.Register<GodModeControllerV2>(true);
107builder.Register<GPUController>();
108builder.Register<GPUOverclockController>();
109builder.Register<PowerPlanController>();
110builder.Register<RGBKeyboardBacklightController>();
111builder.Register<SensorsController>();
112builder.Register<SensorsControllerV1>(true);
113builder.Register<SensorsControllerV2>(true);
114builder.Register<SensorsControllerV3>(true);
115builder.Register<SmartFnLockController>();
116builder.Register<SpectrumKeyboardBacklightController>();
117
118builder.Register<UpdateChecker>();
119builder.Register<WarrantyChecker>();
120
121builder.Register<PackageDownloaderFactory>();
122builder.Register<PCSupportPackageDownloader>();
123builder.Register<VantagePackageDownloader>();
124
125builder.Register<SunriseSunset>();
126}
127}
128