mirror of
https://github.com/johndoe6345789/SDL3CPlusPlus.git
synced 2026-04-25 06:04:57 +00:00
38 lines
1.4 KiB
C++
38 lines
1.4 KiB
C++
#include "lifecycle_controller.hpp"
|
|
#include "../services/interfaces/i_logger.hpp"
|
|
|
|
namespace sdl3cpp::controllers {
|
|
|
|
LifecycleController::LifecycleController(di::ServiceRegistry& registry)
|
|
: registry_(registry), logger_(registry.GetService<services::ILogger>()) {
|
|
logger_->Trace("LifecycleController", "LifecycleController", "", "Created");
|
|
}
|
|
|
|
LifecycleController::~LifecycleController() {
|
|
logger_->Trace("LifecycleController", "~LifecycleController", "", "Destroyed");
|
|
}
|
|
|
|
void LifecycleController::InitializeAll() {
|
|
logger_->Trace("LifecycleController", "InitializeAll", "", "Entering");
|
|
logger_->Info("LifecycleController::InitializeAll: Initializing all services");
|
|
|
|
// ServiceRegistry handles initialization order based on dependencies
|
|
registry_.InitializeAll();
|
|
|
|
logger_->Info("LifecycleController::InitializeAll: All services initialized");
|
|
logger_->Trace("LifecycleController", "InitializeAll", "", "Exiting");
|
|
}
|
|
|
|
void LifecycleController::ShutdownAll() noexcept {
|
|
logger_->Trace("LifecycleController", "ShutdownAll", "", "Entering");
|
|
logger_->Info("LifecycleController::ShutdownAll: Shutting down all services");
|
|
|
|
// ServiceRegistry handles shutdown in reverse dependency order
|
|
registry_.ShutdownAll();
|
|
|
|
logger_->Info("LifecycleController::ShutdownAll: All services shutdown");
|
|
logger_->Trace("LifecycleController::ShutdownAll: Exiting");
|
|
}
|
|
|
|
} // namespace sdl3cpp::controllers
|