mirror of
https://github.com/johndoe6345789/SDL3CPlusPlus.git
synced 2026-04-24 13:44:58 +00:00
feat: Add ILogger dependency to SwapchainService for improved logging
This commit is contained in:
@@ -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()
|
||||
}
|
||||
|
||||
|
||||
@@ -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_;
|
||||
|
||||
Reference in New Issue
Block a user