@@ -144,6 +144,8 @@ struct Application final : public EventListener, public ServiceProvider {
144144 Application (Application&& other) noexcept = delete ;
145145 Application& operator =(Application&& other) noexcept = delete ;
146146
147+ ~Application ();
148+
147149 void run ();
148150
149151 void handle_event (const SDL_Event& event) override ;
@@ -158,76 +160,40 @@ struct Application final : public EventListener, public ServiceProvider {
158160 void emscripten_do_process ();
159161#endif
160162
161- // TODO(Totto): move those functions bodies to the cpp
162-
163- void push_scene (std::unique_ptr<scenes::Scene> scene) {
164- m_scene_stack.push_back (std::move (scene));
165- }
163+ void push_scene (std::unique_ptr<scenes::Scene> scene);
166164
167165 // implementation of ServiceProvider
168- [[nodiscard]] EventDispatcher& event_dispatcher () override {
169- return m_event_dispatcher;
170- }
166+ [[nodiscard]] EventDispatcher& event_dispatcher () override ;
171167
172- [[nodiscard]] const EventDispatcher& event_dispatcher () const override {
173- return m_event_dispatcher;
174- }
168+ [[nodiscard]] const EventDispatcher& event_dispatcher () const override ;
175169
176- FontManager& font_manager () override {
177- return *m_font_manager;
178- }
170+ FontManager& font_manager () override ;
179171
180- [[nodiscard]] const FontManager& font_manager () const override {
181- return *m_font_manager;
182- }
172+ [[nodiscard]] const FontManager& font_manager () const override ;
183173
184- CommandLineArguments& command_line_arguments () override {
185- return m_command_line_arguments;
186- }
174+ CommandLineArguments& command_line_arguments () override ;
187175
188- [[nodiscard]] const CommandLineArguments& command_line_arguments () const override {
189- return m_command_line_arguments;
190- }
176+ [[nodiscard]] const CommandLineArguments& command_line_arguments () const override ;
191177
192- SettingsManager& settings_manager () override {
193- return *m_settings_manager;
194- }
178+ SettingsManager& settings_manager () override ;
195179
196- [[nodiscard]] const SettingsManager& settings_manager () const override {
197- return *m_settings_manager;
198- }
180+ [[nodiscard]] const SettingsManager& settings_manager () const override ;
199181
200- MusicManager& music_manager () override {
201- return *m_music_manager;
202- }
182+ MusicManager& music_manager () override ;
203183
204- [[nodiscard]] const MusicManager& music_manager () const override {
205- return *m_music_manager;
206- }
184+ [[nodiscard]] const MusicManager& music_manager () const override ;
207185
208- [[nodiscard]] const Renderer& renderer () const override {
209- return m_renderer;
210- }
186+ [[nodiscard]] const Renderer& renderer () const override ;
211187
212- [[nodiscard]] const Window& window () const override {
213- return *m_window;
214- }
188+ [[nodiscard]] const Window& window () const override ;
215189
216- [[nodiscard]] Window& window () override {
217- return *m_window;
218- }
190+ [[nodiscard]] Window& window () override ;
219191
220- [[nodiscard]] input::InputManager& input_manager () override {
221- return *m_input_manager;
222- }
192+ [[nodiscard]] input::InputManager& input_manager () override ;
223193
224- [[nodiscard]] const input::InputManager& input_manager () const override {
225- return *m_input_manager;
226- }
194+ [[nodiscard]] const input::InputManager& input_manager () const override ;
227195
228- [[nodiscard]] const std::unique_ptr<lobby::API>& api () const override {
229- return m_api;
230- }
196+ [[nodiscard]] const std::unique_ptr<lobby::API>& api () const override ;
231197
232198
233199#if defined(_HAVE_DISCORD_SDK)
0 commit comments