/* * author: Patrick-Christopher Mattulat * e-mail: webmaster@lynarstudios.com */ #include #include #include using ls::atlantis::factory::WindowApiEventManagerFactory; using ls::atlantis::glossary::WindowApiTypes; using ls::atlantis::interfaces::IWindowApiEventManager; using ls::atlantis::window::SdlWindowApiEventManager; using ls::std::core::IllegalArgumentException; using ::std::make_shared; using ::std::shared_ptr; WindowApiEventManagerFactory::WindowApiEventManagerFactory() = default; WindowApiEventManagerFactory::~WindowApiEventManagerFactory() = default; shared_ptr WindowApiEventManagerFactory::build(const WindowApiTypes &_windowApi) { shared_ptr eventManager{}; switch (_windowApi) { case WindowApiTypes::NONE_SELECTED: { throw IllegalArgumentException{}; } case WindowApiTypes::SDL_WINDOW_API: { eventManager = make_shared(); } break; } return eventManager; }