|
19 | 19 | #include "addons/VFSEntry.h" |
20 | 20 | #include "addons/binary-addons/BinaryAddonManager.h" |
21 | 21 | #include "cores/DataCacheCore.h" |
| 22 | +#include "cores/RetroEngine/RetroEngineServices.h" |
22 | 23 | #include "cores/RetroPlayer/guibridge/GUIGameRenderManager.h" |
23 | 24 | #include "cores/playercorefactory/PlayerCoreFactory.h" |
24 | 25 | #include "favourites/FavouritesService.h" |
@@ -162,6 +163,8 @@ bool CServiceManager::InitStageTwo(const std::string& profilesUserDataFolder) |
162 | 163 |
|
163 | 164 | m_gameRenderManager = std::make_unique<RETRO::CGUIGameRenderManager>(); |
164 | 165 |
|
| 166 | + m_retroEngineServices = std::make_unique<RETRO_ENGINE::CRetroEngineServices>(*m_peripherals); |
| 167 | + |
165 | 168 | m_fileExtensionProvider = std::make_unique<CFileExtensionProvider>(*m_addonMgr); |
166 | 169 |
|
167 | 170 | m_powerManager = std::make_unique<CPowerManager>(); |
@@ -216,6 +219,8 @@ bool CServiceManager::InitStageThree(const std::shared_ptr<CProfileManager>& pro |
216 | 219 | if (!m_Platform->InitStageThree()) |
217 | 220 | return false; |
218 | 221 |
|
| 222 | + m_retroEngineServices->Initialize(*m_gameServices); |
| 223 | + |
219 | 224 | init_level = 3; |
220 | 225 | return true; |
221 | 226 | } |
@@ -248,6 +253,8 @@ void CServiceManager::DeinitStageTwo() |
248 | 253 | m_weatherManager.reset(); |
249 | 254 | m_powerManager.reset(); |
250 | 255 | m_fileExtensionProvider.reset(); |
| 256 | + m_retroEngineServices->Deinitialize(); |
| 257 | + m_retroEngineServices.reset(); |
251 | 258 | m_gameRenderManager.reset(); |
252 | 259 | m_peripherals.reset(); |
253 | 260 | m_inputManager.reset(); |
@@ -383,6 +390,11 @@ KODI::RETRO::CGUIGameRenderManager& CServiceManager::GetGameRenderManager() |
383 | 390 | return *m_gameRenderManager; |
384 | 391 | } |
385 | 392 |
|
| 393 | +RETRO_ENGINE::CRetroEngineServices& CServiceManager::GetRetroEngineServices() |
| 394 | +{ |
| 395 | + return *m_retroEngineServices; |
| 396 | +} |
| 397 | + |
386 | 398 | PERIPHERALS::CPeripherals& CServiceManager::GetPeripherals() |
387 | 399 | { |
388 | 400 | return *m_peripherals; |
|
0 commit comments