1- #include " ApplicationBuilder .hpp"
1+ #include " FreyaExtension .hpp"
22
33namespace FREYA_NAMESPACE
44{
5- ApplicationBuilder& ApplicationBuilder::WithOptions (
6- std::function<void (FreyaOptionsBuilder&)> freyaOptionsBuilderFunc)
7- {
8- mFreyaOptionsBuilderFunc = freyaOptionsBuilderFunc;
9-
10- return *this ;
11- }
125
13- void ApplicationBuilder::AddServices ()
6+ void FreyaExtension::Configure (skr::ServiceCollection& services) const
147 {
15-
16- mServiceCollection ->AddSingleton <FreyaOptions>(
8+ services.AddSingleton <FreyaOptions>(
179 [freyaOptionsBuilderFunc = mFreyaOptionsBuilderFunc ](
1810 skr::ServiceProvider& serviceProvider) {
1911 auto freyaOptionsBuilder = FreyaOptionsBuilder ();
@@ -26,19 +18,19 @@ namespace FREYA_NAMESPACE
2618 return freyaOptionsBuilder.Build ();
2719 });
2820
29- mServiceCollection -> AddTransient <WindowBuilder>();
30- mServiceCollection -> AddTransient <InstanceBuilder>();
31- mServiceCollection -> AddTransient <PhysicalDeviceBuilder>();
32- mServiceCollection -> AddTransient <DeviceBuilder>();
33- mServiceCollection -> AddTransient <SurfaceBuilder>();
34- mServiceCollection -> AddTransient <RenderPassBuilder>();
35- mServiceCollection -> AddTransient <SwapChainBuilder>();
36- mServiceCollection -> AddTransient <ImageBuilder>();
37- mServiceCollection -> AddTransient <RendererBuilder>();
38- mServiceCollection -> AddTransient <ShaderModuleBuilder>();
39- mServiceCollection -> AddTransient <CommandPoolBuilder>();
40-
41- mServiceCollection -> AddSingleton <Instance>(
21+ services. AddTransient <WindowBuilder>();
22+ services. AddTransient <InstanceBuilder>();
23+ services. AddTransient <PhysicalDeviceBuilder>();
24+ services. AddTransient <DeviceBuilder>();
25+ services. AddTransient <SurfaceBuilder>();
26+ services. AddTransient <RenderPassBuilder>();
27+ services. AddTransient <SwapChainBuilder>();
28+ services. AddTransient <ImageBuilder>();
29+ services. AddTransient <RendererBuilder>();
30+ services. AddTransient <ShaderModuleBuilder>();
31+ services. AddTransient <CommandPoolBuilder>();
32+
33+ services. AddSingleton <Instance>(
4234 [](skr::ServiceProvider& serviceProvider) {
4335 auto freyaOptions = serviceProvider.GetService <FreyaOptions>();
4436
@@ -48,23 +40,23 @@ namespace FREYA_NAMESPACE
4840 return instanceBuilder->Build ();
4941 });
5042
51- mServiceCollection -> AddSingleton <Surface>(
43+ services. AddSingleton <Surface>(
5244 [](skr::ServiceProvider& serviceProvider) {
5345 auto surfaceBuilder =
5446 serviceProvider.GetService <SurfaceBuilder>();
5547
5648 return surfaceBuilder->Build ();
5749 });
5850
59- mServiceCollection -> AddSingleton <PhysicalDevice>(
51+ services. AddSingleton <PhysicalDevice>(
6052 [](skr::ServiceProvider& serviceProvider) {
6153 auto physicalDeviceBuilder =
6254 serviceProvider.GetService <PhysicalDeviceBuilder>();
6355
6456 return physicalDeviceBuilder->Build ();
6557 });
6658
67- mServiceCollection -> AddSingleton <Device>(
59+ services. AddSingleton <Device>(
6860 [](skr::ServiceProvider& serviceProvider) {
6961 auto freyaOptions = serviceProvider.GetService <FreyaOptions>();
7062
@@ -74,7 +66,7 @@ namespace FREYA_NAMESPACE
7466 return deviceBuilder->Build ();
7567 });
7668
77- mServiceCollection -> AddSingleton <CommandPool>(
69+ services. AddSingleton <CommandPool>(
7870 [](skr::ServiceProvider serviceProvider) {
7971 auto freyaOptions = serviceProvider.GetService <FreyaOptions>();
8072
@@ -83,33 +75,33 @@ namespace FREYA_NAMESPACE
8375 .Build ();
8476 });
8577
86- mServiceCollection -> AddTransient <SwapChain>(
78+ services. AddTransient <SwapChain>(
8779 [](skr::ServiceProvider& serviceProvider) {
8880 return serviceProvider.GetService <SwapChainBuilder>()->Build ();
8981 });
9082
91- mServiceCollection -> AddSingleton <EventManager>();
92- mServiceCollection -> AddSingleton <MeshPool>();
93- mServiceCollection -> AddSingleton <TexturePool>();
94- mServiceCollection -> AddSingleton <MaterialPool>();
83+ services. AddSingleton <EventManager>();
84+ services. AddSingleton <MeshPool>();
85+ services. AddSingleton <TexturePool>();
86+ services. AddSingleton <MaterialPool>();
9587
96- mServiceCollection -> AddSingleton <Window>(
88+ services. AddSingleton <Window>(
9789 [](skr::ServiceProvider& serviceProvider) {
9890 auto windowBuilder =
9991 serviceProvider.GetService <WindowBuilder>();
10092
10193 return windowBuilder->Build ();
10294 });
10395
104- mServiceCollection -> AddSingleton <RenderPass>(
96+ services. AddSingleton <RenderPass>(
10597 [](skr::ServiceProvider& serviceProvider) {
10698 auto renderPassBuilder =
10799 serviceProvider.GetService <RenderPassBuilder>();
108100
109101 return renderPassBuilder->Build ();
110102 });
111103
112- mServiceCollection -> AddSingleton <Renderer>(
104+ services. AddSingleton <Renderer>(
113105 [](skr::ServiceProvider& serviceProvider) {
114106 auto freyaOptions = serviceProvider.GetService <FreyaOptions>();
115107
0 commit comments