Skip to content

Commit

Permalink
Replace global access to Data Cache Core with reference
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
garbear committed Mar 30, 2018
1 parent cbcf525 commit 7755c64
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 5 deletions.
3 changes: 2 additions & 1 deletion xbmc/ServiceManager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
8 changes: 5 additions & 3 deletions xbmc/guilib/StereoscopicsManager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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;
}

Expand Down
5 changes: 4 additions & 1 deletion xbmc/guilib/StereoscopicsManager.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
#include "rendering/RenderSystem.h"

class CAction;
class CDataCacheCore;
class CSettings;

enum STEREOSCOPIC_PLAYBACK_MODE
Expand All @@ -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);
Expand Down Expand Up @@ -93,6 +95,7 @@ class CStereoscopicsManager : public ISettingCallback,

// Construction parameters
CSettings &m_settings;
CDataCacheCore &m_dataCacheCore;

// Stereoscopic parameters
RENDER_STEREO_MODE m_stereoModeSetByUser;
Expand Down

0 comments on commit 7755c64

Please # to comment.