feat: Add ILogger dependency to SwapchainService for improved logging

This commit is contained in:
2026-01-04 14:50:44 +00:00
parent ee7337aa38
commit 954d7dd897
2 changed files with 8 additions and 5 deletions

View File

@@ -1,13 +1,13 @@
#include "swapchain_service.hpp"
#include "../../logging/logger.hpp"
#include <algorithm>
#include <stdexcept>
namespace sdl3cpp::services::impl {
SwapchainService::SwapchainService(std::shared_ptr<IVulkanDeviceService> deviceService,
std::shared_ptr<events::EventBus> eventBus)
: deviceService_(std::move(deviceService)), eventBus_(std::move(eventBus)) {
std::shared_ptr<events::EventBus> eventBus,
std::shared_ptr<ILogger> logger)
: deviceService_(std::move(deviceService)), eventBus_(std::move(eventBus)), logger_(logger) {
// Subscribe to window resize events
eventBus_->Subscribe(events::EventType::WindowResized,
[this](const events::Event& event) { OnWindowResized(event); });
@@ -20,7 +20,7 @@ SwapchainService::~SwapchainService() {
}
void SwapchainService::Initialize() {
logging::TraceGuard trace;
logger_->TraceFunction(__func__);
// Initialization happens in CreateSwapchain()
}

View File

@@ -2,6 +2,7 @@
#include "../interfaces/i_swapchain_service.hpp"
#include "../interfaces/i_vulkan_device_service.hpp"
#include "../interfaces/i_logger.hpp"
#include "../../di/lifecycle.hpp"
#include "../../events/event_bus.hpp"
#include <memory>
@@ -20,7 +21,8 @@ class SwapchainService : public ISwapchainService,
public di::IShutdownable {
public:
explicit SwapchainService(std::shared_ptr<IVulkanDeviceService> deviceService,
std::shared_ptr<events::EventBus> eventBus);
std::shared_ptr<events::EventBus> eventBus,
std::shared_ptr<ILogger> logger);
~SwapchainService() override;
// ISwapchainService interface
@@ -49,6 +51,7 @@ public:
private:
std::shared_ptr<IVulkanDeviceService> deviceService_;
std::shared_ptr<events::EventBus> eventBus_;
std::shared_ptr<ILogger> logger_;
VkSwapchainKHR swapchain_ = VK_NULL_HANDLE;
std::vector<VkImage> images_;