From 7755c64071bc5078b7666cae8bbef42b2fc70db8 Mon Sep 17 00:00:00 2001 From: Garrett Brown Date: Thu, 15 Mar 2018 17:14:51 -0700 Subject: [PATCH] Replace global access to Data Cache Core with reference Here, we do the same thing as CSettings with CDataCacheCore. Notice that we place the new reference on the next line following CSettings so we can scale to handle lots of dependencies with a clean git history. --- xbmc/ServiceManager.cpp | 3 ++- xbmc/guilib/StereoscopicsManager.cpp | 8 +++++--- xbmc/guilib/StereoscopicsManager.h | 5 ++++- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/xbmc/ServiceManager.cpp b/xbmc/ServiceManager.cpp index 423dba3136baa..84e85a7b6b3ce 100644 --- a/xbmc/ServiceManager.cpp +++ b/xbmc/ServiceManager.cpp @@ -230,7 +230,8 @@ bool CServiceManager::StartAudioEngine() // stage 3 is called after successful initialization of WindowManager bool CServiceManager::InitStageThree() { - m_stereoscopicsManager.reset(new CStereoscopicsManager(*m_settings)); + m_stereoscopicsManager.reset(new CStereoscopicsManager(*m_settings, + *m_dataCacheCore)); m_stereoscopicsManager->Initialize(); // Peripherals depends on strings being loaded before stage 3 diff --git a/xbmc/guilib/StereoscopicsManager.cpp b/xbmc/guilib/StereoscopicsManager.cpp index 9819a23639ddb..708668b64042d 100644 --- a/xbmc/guilib/StereoscopicsManager.cpp +++ b/xbmc/guilib/StereoscopicsManager.cpp @@ -98,8 +98,10 @@ static const struct StereoModeMap StringToGuiModeMap[] = }; -CStereoscopicsManager::CStereoscopicsManager(CSettings &settings) : - m_settings(settings) +CStereoscopicsManager::CStereoscopicsManager(CSettings &settings, + CDataCacheCore &dataCacheCore) : + m_settings(settings), + m_dataCacheCore(dataCacheCore) { m_stereoModeSetByUser = RENDER_STEREO_MODE_UNDEFINED; m_lastStereoModeSetByUser = RENDER_STEREO_MODE_UNDEFINED; @@ -495,7 +497,7 @@ std::string CStereoscopicsManager::GetVideoStereoMode() { std::string playerMode; if (g_application.GetAppPlayer().IsPlaying()) - playerMode = CServiceBroker::GetDataCacheCore().GetVideoStereoMode(); + playerMode = m_dataCacheCore.GetVideoStereoMode(); return playerMode; } diff --git a/xbmc/guilib/StereoscopicsManager.h b/xbmc/guilib/StereoscopicsManager.h index 6ec91065f5da3..24288954ff7d7 100644 --- a/xbmc/guilib/StereoscopicsManager.h +++ b/xbmc/guilib/StereoscopicsManager.h @@ -31,6 +31,7 @@ #include "rendering/RenderSystem.h" class CAction; +class CDataCacheCore; class CSettings; enum STEREOSCOPIC_PLAYBACK_MODE @@ -46,7 +47,8 @@ class CStereoscopicsManager : public ISettingCallback, public IMsgTargetCallback { public: - CStereoscopicsManager(CSettings &settings); + CStereoscopicsManager(CSettings &settings, + CDataCacheCore &dataCacheCore); ~CStereoscopicsManager(void) override; void Initialize(void); @@ -93,6 +95,7 @@ class CStereoscopicsManager : public ISettingCallback, // Construction parameters CSettings &m_settings; + CDataCacheCore &m_dataCacheCore; // Stereoscopic parameters RENDER_STEREO_MODE m_stereoModeSetByUser;