#pragma once #include "../interfaces/i_audio_command_service.hpp" #include "../interfaces/i_audio_service.hpp" #include "../interfaces/i_config_service.hpp" #include "../interfaces/i_logger.hpp" #include namespace sdl3cpp::services::impl { /** * @brief Script-facing audio command service implementation. */ class AudioCommandService : public IAudioCommandService { public: AudioCommandService(std::shared_ptr configService, std::shared_ptr audioService, std::shared_ptr logger); bool QueueAudioCommand(AudioCommandType type, const std::string& path, bool loop, std::string& error) override; bool StopBackground(std::string& error) override; private: std::shared_ptr configService_; std::shared_ptr audioService_; std::shared_ptr logger_; }; } // namespace sdl3cpp::services::impl