aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKai Sommerfeld <kai.sommerfeld@gmx.com>2022-09-24 15:11:00 +0200
committerKai Sommerfeld <kai.sommerfeld@gmx.com>2022-09-27 13:17:58 +0200
commit22526bb976683ac62aa71bdd21dd5a2ccba0b158 (patch)
treecb9886e1229f960182505b82b21c876422ddc147
parent9faeac6ba00ccc93a261fb96003771a876fa71be (diff)
[PVR] Add CPVRGUIActionsParentalControl to PVR components.
-rw-r--r--xbmc/pvr/PVRComponentRegistration.cpp3
-rw-r--r--xbmc/pvr/dialogs/GUIDialogPVRChannelManager.cpp5
-rw-r--r--xbmc/pvr/guilib/PVRGUIActions.h4
-rw-r--r--xbmc/pvr/guilib/PVRGUIActionsDatabase.cpp5
-rw-r--r--xbmc/pvr/guilib/PVRGUIActionsEPG.cpp12
-rw-r--r--xbmc/pvr/guilib/PVRGUIActionsParentalControl.h9
-rw-r--r--xbmc/pvr/guilib/PVRGUIActionsPlayback.cpp5
-rw-r--r--xbmc/pvr/guilib/PVRGUIActionsTimers.cpp12
-rw-r--r--xbmc/pvr/settings/PVRSettings.cpp5
9 files changed, 32 insertions, 28 deletions
diff --git a/xbmc/pvr/PVRComponentRegistration.cpp b/xbmc/pvr/PVRComponentRegistration.cpp
index 83c36227f5..cdc6ee2ab7 100644
--- a/xbmc/pvr/PVRComponentRegistration.cpp
+++ b/xbmc/pvr/PVRComponentRegistration.cpp
@@ -12,6 +12,7 @@
#include "pvr/guilib/PVRGUIActionsClients.h"
#include "pvr/guilib/PVRGUIActionsDatabase.h"
#include "pvr/guilib/PVRGUIActionsEPG.h"
+#include "pvr/guilib/PVRGUIActionsParentalControl.h"
#include <memory>
@@ -23,10 +24,12 @@ CPVRComponentRegistration::CPVRComponentRegistration()
RegisterComponent(std::make_shared<CPVRGUIActionsClients>());
RegisterComponent(std::make_shared<CPVRGUIActionsDatabase>());
RegisterComponent(std::make_shared<CPVRGUIActionsEPG>());
+ RegisterComponent(std::make_shared<CPVRGUIActionsParentalControl>());
}
CPVRComponentRegistration::~CPVRComponentRegistration()
{
+ DeregisterComponent(typeid(CPVRGUIActionsParentalControl));
DeregisterComponent(typeid(CPVRGUIActionsEPG));
DeregisterComponent(typeid(CPVRGUIActionsDatabase));
DeregisterComponent(typeid(CPVRGUIActionsClients));
diff --git a/xbmc/pvr/dialogs/GUIDialogPVRChannelManager.cpp b/xbmc/pvr/dialogs/GUIDialogPVRChannelManager.cpp
index cc392fa0ad..267b3c6345 100644
--- a/xbmc/pvr/dialogs/GUIDialogPVRChannelManager.cpp
+++ b/xbmc/pvr/dialogs/GUIDialogPVRChannelManager.cpp
@@ -34,7 +34,7 @@
#include "pvr/channels/PVRChannelGroups.h"
#include "pvr/channels/PVRChannelGroupsContainer.h"
#include "pvr/dialogs/GUIDialogPVRGroupManager.h"
-#include "pvr/guilib/PVRGUIActions.h"
+#include "pvr/guilib/PVRGUIActionsParentalControl.h"
#include "settings/Settings.h"
#include "settings/SettingsComponent.h"
#include "storage/MediaManager.h"
@@ -339,7 +339,8 @@ bool CGUIDialogPVRChannelManager::OnClickButtonRadioParentalLocked()
bool selected(msg.GetParam1() == 1);
// ask for PIN first
- if (CServiceBroker::GetPVRManager().GUIActions()->CheckParentalPIN() != ParentalCheckResult::SUCCESS)
+ if (CServiceBroker::GetPVRManager().Get<PVR::GUI::Parental>().CheckParentalPIN() !=
+ ParentalCheckResult::SUCCESS)
{ // failed - reset to previous
SET_CONTROL_SELECTED(GetID(), RADIOBUTTON_PARENTAL_LOCK, !selected);
return false;
diff --git a/xbmc/pvr/guilib/PVRGUIActions.h b/xbmc/pvr/guilib/PVRGUIActions.h
index 0635a68da7..63c0c2178f 100644
--- a/xbmc/pvr/guilib/PVRGUIActions.h
+++ b/xbmc/pvr/guilib/PVRGUIActions.h
@@ -8,7 +8,6 @@
#pragma once
-#include "pvr/guilib/PVRGUIActionsParentalControl.h"
#include "pvr/guilib/PVRGUIActionsPlayback.h"
#include "pvr/guilib/PVRGUIActionsPowerManagement.h"
#include "pvr/guilib/PVRGUIActionsRecordings.h"
@@ -17,8 +16,7 @@
namespace PVR
{
-class CPVRGUIActions : public CPVRGUIActionsParentalControl,
- public CPVRGUIActionsPlayback,
+class CPVRGUIActions : public CPVRGUIActionsPlayback,
public CPVRGUIActionsPowerManagement,
public CPVRGUIActionsRecordings,
public CPVRGUIActionsTimers,
diff --git a/xbmc/pvr/guilib/PVRGUIActionsDatabase.cpp b/xbmc/pvr/guilib/PVRGUIActionsDatabase.cpp
index 0f63b210cc..53bbf815f6 100644
--- a/xbmc/pvr/guilib/PVRGUIActionsDatabase.cpp
+++ b/xbmc/pvr/guilib/PVRGUIActionsDatabase.cpp
@@ -23,7 +23,7 @@
#include "pvr/PVRPlaybackState.h"
#include "pvr/epg/EpgContainer.h"
#include "pvr/epg/EpgDatabase.h"
-#include "pvr/guilib/PVRGUIActions.h" //! @todo decouple
+#include "pvr/guilib/PVRGUIActionsParentalControl.h"
#include "pvr/recordings/PVRRecordings.h"
#include "pvr/recordings/PVRRecordingsPath.h"
#include "utils/StringUtils.h"
@@ -183,8 +183,7 @@ bool CPVRGUIActionsDatabase::ResetDatabase(bool bResetEPGOnly)
}
else
{
- //! @todo decouple
- if (CServiceBroker::GetPVRManager().GUIActions()->CheckParentalPIN() !=
+ if (CServiceBroker::GetPVRManager().Get<PVR::GUI::Parental>().CheckParentalPIN() !=
ParentalCheckResult::SUCCESS)
return false;
diff --git a/xbmc/pvr/guilib/PVRGUIActionsEPG.cpp b/xbmc/pvr/guilib/PVRGUIActionsEPG.cpp
index 153d3df6b1..d74e822b93 100644
--- a/xbmc/pvr/guilib/PVRGUIActionsEPG.cpp
+++ b/xbmc/pvr/guilib/PVRGUIActionsEPG.cpp
@@ -22,7 +22,7 @@
#include "pvr/dialogs/GUIDialogPVRGuideInfo.h"
#include "pvr/epg/EpgContainer.h"
#include "pvr/epg/EpgSearchFilter.h"
-#include "pvr/guilib/PVRGUIActions.h" //! @todo decouple
+#include "pvr/guilib/PVRGUIActionsParentalControl.h"
#include "pvr/windows/GUIWindowPVRSearch.h"
#include "utils/Variant.h"
#include "utils/log.h"
@@ -56,9 +56,8 @@ PVR::CGUIWindowPVRSearchBase* GetSearchWindow(bool bRadio)
bool CPVRGUIActionsEPG::ShowEPGInfo(const CFileItemPtr& item) const
{
const std::shared_ptr<CPVRChannel> channel(CPVRItem(item).GetChannel());
- //! @todo decouple
- if (channel && CServiceBroker::GetPVRManager().GUIActions()->CheckParentalLock(channel) !=
- ParentalCheckResult::SUCCESS)
+ if (channel && CServiceBroker::GetPVRManager().Get<PVR::GUI::Parental>().CheckParentalLock(
+ channel) != ParentalCheckResult::SUCCESS)
return false;
const std::shared_ptr<CPVREpgInfoTag> epgTag(CPVRItem(item).GetEpgInfoTag());
@@ -85,9 +84,8 @@ bool CPVRGUIActionsEPG::ShowEPGInfo(const CFileItemPtr& item) const
bool CPVRGUIActionsEPG::ShowChannelEPG(const CFileItemPtr& item) const
{
const std::shared_ptr<CPVRChannel> channel(CPVRItem(item).GetChannel());
- //! @todo decouple
- if (channel && CServiceBroker::GetPVRManager().GUIActions()->CheckParentalLock(channel) !=
- ParentalCheckResult::SUCCESS)
+ if (channel && CServiceBroker::GetPVRManager().Get<PVR::GUI::Parental>().CheckParentalLock(
+ channel) != ParentalCheckResult::SUCCESS)
return false;
CGUIDialogPVRChannelGuide* pDlgInfo =
diff --git a/xbmc/pvr/guilib/PVRGUIActionsParentalControl.h b/xbmc/pvr/guilib/PVRGUIActionsParentalControl.h
index d0ce9f1ee0..47d3ec7509 100644
--- a/xbmc/pvr/guilib/PVRGUIActionsParentalControl.h
+++ b/xbmc/pvr/guilib/PVRGUIActionsParentalControl.h
@@ -8,6 +8,7 @@
#pragma once
+#include "pvr/IPVRComponent.h"
#include "pvr/settings/PVRSettings.h"
#include <memory>
@@ -23,7 +24,7 @@ enum class ParentalCheckResult
class CPVRChannel;
-class CPVRGUIActionsParentalControl
+class CPVRGUIActionsParentalControl : public IPVRComponent
{
public:
CPVRGUIActionsParentalControl();
@@ -49,4 +50,10 @@ private:
CPVRSettings m_settings;
};
+namespace GUI
+{
+// pretty scope and name
+using Parental = CPVRGUIActionsParentalControl;
+} // namespace GUI
+
} // namespace PVR
diff --git a/xbmc/pvr/guilib/PVRGUIActionsPlayback.cpp b/xbmc/pvr/guilib/PVRGUIActionsPlayback.cpp
index df676ce433..19cd2c8822 100644
--- a/xbmc/pvr/guilib/PVRGUIActionsPlayback.cpp
+++ b/xbmc/pvr/guilib/PVRGUIActionsPlayback.cpp
@@ -31,8 +31,8 @@
#include "pvr/channels/PVRChannelGroups.h"
#include "pvr/channels/PVRChannelGroupsContainer.h"
#include "pvr/epg/EpgInfoTag.h"
-#include "pvr/guilib/PVRGUIActions.h" //! @todo decouple
#include "pvr/guilib/PVRGUIActionsChannels.h"
+#include "pvr/guilib/PVRGUIActionsParentalControl.h"
#include "pvr/recordings/PVRRecording.h"
#include "pvr/recordings/PVRRecordings.h"
#include "settings/MediaSettings.h"
@@ -269,9 +269,8 @@ bool CPVRGUIActionsPlayback::SwitchToChannel(const CFileItemPtr& item, bool bChe
}
}
- //! @todo decouple
ParentalCheckResult result =
- channel ? CServiceBroker::GetPVRManager().GUIActions()->CheckParentalLock(channel)
+ channel ? CServiceBroker::GetPVRManager().Get<PVR::GUI::Parental>().CheckParentalLock(channel)
: ParentalCheckResult::FAILED;
if (result == ParentalCheckResult::SUCCESS)
{
diff --git a/xbmc/pvr/guilib/PVRGUIActionsTimers.cpp b/xbmc/pvr/guilib/PVRGUIActionsTimers.cpp
index ee2429665b..58a90f5c3e 100644
--- a/xbmc/pvr/guilib/PVRGUIActionsTimers.cpp
+++ b/xbmc/pvr/guilib/PVRGUIActionsTimers.cpp
@@ -30,6 +30,7 @@
#include "pvr/epg/EpgInfoTag.h"
#include "pvr/guilib/PVRGUIActions.h" //! @todo decouple
#include "pvr/guilib/PVRGUIActionsChannels.h"
+#include "pvr/guilib/PVRGUIActionsParentalControl.h"
#include "pvr/recordings/PVRRecording.h"
#include "pvr/timers/PVRTimerInfoTag.h"
#include "pvr/timers/PVRTimers.h"
@@ -137,8 +138,7 @@ bool CPVRGUIActionsTimers::AddTimer(const std::shared_ptr<CFileItem>& item,
return false;
}
- //! @todo decouple
- if (CServiceBroker::GetPVRManager().GUIActions()->CheckParentalLock(channel) !=
+ if (CServiceBroker::GetPVRManager().Get<PVR::GUI::Parental>().CheckParentalLock(channel) !=
ParentalCheckResult::SUCCESS)
return false;
@@ -214,9 +214,8 @@ bool CPVRGUIActionsTimers::AddTimer(const std::shared_ptr<CPVRTimerInfoTag>& ite
return false;
}
- //! @todo decouple
- if (CServiceBroker::GetPVRManager().GUIActions()->CheckParentalLock(item->Channel()) !=
- ParentalCheckResult::SUCCESS)
+ if (CServiceBroker::GetPVRManager().Get<PVR::GUI::Parental>().CheckParentalLock(
+ item->Channel()) != ParentalCheckResult::SUCCESS)
return false;
if (!CServiceBroker::GetPVRManager().Timers()->AddTimer(item))
@@ -368,8 +367,7 @@ bool CPVRGUIActionsTimers::SetRecordingOnChannel(const std::shared_ptr<CPVRChann
if (!channel)
return bReturn;
- //! @todo decouple
- if (CServiceBroker::GetPVRManager().GUIActions()->CheckParentalLock(channel) !=
+ if (CServiceBroker::GetPVRManager().Get<PVR::GUI::Parental>().CheckParentalLock(channel) !=
ParentalCheckResult::SUCCESS)
return bReturn;
diff --git a/xbmc/pvr/settings/PVRSettings.cpp b/xbmc/pvr/settings/PVRSettings.cpp
index 46b3b61304..f28651a655 100644
--- a/xbmc/pvr/settings/PVRSettings.cpp
+++ b/xbmc/pvr/settings/PVRSettings.cpp
@@ -12,7 +12,7 @@
#include "guilib/LocalizeStrings.h"
#include "pvr/PVRManager.h"
#include "pvr/addons/PVRClients.h"
-#include "pvr/guilib/PVRGUIActions.h"
+#include "pvr/guilib/PVRGUIActionsParentalControl.h"
#include "settings/Settings.h"
#include "settings/SettingsComponent.h"
#include "settings/lib/SettingsManager.h"
@@ -227,5 +227,6 @@ bool CPVRSettings::CheckParentalPin(const std::string& condition,
const std::shared_ptr<const CSetting>& setting,
void* data)
{
- return CServiceBroker::GetPVRManager().GUIActions()->CheckParentalPIN() == ParentalCheckResult::SUCCESS;
+ return CServiceBroker::GetPVRManager().Get<PVR::GUI::Parental>().CheckParentalPIN() ==
+ ParentalCheckResult::SUCCESS;
}