aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKai Sommerfeld <kai.sommerfeld@gmx.com>2019-06-05 21:49:01 +0200
committerKai Sommerfeld <kai.sommerfeld@gmx.com>2019-06-08 22:14:44 +0200
commit644a99bc146ed279c9a2176ebeb7269cfe867577 (patch)
tree009c9234202d34a3f4a7884cefb9941294b573ae
parentea221026e38a72fdeef41615946826aea0117783 (diff)
[PVR] Cleanup PVR header files: removed unneeded includes, add missing includes, use forward declarations whenever possible.
-rw-r--r--xbmc/FileItem.cpp2
-rw-r--r--xbmc/addons/PVRClient.cpp3
-rw-r--r--xbmc/addons/PVRClient.h2
-rw-r--r--xbmc/cores/VideoPlayer/Edl.cpp15
-rw-r--r--xbmc/interfaces/json-rpc/FileItemHandler.cpp2
-rw-r--r--xbmc/interfaces/json-rpc/PVROperations.cpp4
-rw-r--r--xbmc/pvr/PVRActionListener.cpp3
-rw-r--r--xbmc/pvr/PVRContextMenus.cpp1
-rw-r--r--xbmc/pvr/PVRDatabase.cpp1
-rw-r--r--xbmc/pvr/PVRDatabase.h4
-rw-r--r--xbmc/pvr/PVRGUIActions.cpp6
-rw-r--r--xbmc/pvr/PVRGUIActions.h61
-rw-r--r--xbmc/pvr/PVRGUIChannelNavigator.cpp1
-rw-r--r--xbmc/pvr/PVRGUIDirectory.cpp3
-rw-r--r--xbmc/pvr/PVRGUIDirectory.h2
-rw-r--r--xbmc/pvr/PVRGUIInfo.cpp3
-rw-r--r--xbmc/pvr/PVRGUIInfo.h3
-rw-r--r--xbmc/pvr/PVRGUITimesInfo.cpp3
-rw-r--r--xbmc/pvr/PVRItem.h5
-rw-r--r--xbmc/pvr/PVRJobs.h10
-rw-r--r--xbmc/pvr/PVRManager.cpp4
-rw-r--r--xbmc/pvr/PVRManager.h7
-rw-r--r--xbmc/pvr/PVRSettings.h7
-rw-r--r--xbmc/pvr/channels/PVRChannel.cpp2
-rw-r--r--xbmc/pvr/channels/PVRChannel.h3
-rw-r--r--xbmc/pvr/channels/PVRChannelGroup.cpp3
-rw-r--r--xbmc/pvr/channels/PVRChannelGroup.h6
-rw-r--r--xbmc/pvr/channels/PVRChannelGroupInternal.cpp1
-rw-r--r--xbmc/pvr/channels/PVRChannelGroupInternal.h7
-rw-r--r--xbmc/pvr/channels/PVRChannelGroups.h5
-rw-r--r--xbmc/pvr/channels/PVRChannelGroupsContainer.cpp2
-rw-r--r--xbmc/pvr/channels/PVRChannelGroupsContainer.h6
-rw-r--r--xbmc/pvr/dialogs/GUIDialogPVRChannelGuide.h2
-rw-r--r--xbmc/pvr/dialogs/GUIDialogPVRChannelManager.cpp2
-rw-r--r--xbmc/pvr/dialogs/GUIDialogPVRChannelManager.h12
-rw-r--r--xbmc/pvr/dialogs/GUIDialogPVRChannelsOSD.cpp2
-rw-r--r--xbmc/pvr/dialogs/GUIDialogPVRChannelsOSD.h6
-rw-r--r--xbmc/pvr/dialogs/GUIDialogPVRClientPriorities.h3
-rw-r--r--xbmc/pvr/dialogs/GUIDialogPVRGroupManager.cpp2
-rw-r--r--xbmc/pvr/dialogs/GUIDialogPVRGroupManager.h3
-rw-r--r--xbmc/pvr/dialogs/GUIDialogPVRGuideInfo.h2
-rw-r--r--xbmc/pvr/dialogs/GUIDialogPVRGuideSearch.cpp3
-rw-r--r--xbmc/pvr/dialogs/GUIDialogPVRGuideSearch.h1
-rw-r--r--xbmc/pvr/dialogs/GUIDialogPVRRadioRDSInfo.h2
-rw-r--r--xbmc/pvr/dialogs/GUIDialogPVRRecordingInfo.h3
-rw-r--r--xbmc/pvr/dialogs/GUIDialogPVRRecordingSettings.h6
-rw-r--r--xbmc/pvr/dialogs/GUIDialogPVRTimerSettings.cpp2
-rw-r--r--xbmc/pvr/dialogs/GUIDialogPVRTimerSettings.h4
-rw-r--r--xbmc/pvr/epg/Epg.cpp2
-rw-r--r--xbmc/pvr/epg/Epg.h6
-rw-r--r--xbmc/pvr/epg/EpgContainer.cpp3
-rw-r--r--xbmc/pvr/epg/EpgContainer.h11
-rw-r--r--xbmc/pvr/epg/EpgDatabase.h3
-rw-r--r--xbmc/pvr/epg/EpgInfoTag.cpp9
-rw-r--r--xbmc/pvr/epg/EpgInfoTag.h11
-rw-r--r--xbmc/pvr/epg/EpgSearchFilter.cpp3
-rw-r--r--xbmc/pvr/epg/EpgSearchFilter.h2
-rw-r--r--xbmc/pvr/recordings/PVRRecording.cpp2
-rw-r--r--xbmc/pvr/recordings/PVRRecording.h9
-rw-r--r--xbmc/pvr/recordings/PVRRecordings.cpp3
-rw-r--r--xbmc/pvr/recordings/PVRRecordings.h10
-rw-r--r--xbmc/pvr/timers/PVRTimerInfoTag.cpp3
-rw-r--r--xbmc/pvr/timers/PVRTimerInfoTag.h21
-rw-r--r--xbmc/pvr/timers/PVRTimers.cpp3
-rw-r--r--xbmc/pvr/timers/PVRTimers.h5
-rw-r--r--xbmc/pvr/windows/GUIEPGGridContainer.h7
-rw-r--r--xbmc/pvr/windows/GUIEPGGridContainerModel.cpp2
-rw-r--r--xbmc/pvr/windows/GUIEPGGridContainerModel.h18
-rw-r--r--xbmc/pvr/windows/GUIViewStatePVR.h2
-rw-r--r--xbmc/pvr/windows/GUIWindowPVRBase.cpp1
-rw-r--r--xbmc/pvr/windows/GUIWindowPVRBase.h4
-rw-r--r--xbmc/pvr/windows/GUIWindowPVRChannels.cpp3
-rw-r--r--xbmc/pvr/windows/GUIWindowPVRChannels.h4
-rw-r--r--xbmc/pvr/windows/GUIWindowPVRGuide.cpp3
-rw-r--r--xbmc/pvr/windows/GUIWindowPVRGuide.h4
-rw-r--r--xbmc/pvr/windows/GUIWindowPVRRecordings.cpp1
-rw-r--r--xbmc/pvr/windows/GUIWindowPVRRecordings.h5
-rw-r--r--xbmc/pvr/windows/GUIWindowPVRSearch.cpp2
-rw-r--r--xbmc/pvr/windows/GUIWindowPVRSearch.h5
-rw-r--r--xbmc/pvr/windows/GUIWindowPVRTimersBase.h5
80 files changed, 289 insertions, 125 deletions
diff --git a/xbmc/FileItem.cpp b/xbmc/FileItem.cpp
index 374f2e169b..a8f21e9fb7 100644
--- a/xbmc/FileItem.cpp
+++ b/xbmc/FileItem.cpp
@@ -35,7 +35,7 @@
#include "pvr/PVRManager.h"
#include "pvr/channels/PVRChannelGroupsContainer.h"
#include "pvr/channels/PVRChannel.h"
-#include "pvr/epg/Epg.h"
+#include "pvr/epg/EpgInfoTag.h"
#include "pvr/recordings/PVRRecording.h"
#include "pvr/timers/PVRTimerInfoTag.h"
#include "video/Bookmark.h"
diff --git a/xbmc/addons/PVRClient.cpp b/xbmc/addons/PVRClient.cpp
index 66e97df225..d1e05ea3ed 100644
--- a/xbmc/addons/PVRClient.cpp
+++ b/xbmc/addons/PVRClient.cpp
@@ -33,12 +33,15 @@ extern "C" {
#include "pvr/PVRManager.h"
#include "pvr/PVRStreamProperties.h"
#include "pvr/addons/PVRClients.h"
+#include "pvr/channels/PVRChannel.h"
#include "pvr/channels/PVRChannelGroupInternal.h"
+#include "pvr/channels/PVRChannelGroups.h"
#include "pvr/channels/PVRChannelGroupsContainer.h"
#include "pvr/epg/Epg.h"
#include "pvr/epg/EpgChannelData.h"
#include "pvr/epg/EpgContainer.h"
#include "pvr/epg/EpgInfoTag.h"
+#include "pvr/recordings/PVRRecording.h"
#include "pvr/recordings/PVRRecordings.h"
#include "pvr/timers/PVRTimerInfoTag.h"
#include "pvr/timers/PVRTimerType.h"
diff --git a/xbmc/addons/PVRClient.h b/xbmc/addons/PVRClient.h
index 934bae3fb8..4be82f350f 100644
--- a/xbmc/addons/PVRClient.h
+++ b/xbmc/addons/PVRClient.h
@@ -12,6 +12,7 @@
#include <functional>
#include <memory>
#include <string>
+#include <utility>
#include <vector>
#include "addons/binary-addons/AddonDll.h"
@@ -24,7 +25,6 @@ namespace PVR
class CPVRChannelGroups;
class CPVRClientMenuHook;
class CPVRClientMenuHooks;
- class CPVREpgChannelData;
class CPVRStreamProperties;
class CPVRTimersContainer;
diff --git a/xbmc/cores/VideoPlayer/Edl.cpp b/xbmc/cores/VideoPlayer/Edl.cpp
index 2eec219364..ba81a4d66c 100644
--- a/xbmc/cores/VideoPlayer/Edl.cpp
+++ b/xbmc/cores/VideoPlayer/Edl.cpp
@@ -7,18 +7,21 @@
*/
#include "Edl.h"
+
+#include "FileItem.h"
+#include "PlatformDefs.h"
+#include "ServiceBroker.h"
#include "cores/Cut.h"
-#include "utils/StringUtils.h"
-#include "utils/URIUtils.h"
#include "filesystem/File.h"
#include "settings/AdvancedSettings.h"
#include "settings/SettingsComponent.h"
-#include "utils/log.h"
+#include "utils/StringUtils.h"
+#include "utils/URIUtils.h"
#include "utils/XBMCTinyXML.h"
-#include "PlatformDefs.h"
-#include "pvr/recordings/PVRRecordings.h"
+#include "utils/log.h"
#include "pvr/PVRManager.h"
-#include "ServiceBroker.h"
+#include "pvr/epg/EpgInfoTag.h"
+#include "pvr/recordings/PVRRecording.h"
#define COMSKIP_HEADER "FILE PROCESSING COMPLETE"
#define VIDEOREDO_HEADER "<Version>2"
diff --git a/xbmc/interfaces/json-rpc/FileItemHandler.cpp b/xbmc/interfaces/json-rpc/FileItemHandler.cpp
index d88cc9e55b..b3c4a8be06 100644
--- a/xbmc/interfaces/json-rpc/FileItemHandler.cpp
+++ b/xbmc/interfaces/json-rpc/FileItemHandler.cpp
@@ -28,7 +28,7 @@
#include "music/MusicThumbLoader.h"
#include "Util.h"
#include "pvr/channels/PVRChannel.h"
-#include "pvr/epg/Epg.h"
+#include "pvr/epg/EpgInfoTag.h"
#include "pvr/recordings/PVRRecording.h"
#include "pvr/timers/PVRTimerInfoTag.h"
diff --git a/xbmc/interfaces/json-rpc/PVROperations.cpp b/xbmc/interfaces/json-rpc/PVROperations.cpp
index 9f6fbaa01f..59aa502928 100644
--- a/xbmc/interfaces/json-rpc/PVROperations.cpp
+++ b/xbmc/interfaces/json-rpc/PVROperations.cpp
@@ -12,11 +12,13 @@
#include "pvr/PVRGUIActions.h"
#include "pvr/PVRManager.h"
-#include "pvr/channels/PVRChannelGroupsContainer.h"
#include "pvr/channels/PVRChannel.h"
+#include "pvr/channels/PVRChannelGroups.h"
+#include "pvr/channels/PVRChannelGroupsContainer.h"
#include "pvr/epg/Epg.h"
#include "pvr/epg/EpgContainer.h"
#include "pvr/recordings/PVRRecordings.h"
+#include "pvr/timers/PVRTimerInfoTag.h"
#include "pvr/timers/PVRTimers.h"
#include "utils/Variant.h"
diff --git a/xbmc/pvr/PVRActionListener.cpp b/xbmc/pvr/PVRActionListener.cpp
index 934cbe68d1..b069fa3307 100644
--- a/xbmc/pvr/PVRActionListener.cpp
+++ b/xbmc/pvr/PVRActionListener.cpp
@@ -20,11 +20,14 @@
#include "messaging/ApplicationMessenger.h"
#include "settings/Settings.h"
#include "settings/SettingsComponent.h"
+#include "settings/lib/Setting.h"
#include "pvr/PVRGUIActions.h"
#include "pvr/PVRManager.h"
#include "pvr/addons/PVRClients.h"
#include "pvr/channels/PVRChannel.h"
+#include "pvr/channels/PVRChannelGroup.h"
+#include "pvr/channels/PVRChannelGroups.h"
#include "pvr/channels/PVRChannelGroupsContainer.h"
namespace PVR
diff --git a/xbmc/pvr/PVRContextMenus.cpp b/xbmc/pvr/PVRContextMenus.cpp
index e1630dfc69..2fc5a0c188 100644
--- a/xbmc/pvr/PVRContextMenus.cpp
+++ b/xbmc/pvr/PVRContextMenus.cpp
@@ -22,6 +22,7 @@
#include "pvr/recordings/PVRRecording.h"
#include "pvr/recordings/PVRRecordings.h"
#include "pvr/recordings/PVRRecordingsPath.h"
+#include "pvr/timers/PVRTimerInfoTag.h"
#include "pvr/timers/PVRTimers.h"
#include "pvr/timers/PVRTimersPath.h"
diff --git a/xbmc/pvr/PVRDatabase.cpp b/xbmc/pvr/PVRDatabase.cpp
index 8e85d5cd8c..1ffa593d90 100644
--- a/xbmc/pvr/PVRDatabase.cpp
+++ b/xbmc/pvr/PVRDatabase.cpp
@@ -19,6 +19,7 @@
#include "utils/StringUtils.h"
#include "utils/log.h"
+#include "pvr/channels/PVRChannel.h"
#include "pvr/channels/PVRChannelGroups.h"
#include "pvr/timers/PVRTimerInfoTag.h"
#include "pvr/timers/PVRTimerType.h"
diff --git a/xbmc/pvr/PVRDatabase.h b/xbmc/pvr/PVRDatabase.h
index a801ea6d2c..023d833f74 100644
--- a/xbmc/pvr/PVRDatabase.h
+++ b/xbmc/pvr/PVRDatabase.h
@@ -18,12 +18,8 @@
namespace PVR
{
- class CPVRChannelGroup;
- class CPVRChannel;
class CPVRChannelGroups;
class CPVRClient;
- class CPVRTimerInfoTag;
- class CPVRTimers;
/** The PVR database */
diff --git a/xbmc/pvr/PVRGUIActions.cpp b/xbmc/pvr/PVRGUIActions.cpp
index 8ea79c1c6d..1b74d1521c 100644
--- a/xbmc/pvr/PVRGUIActions.cpp
+++ b/xbmc/pvr/PVRGUIActions.cpp
@@ -46,6 +46,9 @@
#include "pvr/PVRManager.h"
#include "pvr/PVRStreamProperties.h"
#include "pvr/addons/PVRClients.h"
+#include "pvr/channels/PVRChannel.h"
+#include "pvr/channels/PVRChannelGroup.h"
+#include "pvr/channels/PVRChannelGroups.h"
#include "pvr/channels/PVRChannelGroupsContainer.h"
#include "pvr/dialogs/GUIDialogPVRChannelGuide.h"
#include "pvr/dialogs/GUIDialogPVRGuideInfo.h"
@@ -53,9 +56,12 @@
#include "pvr/dialogs/GUIDialogPVRRecordingSettings.h"
#include "pvr/dialogs/GUIDialogPVRTimerSettings.h"
#include "pvr/epg/EpgContainer.h"
+#include "pvr/epg/EpgDatabase.h"
#include "pvr/epg/EpgInfoTag.h"
+#include "pvr/recordings/PVRRecording.h"
#include "pvr/recordings/PVRRecordings.h"
#include "pvr/recordings/PVRRecordingsPath.h"
+#include "pvr/timers/PVRTimerInfoTag.h"
#include "pvr/timers/PVRTimers.h"
#include "pvr/windows/GUIWindowPVRSearch.h"
diff --git a/xbmc/pvr/PVRGUIActions.h b/xbmc/pvr/PVRGUIActions.h
index 36b108bfc2..b2394d1f2b 100644
--- a/xbmc/pvr/PVRGUIActions.h
+++ b/xbmc/pvr/PVRGUIActions.h
@@ -10,6 +10,7 @@
#include <memory>
#include <string>
+#include <vector>
#include "threads/CriticalSection.h"
@@ -18,9 +19,7 @@
#include "pvr/PVRSettings.h"
#include "pvr/PVRTypes.h"
-class CAction;
class CFileItem;
-typedef std::shared_ptr<CFileItem> CFileItemPtr;
class CGUIWindow;
@@ -72,14 +71,14 @@ namespace PVR
* @param item containing epg data to show. item must be an epg tag, a channel or a timer.
* @return true on success, false otherwise.
*/
- bool ShowEPGInfo(const CFileItemPtr &item) const;
+ bool ShowEPGInfo(const std::shared_ptr<CFileItem>& item) const;
/*!
* @brief Open a dialog with the epg list for a given item.
* @param item containing channel info. item must be an epg tag, a channel or a timer.
* @return true on success, false otherwise.
*/
- bool ShowChannelEPG(const CFileItemPtr &item) const;
+ bool ShowChannelEPG(const std::shared_ptr<CFileItem>& item) const;
/*!
* @brief Open a window containing a list of epg tags 'similar' to a given item.
@@ -87,7 +86,7 @@ namespace PVR
* @param windowToClose is the window to close before opening the window with the search results.
* @return true on success, false otherwise.
*/
- bool FindSimilar(const CFileItemPtr &item, CGUIWindow *windowToClose = nullptr) const;
+ bool FindSimilar(const std::shared_ptr<CFileItem>& item, CGUIWindow* windowToClose = nullptr) const;
/*!
* @brief Open the timer settings dialog to create a new tv or radio timer.
@@ -102,7 +101,7 @@ namespace PVR
* @param bShowTimerSettings is used to control whether a settings dialog will be opened prior creating the timer.
* @return true, if the timer was created successfully, false otherwise.
*/
- bool AddTimer(const CFileItemPtr &item, bool bShowTimerSettings) const;
+ bool AddTimer(const std::shared_ptr<CFileItem>& item, bool bShowTimerSettings) const;
/*!
* @brief Add a timer to the client. Doesn't add the timer to the container. The backend will do this.
@@ -124,28 +123,28 @@ namespace PVR
* @param item containing an epg tag.
* @return true on success, false otherwise.
*/
- bool ToggleTimer(const CFileItemPtr &item) const;
+ bool ToggleTimer(const std::shared_ptr<CFileItem>& item) const;
/*!
* @brief Toggles a given timer's enabled/disabled state.
* @param item containing a timer.
* @return true on success, false otherwise.
*/
- bool ToggleTimerState(const CFileItemPtr &item) const;
+ bool ToggleTimerState(const std::shared_ptr<CFileItem>& item) const;
/*!
* @brief Open the timer settings dialog to edit an existing timer.
* @param item containing an epg tag or a timer.
* @return true on success, false otherwise.
*/
- bool EditTimer(const CFileItemPtr &item) const;
+ bool EditTimer(const std::shared_ptr<CFileItem>& item) const;
/*!
* @brief Open the timer settings dialog to edit an existing timer rule.
* @param item containing an epg tag or a timer.
* @return true on success, false otherwise.
*/
- bool EditTimerRule(const CFileItemPtr &item) const;
+ bool EditTimerRule(const std::shared_ptr<CFileItem>& item) const;
/*!
* @brief Get the timer rule for a given timer
@@ -159,28 +158,28 @@ namespace PVR
* @param item containing a timer to rename.
* @return true, if the timer was renamed successfully, false otherwise.
*/
- bool RenameTimer(const CFileItemPtr &item) const;
+ bool RenameTimer(const std::shared_ptr<CFileItem>& item) const;
/*!
* @brief Delete a timer, always showing a confirmation dialog.
* @param item containing a timer to delete. item must be a timer, an epg tag or a channel.
* @return true, if the timer was deleted successfully, false otherwise.
*/
- bool DeleteTimer(const CFileItemPtr &item) const;
+ bool DeleteTimer(const std::shared_ptr<CFileItem>& item) const;
/*!
* @brief Delete a timer rule, always showing a confirmation dialog.
* @param item containing a timer rule to delete. item must be a timer, an epg tag or a channel.
* @return true, if the timer rule was deleted successfully, false otherwise.
*/
- bool DeleteTimerRule(const CFileItemPtr &item) const;
+ bool DeleteTimerRule(const std::shared_ptr<CFileItem>& item) const;
/*!
* @brief Open a dialog with information for a given recording.
* @param item containing a recording.
* @return true on success, false otherwise.
*/
- bool ShowRecordingInfo(const CFileItemPtr &item) const;
+ bool ShowRecordingInfo(const std::shared_ptr<CFileItem>& item) const;
/*!
* @brief Toggle recording on the currently playing channel, if any.
@@ -201,14 +200,14 @@ namespace PVR
* @param item containing a recording to stop. item must be a timer, an epg tag or a channel.
* @return true, if the recording was stopped successfully, false otherwise.
*/
- bool StopRecording(const CFileItemPtr &item) const;
+ bool StopRecording(const std::shared_ptr<CFileItem>& item) const;
/*!
* @brief Open the recording settings dialog to edit a recording.
* @param item containing the recording to edit.
* @return true on success, false otherwise.
*/
- bool EditRecording(const CFileItemPtr &item) const;
+ bool EditRecording(const std::shared_ptr<CFileItem>& item) const;
/*!
* @brief Check if any recording settings can be edited.
@@ -222,14 +221,14 @@ namespace PVR
* @param item containing a recording to rename.
* @return true, if the recording was renamed successfully, false otherwise.
*/
- bool RenameRecording(const CFileItemPtr &item) const;
+ bool RenameRecording(const std::shared_ptr<CFileItem>& item) const;
/*!
* @brief Delete a recording, always showing a confirmation dialog.
* @param item containing a recording to delete.
* @return true, if the recording was deleted successfully, false otherwise.
*/
- bool DeleteRecording(const CFileItemPtr &item) const;
+ bool DeleteRecording(const std::shared_ptr<CFileItem>& item) const;
/*!
* @brief Delete all recordings from trash, always showing a confirmation dialog.
@@ -242,7 +241,7 @@ namespace PVR
* @param item containing a recording to undelete.
* @return true, if the recording was undeleted successfully, false otherwise.
*/
- bool UndeleteRecording(const CFileItemPtr &item) const;
+ bool UndeleteRecording(const std::shared_ptr<CFileItem>& item) const;
/*!
* @brief Get a localized resume play label, if the given item can be resumed.
@@ -257,7 +256,7 @@ namespace PVR
* @param bFallbackToPlay controls whether playback of the recording should be started at the beginning ig no resume data are available.
* @return true on success, false otherwise.
*/
- bool ResumePlayRecording(const CFileItemPtr &item, bool bFallbackToPlay) const;
+ bool ResumePlayRecording(const std::shared_ptr<CFileItem>& item, bool bFallbackToPlay) const;
/*!
* @brief Play recording.
@@ -265,14 +264,14 @@ namespace PVR
* @param bCheckResume controls resume check.
* @return true on success, false otherwise.
*/
- bool PlayRecording(const CFileItemPtr &item, bool bCheckResume) const;
+ bool PlayRecording(const std::shared_ptr<CFileItem>& item, bool bCheckResume) const;
/*!
* @brief Play EPG tag.
* @param item containing an epg tag.
* @return true on success, false otherwise.
*/
- bool PlayEpgTag(const CFileItemPtr &item) const;
+ bool PlayEpgTag(const std::shared_ptr<CFileItem>& item) const;
/*!
* @brief Switch channel.
@@ -280,14 +279,14 @@ namespace PVR
* @param bCheckResume controls resume check in case a recording for the current epg event is present.
* @return true on success, false otherwise.
*/
- bool SwitchToChannel(const CFileItemPtr &item, bool bCheckResume) const;
+ bool SwitchToChannel(const std::shared_ptr<CFileItem>& item, bool bCheckResume) const;
/*!
* @brief Playback the given file item.
* @param item containing a channel or a recording.
* @return True if the item could be played, false otherwise.
*/
- bool PlayMedia(const CFileItemPtr &item) const;
+ bool PlayMedia(const std::shared_ptr<CFileItem>& item) const;
/*!
* @brief Start playback of the last played channel, and if there is none, play first channel in the current channelgroup.
@@ -307,7 +306,7 @@ namespace PVR
* @param item containing a channel or an epg tag.
* @return true on success, false otherwise.
*/
- bool HideChannel(const CFileItemPtr &item) const;
+ bool HideChannel(const std::shared_ptr<CFileItem>& item) const;
/*!
* @brief Open a selection dialog and start a channel scan on the selected client.
@@ -414,13 +413,13 @@ namespace PVR
* @brief Inform GUI actions that playback of an item just started.
* @param item The item that started to play.
*/
- void OnPlaybackStarted(const CFileItemPtr &item);
+ void OnPlaybackStarted(const std::shared_ptr<CFileItem>& item);
/*!
* @brief Inform GUI actions that playback of an item was stopped due to user interaction.
* @param item The item that stopped to play.
*/
- void OnPlaybackStopped(const CFileItemPtr &item);
+ void OnPlaybackStopped(const std::shared_ptr<CFileItem>& item);
private:
CPVRGUIActions(const CPVRGUIActions&) = delete;
@@ -450,7 +449,7 @@ namespace PVR
* @param bDeleteRule denotes to delete a timer rule. For convenience, one can pass a timer created by a rule.
* @return true, if the timer or timer rule was deleted successfully, false otherwise.
*/
- bool DeleteTimer(const CFileItemPtr &item, bool bIsRecording, bool bDeleteRule) const;
+ bool DeleteTimer(const std::shared_ptr<CFileItem>& item, bool bIsRecording, bool bDeleteRule) const;
/*!
* @brief Delete a timer or timer rule, showing a confirmation dialog in case a timer currently recording shall be deleted.
@@ -484,7 +483,7 @@ namespace PVR
* @param item the recording to delete.
* @return true, to proceed with delete, false otherwise.
*/
- bool ConfirmDeleteRecording(const CFileItemPtr &item) const;
+ bool ConfirmDeleteRecording(const std::shared_ptr<CFileItem>& item) const;
/*!
* @brief Open a dialog to confirm to permanently remove all deleted recordings.
@@ -504,7 +503,7 @@ namespace PVR
* @param item containing a recording or an epg tag.
* @return true, to play/resume the item, false otherwise.
*/
- bool CheckResumeRecording(const CFileItemPtr &item) const;
+ bool CheckResumeRecording(const std::shared_ptr<CFileItem>& item) const;
/*!
* @brief Check "play minimized" settings value and switch to fullscreen if not set.
@@ -520,7 +519,7 @@ namespace PVR
void StartPlayback(CFileItem *item, bool bFullscreen) const;
bool AllLocalBackendsIdle(CPVRTimerInfoTagPtr& causingEvent) const;
- bool EventOccursOnLocalBackend(const CFileItemPtr& item) const;
+ bool EventOccursOnLocalBackend(const std::shared_ptr<CFileItem>& item) const;
bool IsNextEventWithinBackendIdleTime(void) const;
/*!
diff --git a/xbmc/pvr/PVRGUIChannelNavigator.cpp b/xbmc/pvr/PVRGUIChannelNavigator.cpp
index e4cfe94caf..ea0a9a271f 100644
--- a/xbmc/pvr/PVRGUIChannelNavigator.cpp
+++ b/xbmc/pvr/PVRGUIChannelNavigator.cpp
@@ -8,6 +8,7 @@
#include "PVRGUIChannelNavigator.h"
+#include "FileItem.h"
#include "GUIInfoManager.h"
#include "ServiceBroker.h"
#include "guilib/GUIComponent.h"
diff --git a/xbmc/pvr/PVRGUIDirectory.cpp b/xbmc/pvr/PVRGUIDirectory.cpp
index 660c8f6daf..8db356e00e 100644
--- a/xbmc/pvr/PVRGUIDirectory.cpp
+++ b/xbmc/pvr/PVRGUIDirectory.cpp
@@ -19,10 +19,13 @@
#include "utils/log.h"
#include "pvr/PVRManager.h"
+#include "pvr/channels/PVRChannel.h"
#include "pvr/channels/PVRChannelGroups.h"
#include "pvr/channels/PVRChannelGroupsContainer.h"
+#include "pvr/recordings/PVRRecording.h"
#include "pvr/recordings/PVRRecordings.h"
#include "pvr/recordings/PVRRecordingsPath.h"
+#include "pvr/timers/PVRTimerInfoTag.h"
#include "pvr/timers/PVRTimers.h"
#include "pvr/timers/PVRTimersPath.h"
diff --git a/xbmc/pvr/PVRGUIDirectory.h b/xbmc/pvr/PVRGUIDirectory.h
index 3221ca09ad..5f29df8385 100644
--- a/xbmc/pvr/PVRGUIDirectory.h
+++ b/xbmc/pvr/PVRGUIDirectory.h
@@ -8,6 +8,8 @@
#pragma once
+#include <string>
+
#include "URL.h"
class CFileItemList;
diff --git a/xbmc/pvr/PVRGUIInfo.cpp b/xbmc/pvr/PVRGUIInfo.cpp
index 9be9d36067..7ba45d1c97 100644
--- a/xbmc/pvr/PVRGUIInfo.cpp
+++ b/xbmc/pvr/PVRGUIInfo.cpp
@@ -31,10 +31,13 @@
#include "pvr/PVRManager.h"
#include "pvr/addons/PVRClients.h"
#include "pvr/channels/PVRChannel.h"
+#include "pvr/channels/PVRChannelGroup.h"
#include "pvr/channels/PVRChannelGroupsContainer.h"
#include "pvr/channels/PVRRadioRDSInfoTag.h"
#include "pvr/epg/EpgInfoTag.h"
+#include "pvr/recordings/PVRRecording.h"
#include "pvr/recordings/PVRRecordings.h"
+#include "pvr/timers/PVRTimerInfoTag.h"
#include "pvr/timers/PVRTimers.h"
using namespace PVR;
diff --git a/xbmc/pvr/PVRGUIInfo.h b/xbmc/pvr/PVRGUIInfo.h
index 9d3e05ab59..81c205d18a 100644
--- a/xbmc/pvr/PVRGUIInfo.h
+++ b/xbmc/pvr/PVRGUIInfo.h
@@ -20,9 +20,10 @@
#include "pvr/PVRGUITimerInfo.h"
#include "pvr/PVRGUITimesInfo.h"
-#include "pvr/PVRTypes.h"
#include "pvr/addons/PVRClients.h"
+class CFileItem;
+
namespace KODI
{
namespace GUILIB
diff --git a/xbmc/pvr/PVRGUITimesInfo.cpp b/xbmc/pvr/PVRGUITimesInfo.cpp
index 41f73971eb..ee4aa0dc6c 100644
--- a/xbmc/pvr/PVRGUITimesInfo.cpp
+++ b/xbmc/pvr/PVRGUITimesInfo.cpp
@@ -19,7 +19,10 @@
#include "utils/StringUtils.h"
#include "pvr/PVRManager.h"
+#include "pvr/channels/PVRChannel.h"
#include "pvr/channels/PVRChannelGroupsContainer.h"
+#include "pvr/epg/EpgInfoTag.h"
+#include "pvr/recordings/PVRRecording.h"
using namespace PVR;
diff --git a/xbmc/pvr/PVRItem.h b/xbmc/pvr/PVRItem.h
index 6f6658d652..22f383b8b2 100644
--- a/xbmc/pvr/PVRItem.h
+++ b/xbmc/pvr/PVRItem.h
@@ -13,15 +13,14 @@
#include "pvr/PVRTypes.h"
class CFileItem;
-typedef std::shared_ptr<CFileItem> CFileItemPtr;
namespace PVR
{
class CPVRItem
{
public:
- explicit CPVRItem(const CFileItemPtr &item) : m_item(item.get()) {}
- explicit CPVRItem(const CFileItem *item) : m_item(item) {}
+ explicit CPVRItem(const std::shared_ptr<CFileItem>& item) : m_item(item.get()) {}
+ explicit CPVRItem(const CFileItem* item) : m_item(item) {}
CPVREpgInfoTagPtr GetEpgInfoTag() const;
CPVREpgInfoTagPtr GetNextEpgInfoTag() const;
diff --git a/xbmc/pvr/PVRJobs.h b/xbmc/pvr/PVRJobs.h
index d840b8a6d1..6119d4dc03 100644
--- a/xbmc/pvr/PVRJobs.h
+++ b/xbmc/pvr/PVRJobs.h
@@ -9,16 +9,18 @@
#pragma once
#include <memory>
+#include <string>
#include <vector>
-#include "addons/PVRClient.h"
#include "addons/kodi-addon-dev-kit/include/kodi/xbmc_pvr_types.h"
-#include "utils/JobManager.h"
-
-#include "pvr/PVRTypes.h"
+#include "threads/SystemClock.h"
+#include "utils/Job.h"
namespace PVR
{
+ class CPVRChannelGroup;
+ class CPVRClient;
+
class CPVRPlayChannelOnStartupJob : public CJob
{
public:
diff --git a/xbmc/pvr/PVRManager.cpp b/xbmc/pvr/PVRManager.cpp
index 3c6082528e..6c913f2057 100644
--- a/xbmc/pvr/PVRManager.cpp
+++ b/xbmc/pvr/PVRManager.cpp
@@ -33,9 +33,13 @@
#include "pvr/addons/PVRClients.h"
#include "pvr/channels/PVRChannel.h"
#include "pvr/channels/PVRChannelGroupInternal.h"
+#include "pvr/channels/PVRChannelGroups.h"
#include "pvr/channels/PVRChannelGroupsContainer.h"
+#include "pvr/epg/EpgInfoTag.h"
+#include "pvr/recordings/PVRRecording.h"
#include "pvr/recordings/PVRRecordings.h"
#include "pvr/recordings/PVRRecordingsPath.h"
+#include "pvr/timers/PVRTimerInfoTag.h"
#include "pvr/timers/PVRTimers.h"
using namespace PVR;
diff --git a/xbmc/pvr/PVRManager.h b/xbmc/pvr/PVRManager.h
index 607f994c8b..0db7a0e98d 100644
--- a/xbmc/pvr/PVRManager.h
+++ b/xbmc/pvr/PVRManager.h
@@ -8,27 +8,26 @@
#pragma once
-#include <atomic>
#include <memory>
#include <string>
#include <vector>
#include "addons/kodi-addon-dev-kit/include/kodi/xbmc_pvr_types.h"
#include "interfaces/IAnnouncer.h"
+#include "threads/CriticalSection.h"
#include "threads/Event.h"
#include "threads/Thread.h"
#include "utils/EventStream.h"
-#include "utils/JobManager.h"
#include "utils/Observer.h"
#include "pvr/PVRActionListener.h"
#include "pvr/PVRSettings.h"
#include "pvr/PVRTypes.h"
#include "pvr/epg/EpgContainer.h"
-#include "pvr/recordings/PVRRecording.h"
+class CFileItem;
+class CJob;
class CStopWatch;
-class CVariant;
namespace PVR
{
diff --git a/xbmc/pvr/PVRSettings.h b/xbmc/pvr/PVRSettings.h
index 11009118e9..6100c9094b 100644
--- a/xbmc/pvr/PVRSettings.h
+++ b/xbmc/pvr/PVRSettings.h
@@ -9,12 +9,15 @@
#pragma once
#include <map>
+#include <memory>
+#include <set>
#include <string>
-#include <utility>
#include "settings/lib/ISettingCallback.h"
#include "settings/lib/ISettingsHandler.h"
-#include "settings/lib/Setting.h"
+#include "threads/CriticalSection.h"
+
+class CSetting;
struct IntegerSettingOption;
diff --git a/xbmc/pvr/channels/PVRChannel.cpp b/xbmc/pvr/channels/PVRChannel.cpp
index d052287e52..362f4553a8 100644
--- a/xbmc/pvr/channels/PVRChannel.cpp
+++ b/xbmc/pvr/channels/PVRChannel.cpp
@@ -18,8 +18,10 @@
#include "pvr/PVRDatabase.h"
#include "pvr/PVRManager.h"
+#include "pvr/epg/Epg.h"
#include "pvr/epg/EpgChannelData.h"
#include "pvr/epg/EpgContainer.h"
+#include "pvr/epg/EpgInfoTag.h"
using namespace PVR;
diff --git a/xbmc/pvr/channels/PVRChannel.h b/xbmc/pvr/channels/PVRChannel.h
index b5870b620c..a4901c1d23 100644
--- a/xbmc/pvr/channels/PVRChannel.h
+++ b/xbmc/pvr/channels/PVRChannel.h
@@ -22,11 +22,10 @@
#include "pvr/channels/PVRChannelNumber.h"
#include "pvr/PVRTypes.h"
-class CVariant;
-
namespace PVR
{
class CPVREpg;
+ class CPVREpgInfoTag;
class CPVRRadioRDSInfoTag;
/** PVR Channel class */
diff --git a/xbmc/pvr/channels/PVRChannelGroup.cpp b/xbmc/pvr/channels/PVRChannelGroup.cpp
index de53c472e3..0059a5ad78 100644
--- a/xbmc/pvr/channels/PVRChannelGroup.cpp
+++ b/xbmc/pvr/channels/PVRChannelGroup.cpp
@@ -23,8 +23,11 @@
#include "pvr/PVRDatabase.h"
#include "pvr/PVRManager.h"
#include "pvr/addons/PVRClients.h"
+#include "pvr/channels/PVRChannel.h"
+#include "pvr/epg/Epg.h"
#include "pvr/epg/EpgChannelData.h"
#include "pvr/epg/EpgContainer.h"
+#include "pvr/epg/EpgInfoTag.h"
using namespace PVR;
diff --git a/xbmc/pvr/channels/PVRChannelGroup.h b/xbmc/pvr/channels/PVRChannelGroup.h
index 4e413d84f4..73cdd49224 100644
--- a/xbmc/pvr/channels/PVRChannelGroup.h
+++ b/xbmc/pvr/channels/PVRChannelGroup.h
@@ -10,14 +10,18 @@
#include <map>
#include <memory>
+#include <string>
#include <utility>
#include <vector>
#include "XBDateTime.h"
#include "settings/lib/ISettingCallback.h"
+#include "utils/Observer.h"
#include "pvr/PVRTypes.h"
-#include "pvr/channels/PVRChannel.h"
+#include "pvr/channels/PVRChannelNumber.h"
+
+struct PVR_CHANNEL_GROUP;
namespace PVR
{
diff --git a/xbmc/pvr/channels/PVRChannelGroupInternal.cpp b/xbmc/pvr/channels/PVRChannelGroupInternal.cpp
index 179c1a612b..933e04ebc8 100644
--- a/xbmc/pvr/channels/PVRChannelGroupInternal.cpp
+++ b/xbmc/pvr/channels/PVRChannelGroupInternal.cpp
@@ -21,6 +21,7 @@
#include "pvr/PVRDatabase.h"
#include "pvr/PVRManager.h"
#include "pvr/addons/PVRClients.h"
+#include "pvr/channels/PVRChannel.h"
#include "pvr/epg/EpgContainer.h"
using namespace PVR;
diff --git a/xbmc/pvr/channels/PVRChannelGroupInternal.h b/xbmc/pvr/channels/PVRChannelGroupInternal.h
index 7dc4a87d80..0cd3dea099 100644
--- a/xbmc/pvr/channels/PVRChannelGroupInternal.h
+++ b/xbmc/pvr/channels/PVRChannelGroupInternal.h
@@ -8,12 +8,19 @@
#pragma once
+#include <memory>
+#include <vector>
+
+#include "pvr/PVRTypes.h"
#include "pvr/channels/PVRChannelGroup.h"
namespace PVR
{
enum class PVREvent;
+ class CPVRChannel;
+ class CPVRChannelNumber;
+
class CPVRChannelGroupInternal : public CPVRChannelGroup
{
public:
diff --git a/xbmc/pvr/channels/PVRChannelGroups.h b/xbmc/pvr/channels/PVRChannelGroups.h
index 1139385893..e1909f2495 100644
--- a/xbmc/pvr/channels/PVRChannelGroups.h
+++ b/xbmc/pvr/channels/PVRChannelGroups.h
@@ -8,15 +8,20 @@
#pragma once
+#include <memory>
+#include <string>
#include <vector>
#include "threads/CriticalSection.h"
#include "threads/SingleLock.h"
+#include "pvr/PVRTypes.h"
#include "pvr/channels/PVRChannelGroup.h"
namespace PVR
{
+ class CPVRChannel;
+
/** A container class for channel groups */
class CPVRChannelGroups
diff --git a/xbmc/pvr/channels/PVRChannelGroupsContainer.cpp b/xbmc/pvr/channels/PVRChannelGroupsContainer.cpp
index 019f904e2d..762bfe5ff1 100644
--- a/xbmc/pvr/channels/PVRChannelGroupsContainer.cpp
+++ b/xbmc/pvr/channels/PVRChannelGroupsContainer.cpp
@@ -10,6 +10,8 @@
#include "utils/log.h"
+#include "pvr/channels/PVRChannel.h"
+#include "pvr/channels/PVRChannelGroups.h"
#include "pvr/epg/EpgInfoTag.h"
using namespace PVR;
diff --git a/xbmc/pvr/channels/PVRChannelGroupsContainer.h b/xbmc/pvr/channels/PVRChannelGroupsContainer.h
index d3c4c44f90..4760dd53b0 100644
--- a/xbmc/pvr/channels/PVRChannelGroupsContainer.h
+++ b/xbmc/pvr/channels/PVRChannelGroupsContainer.h
@@ -10,10 +10,14 @@
#include "threads/CriticalSection.h"
-#include "pvr/channels/PVRChannelGroups.h"
+#include "pvr/PVRTypes.h"
namespace PVR
{
+ class CPVRChannel;
+ class CPVRChannelGroups;
+ class CPVREpgInfoTag;
+
class CPVRChannelGroupsContainer
{
public:
diff --git a/xbmc/pvr/dialogs/GUIDialogPVRChannelGuide.h b/xbmc/pvr/dialogs/GUIDialogPVRChannelGuide.h
index 2909a9c068..b4ba042e4d 100644
--- a/xbmc/pvr/dialogs/GUIDialogPVRChannelGuide.h
+++ b/xbmc/pvr/dialogs/GUIDialogPVRChannelGuide.h
@@ -11,8 +11,6 @@
#include "pvr/PVRTypes.h"
#include "pvr/dialogs/GUIDialogPVRItemsViewBase.h"
-class CFileItemList;
-
namespace PVR
{
class CGUIDialogPVRChannelGuide : public CGUIDialogPVRItemsViewBase
diff --git a/xbmc/pvr/dialogs/GUIDialogPVRChannelManager.cpp b/xbmc/pvr/dialogs/GUIDialogPVRChannelManager.cpp
index d0619c7d35..26abd09756 100644
--- a/xbmc/pvr/dialogs/GUIDialogPVRChannelManager.cpp
+++ b/xbmc/pvr/dialogs/GUIDialogPVRChannelManager.cpp
@@ -35,6 +35,8 @@
#include "pvr/PVRGUIActions.h"
#include "pvr/PVRManager.h"
#include "pvr/addons/PVRClients.h"
+#include "pvr/channels/PVRChannel.h"
+#include "pvr/channels/PVRChannelGroup.h"
#include "pvr/channels/PVRChannelGroupsContainer.h"
#include "pvr/dialogs/GUIDialogPVRGroupManager.h"
diff --git a/xbmc/pvr/dialogs/GUIDialogPVRChannelManager.h b/xbmc/pvr/dialogs/GUIDialogPVRChannelManager.h
index 7cfc073a7d..41ce299f86 100644
--- a/xbmc/pvr/dialogs/GUIDialogPVRChannelManager.h
+++ b/xbmc/pvr/dialogs/GUIDialogPVRChannelManager.h
@@ -8,17 +8,23 @@
#pragma once
+#include <memory>
#include <vector>
-#include "addons/PVRClient.h"
#include "dialogs/GUIDialogContextMenu.h"
#include "guilib/GUIDialog.h"
#include "view/GUIViewControl.h"
-#include "pvr/channels/PVRChannelGroup.h"
+#include "pvr/PVRTypes.h"
+
+class CAction;
+class CFileItemList;
+class CGUIMessage;
namespace PVR
{
+ class CPVRClient;
+
class CGUIDialogPVRChannelManager : public CGUIDialog
{
public:
@@ -73,6 +79,6 @@ namespace PVR
CFileItemList* m_channelItems;
CGUIViewControl m_viewControl;
- std::vector<CPVRClientPtr> m_clientsWithSettingsList;
+ std::vector<std::shared_ptr<CPVRClient>> m_clientsWithSettingsList;
};
}
diff --git a/xbmc/pvr/dialogs/GUIDialogPVRChannelsOSD.cpp b/xbmc/pvr/dialogs/GUIDialogPVRChannelsOSD.cpp
index dc6ea592c2..6011fa0678 100644
--- a/xbmc/pvr/dialogs/GUIDialogPVRChannelsOSD.cpp
+++ b/xbmc/pvr/dialogs/GUIDialogPVRChannelsOSD.cpp
@@ -20,7 +20,9 @@
#include "pvr/PVRGUIActions.h"
#include "pvr/PVRManager.h"
+#include "pvr/channels/PVRChannel.h"
#include "pvr/channels/PVRChannelGroup.h"
+#include "pvr/channels/PVRChannelGroups.h"
#include "pvr/channels/PVRChannelGroupsContainer.h"
#include "pvr/epg/EpgContainer.h"
diff --git a/xbmc/pvr/dialogs/GUIDialogPVRChannelsOSD.h b/xbmc/pvr/dialogs/GUIDialogPVRChannelsOSD.h
index 574257bab8..7fc439edd6 100644
--- a/xbmc/pvr/dialogs/GUIDialogPVRChannelsOSD.h
+++ b/xbmc/pvr/dialogs/GUIDialogPVRChannelsOSD.h
@@ -9,15 +9,15 @@
#pragma once
#include <map>
+#include <string>
+#include "threads/SystemClock.h"
#include "utils/Observer.h"
-#include "pvr/PVRTypes.h"
#include "pvr/PVRChannelNumberInputHandler.h"
+#include "pvr/PVRTypes.h"
#include "pvr/dialogs/GUIDialogPVRItemsViewBase.h"
-class CFileItemList;
-
namespace PVR
{
class CGUIDialogPVRChannelsOSD : public CGUIDialogPVRItemsViewBase, public Observer, public CPVRChannelNumberInputHandler
diff --git a/xbmc/pvr/dialogs/GUIDialogPVRClientPriorities.h b/xbmc/pvr/dialogs/GUIDialogPVRClientPriorities.h
index bdd00638ca..6e81307f8b 100644
--- a/xbmc/pvr/dialogs/GUIDialogPVRClientPriorities.h
+++ b/xbmc/pvr/dialogs/GUIDialogPVRClientPriorities.h
@@ -9,13 +9,12 @@
#pragma once
#include <map>
+#include <string>
#include "settings/dialogs/GUIDialogSettingsManualBase.h"
#include "pvr/addons/PVRClients.h"
-class CSetting;
-
namespace PVR
{
class CGUIDialogPVRClientPriorities : public CGUIDialogSettingsManualBase
diff --git a/xbmc/pvr/dialogs/GUIDialogPVRGroupManager.cpp b/xbmc/pvr/dialogs/GUIDialogPVRGroupManager.cpp
index 04bb825c32..6cae0e18f8 100644
--- a/xbmc/pvr/dialogs/GUIDialogPVRGroupManager.cpp
+++ b/xbmc/pvr/dialogs/GUIDialogPVRGroupManager.cpp
@@ -23,6 +23,8 @@
#include "pvr/PVRGUIDirectory.h"
#include "pvr/PVRManager.h"
+#include "pvr/channels/PVRChannel.h"
+#include "pvr/channels/PVRChannelGroups.h"
#include "pvr/channels/PVRChannelGroupsContainer.h"
using namespace KODI::MESSAGING;
diff --git a/xbmc/pvr/dialogs/GUIDialogPVRGroupManager.h b/xbmc/pvr/dialogs/GUIDialogPVRGroupManager.h
index dbcbfb9638..4045eb8324 100644
--- a/xbmc/pvr/dialogs/GUIDialogPVRGroupManager.h
+++ b/xbmc/pvr/dialogs/GUIDialogPVRGroupManager.h
@@ -11,9 +11,10 @@
#include "guilib/GUIDialog.h"
#include "view/GUIViewControl.h"
-#include "pvr/channels/PVRChannelGroup.h"
+#include "pvr/PVRTypes.h"
class CFileItemList;
+class CGUIMessage;
namespace PVR
{
diff --git a/xbmc/pvr/dialogs/GUIDialogPVRGuideInfo.h b/xbmc/pvr/dialogs/GUIDialogPVRGuideInfo.h
index b2917b2bc7..d1efe33841 100644
--- a/xbmc/pvr/dialogs/GUIDialogPVRGuideInfo.h
+++ b/xbmc/pvr/dialogs/GUIDialogPVRGuideInfo.h
@@ -12,6 +12,8 @@
#include "pvr/PVRTypes.h"
+class CGUIMessage;
+
namespace PVR
{
class CGUIDialogPVRGuideInfo : public CGUIDialog
diff --git a/xbmc/pvr/dialogs/GUIDialogPVRGuideSearch.cpp b/xbmc/pvr/dialogs/GUIDialogPVRGuideSearch.cpp
index 9f0b6fcc5f..c364aa447c 100644
--- a/xbmc/pvr/dialogs/GUIDialogPVRGuideSearch.cpp
+++ b/xbmc/pvr/dialogs/GUIDialogPVRGuideSearch.cpp
@@ -18,6 +18,9 @@
#include "utils/StringUtils.h"
#include "pvr/PVRManager.h"
+#include "pvr/channels/PVRChannel.h"
+#include "pvr/channels/PVRChannelGroup.h"
+#include "pvr/channels/PVRChannelGroups.h"
#include "pvr/channels/PVRChannelGroupsContainer.h"
#include "pvr/epg/EpgSearchFilter.h"
diff --git a/xbmc/pvr/dialogs/GUIDialogPVRGuideSearch.h b/xbmc/pvr/dialogs/GUIDialogPVRGuideSearch.h
index cbeb49be53..777fadc094 100644
--- a/xbmc/pvr/dialogs/GUIDialogPVRGuideSearch.h
+++ b/xbmc/pvr/dialogs/GUIDialogPVRGuideSearch.h
@@ -9,6 +9,7 @@
#pragma once
#include <map>
+#include <string>
#include "XBDateTime.h"
#include "guilib/GUIDialog.h"
diff --git a/xbmc/pvr/dialogs/GUIDialogPVRRadioRDSInfo.h b/xbmc/pvr/dialogs/GUIDialogPVRRadioRDSInfo.h
index 3d6e5e280a..d0c9c947b7 100644
--- a/xbmc/pvr/dialogs/GUIDialogPVRRadioRDSInfo.h
+++ b/xbmc/pvr/dialogs/GUIDialogPVRRadioRDSInfo.h
@@ -8,6 +8,8 @@
#pragma once
+#include <string>
+
#include "guilib/GUIDialog.h"
class CGUISpinControl;
diff --git a/xbmc/pvr/dialogs/GUIDialogPVRRecordingInfo.h b/xbmc/pvr/dialogs/GUIDialogPVRRecordingInfo.h
index 98e7806abe..03cb60be10 100644
--- a/xbmc/pvr/dialogs/GUIDialogPVRRecordingInfo.h
+++ b/xbmc/pvr/dialogs/GUIDialogPVRRecordingInfo.h
@@ -10,6 +10,9 @@
#include "guilib/GUIDialog.h"
+class CFileItem;
+class CGUIMessage;
+
namespace PVR
{
class CGUIDialogPVRRecordingInfo : public CGUIDialog
diff --git a/xbmc/pvr/dialogs/GUIDialogPVRRecordingSettings.h b/xbmc/pvr/dialogs/GUIDialogPVRRecordingSettings.h
index e04d726204..c4f12d570a 100644
--- a/xbmc/pvr/dialogs/GUIDialogPVRRecordingSettings.h
+++ b/xbmc/pvr/dialogs/GUIDialogPVRRecordingSettings.h
@@ -8,15 +8,17 @@
#pragma once
+#include <memory>
#include <string>
+#include <vector>
-#include "settings/SettingConditions.h"
#include "settings/dialogs/GUIDialogSettingsManualBase.h"
-#include "settings/lib/SettingDependency.h"
#include "pvr/PVRTypes.h"
+class CFileItem;
class CSetting;
+
struct IntegerSettingOption;
namespace PVR
diff --git a/xbmc/pvr/dialogs/GUIDialogPVRTimerSettings.cpp b/xbmc/pvr/dialogs/GUIDialogPVRTimerSettings.cpp
index a5e54fff53..15fc034ae9 100644
--- a/xbmc/pvr/dialogs/GUIDialogPVRTimerSettings.cpp
+++ b/xbmc/pvr/dialogs/GUIDialogPVRTimerSettings.cpp
@@ -26,6 +26,8 @@
#include "pvr/PVRManager.h"
#include "pvr/PVRSettings.h"
#include "pvr/addons/PVRClients.h"
+#include "pvr/channels/PVRChannel.h"
+#include "pvr/channels/PVRChannelGroup.h"
#include "pvr/channels/PVRChannelGroupsContainer.h"
#include "pvr/epg/EpgInfoTag.h"
#include "pvr/timers/PVRTimerInfoTag.h"
diff --git a/xbmc/pvr/dialogs/GUIDialogPVRTimerSettings.h b/xbmc/pvr/dialogs/GUIDialogPVRTimerSettings.h
index 33bc045da8..5facea5bd7 100644
--- a/xbmc/pvr/dialogs/GUIDialogPVRTimerSettings.h
+++ b/xbmc/pvr/dialogs/GUIDialogPVRTimerSettings.h
@@ -9,8 +9,8 @@
#pragma once
#include <map>
+#include <memory>
#include <string>
-#include <utility>
#include <vector>
#include "addons/kodi-addon-dev-kit/include/kodi/xbmc_pvr_types.h" // PVR_CHANNEL_INVALID_UID
@@ -20,7 +20,9 @@
#include "pvr/PVRTypes.h"
+class CDateTime;
class CSetting;
+
struct IntegerSettingOption;
namespace PVR
diff --git a/xbmc/pvr/epg/Epg.cpp b/xbmc/pvr/epg/Epg.cpp
index 18d890ed92..bc877c92d4 100644
--- a/xbmc/pvr/epg/Epg.cpp
+++ b/xbmc/pvr/epg/Epg.cpp
@@ -11,7 +11,6 @@
#include <utility>
#include "addons/PVRClient.h"
-#include "addons/kodi-addon-dev-kit/include/kodi/xbmc_epg_types.h"
#include "ServiceBroker.h"
#include "guilib/LocalizeStrings.h"
#include "settings/AdvancedSettings.h"
@@ -23,6 +22,7 @@
#include "pvr/PVRManager.h"
#include "pvr/epg/EpgChannelData.h"
#include "pvr/epg/EpgDatabase.h"
+#include "pvr/epg/EpgInfoTag.h"
using namespace PVR;
diff --git a/xbmc/pvr/epg/Epg.h b/xbmc/pvr/epg/Epg.h
index 0006324f08..cdacf315c5 100644
--- a/xbmc/pvr/epg/Epg.h
+++ b/xbmc/pvr/epg/Epg.h
@@ -9,19 +9,23 @@
#pragma once
#include <map>
+#include <memory>
#include <string>
#include <vector>
+#include "XBDateTime.h"
+#include "addons/kodi-addon-dev-kit/include/kodi/xbmc_pvr_types.h"
#include "threads/CriticalSection.h"
#include "utils/Observer.h"
#include "pvr/PVRTypes.h"
-#include "pvr/epg/EpgInfoTag.h"
/** EPG container for CPVREpgInfoTag instances */
namespace PVR
{
class CPVREpgChannelData;
+ class CPVREpgDatabase;
+ class CPVREpgInfoTag;
class CPVREpg : public Observable
{
diff --git a/xbmc/pvr/epg/EpgContainer.cpp b/xbmc/pvr/epg/EpgContainer.cpp
index 7e5ddadb05..1b17f487f2 100644
--- a/xbmc/pvr/epg/EpgContainer.cpp
+++ b/xbmc/pvr/epg/EpgContainer.cpp
@@ -22,7 +22,8 @@
#include "pvr/PVRGUIProgressHandler.h"
#include "pvr/epg/Epg.h"
#include "pvr/epg/EpgChannelData.h"
-#include "pvr/epg/EpgSearchFilter.h"
+#include "pvr/epg/EpgDatabase.h"
+#include "pvr/epg/EpgInfoTag.h"
namespace PVR
{
diff --git a/xbmc/pvr/epg/EpgContainer.h b/xbmc/pvr/epg/EpgContainer.h
index 87b4ec2047..3908089aa8 100644
--- a/xbmc/pvr/epg/EpgContainer.h
+++ b/xbmc/pvr/epg/EpgContainer.h
@@ -11,23 +11,28 @@
#include <list>
#include <map>
#include <memory>
+#include <string>
#include <utility>
+#include <vector>
#include "XBDateTime.h"
+#include "addons/kodi-addon-dev-kit/include/kodi/xbmc_pvr_types.h"
#include "threads/CriticalSection.h"
+#include "threads/Event.h"
#include "threads/Thread.h"
#include "utils/Observer.h"
#include "pvr/PVRSettings.h"
#include "pvr/PVRTypes.h"
-#include "pvr/epg/Epg.h"
-#include "pvr/epg/EpgDatabase.h"
namespace PVR
{
- class CPVREpgChannelData;
class CEpgUpdateRequest;
class CEpgTagStateChange;
+ class CPVREpg;
+ class CPVREpgChannelData;
+ class CPVREpgDatabase;
+ class CPVREpgInfoTag;
class CPVREpgContainer : public Observer, public Observable, private CThread
{
diff --git a/xbmc/pvr/epg/EpgDatabase.h b/xbmc/pvr/epg/EpgDatabase.h
index c7f5308be0..8e0ae6aa9c 100644
--- a/xbmc/pvr/epg/EpgDatabase.h
+++ b/xbmc/pvr/epg/EpgDatabase.h
@@ -8,6 +8,9 @@
#pragma once
+#include <memory>
+#include <vector>
+
#include "dbwrappers/Database.h"
#include "threads/CriticalSection.h"
diff --git a/xbmc/pvr/epg/EpgInfoTag.cpp b/xbmc/pvr/epg/EpgInfoTag.cpp
index 1046162079..0841c7b29f 100644
--- a/xbmc/pvr/epg/EpgInfoTag.cpp
+++ b/xbmc/pvr/epg/EpgInfoTag.cpp
@@ -19,18 +19,23 @@
#include "utils/log.h"
#include "pvr/PVRManager.h"
+#include "pvr/epg/Epg.h"
#include "pvr/epg/EpgChannelData.h"
#include "pvr/epg/EpgDatabase.h"
using namespace PVR;
CPVREpgInfoTag::CPVREpgInfoTag()
-: m_channelData(new CPVREpgChannelData)
+: m_iUniqueBroadcastID(EPG_TAG_INVALID_UID),
+ m_iFlags(EPG_TAG_FLAG_UNDEFINED),
+ m_channelData(new CPVREpgChannelData)
{
}
CPVREpgInfoTag::CPVREpgInfoTag(const std::shared_ptr<CPVREpgChannelData>& channelData, int iEpgID)
-: m_iEpgID(iEpgID)
+: m_iUniqueBroadcastID(EPG_TAG_INVALID_UID),
+ m_iFlags(EPG_TAG_FLAG_UNDEFINED),
+ m_iEpgID(iEpgID)
{
if (channelData)
m_channelData = channelData;
diff --git a/xbmc/pvr/epg/EpgInfoTag.h b/xbmc/pvr/epg/EpgInfoTag.h
index 1486c2e5f3..3bfde375b6 100644
--- a/xbmc/pvr/epg/EpgInfoTag.h
+++ b/xbmc/pvr/epg/EpgInfoTag.h
@@ -13,18 +13,17 @@
#include <vector>
#include "XBDateTime.h"
-#include "addons/kodi-addon-dev-kit/include/kodi/xbmc_pvr_types.h"
#include "threads/CriticalSection.h"
#include "utils/ISerializable.h"
#include "utils/ISortable.h"
-#include "pvr/PVRTypes.h"
-
-class CVariant;
+struct EPG_TAG;
+struct PVR_EDL_ENTRY;
namespace PVR
{
class CPVREpgChannelData;
+ class CPVREpgDatabase;
class CPVREpgInfoTag final : public ISerializable, public ISortable, public std::enable_shared_from_this<CPVREpgInfoTag>
{
@@ -437,7 +436,7 @@ namespace PVR
int m_iSeriesNumber = 0; /*!< series number */
int m_iEpisodeNumber = 0; /*!< episode number */
int m_iEpisodePart = 0; /*!< episode part number */
- unsigned int m_iUniqueBroadcastID = EPG_TAG_INVALID_UID; /*!< unique broadcast ID */
+ unsigned int m_iUniqueBroadcastID = 0; /*!< unique broadcast ID */
std::string m_strTitle; /*!< title */
std::string m_strPlotOutline; /*!< plot outline */
std::string m_strPlot; /*!< plot */
@@ -454,7 +453,7 @@ namespace PVR
CDateTime m_startTime; /*!< event start time */
CDateTime m_endTime; /*!< event end time */
CDateTime m_firstAired; /*!< first airdate */
- unsigned int m_iFlags = EPG_TAG_FLAG_UNDEFINED; /*!< the flags applicable to this EPG entry */
+ unsigned int m_iFlags = 0; /*!< the flags applicable to this EPG entry */
std::string m_strSeriesLink; /*!< series link */
mutable CCriticalSection m_critSection;
diff --git a/xbmc/pvr/epg/EpgSearchFilter.cpp b/xbmc/pvr/epg/EpgSearchFilter.cpp
index fdf306477f..9e628ea42e 100644
--- a/xbmc/pvr/epg/EpgSearchFilter.cpp
+++ b/xbmc/pvr/epg/EpgSearchFilter.cpp
@@ -14,8 +14,11 @@
#include "utils/log.h"
#include "pvr/PVRManager.h"
+#include "pvr/channels/PVRChannel.h"
+#include "pvr/channels/PVRChannelGroup.h"
#include "pvr/channels/PVRChannelGroupsContainer.h"
#include "pvr/epg/EpgContainer.h"
+#include "pvr/epg/EpgInfoTag.h"
#include "pvr/recordings/PVRRecordings.h"
#include "pvr/timers/PVRTimers.h"
diff --git a/xbmc/pvr/epg/EpgSearchFilter.h b/xbmc/pvr/epg/EpgSearchFilter.h
index 597ab8e392..64e9b90548 100644
--- a/xbmc/pvr/epg/EpgSearchFilter.h
+++ b/xbmc/pvr/epg/EpgSearchFilter.h
@@ -21,6 +21,8 @@ namespace PVR
{
#define EPG_SEARCH_UNSET (-1)
+ class CPVREpgInfoTag;
+
/** Filter to apply with on a CPVREpgInfoTag */
class CPVREpgSearchFilter
diff --git a/xbmc/pvr/recordings/PVRRecording.cpp b/xbmc/pvr/recordings/PVRRecording.cpp
index 33d3c7f4f4..4085175d4c 100644
--- a/xbmc/pvr/recordings/PVRRecording.cpp
+++ b/xbmc/pvr/recordings/PVRRecording.cpp
@@ -20,10 +20,12 @@
#include "video/VideoDatabase.h"
#include "pvr/PVRManager.h"
+#include "pvr/channels/PVRChannel.h"
#include "pvr/channels/PVRChannelGroupsContainer.h"
#include "pvr/epg/Epg.h"
#include "pvr/epg/EpgContainer.h"
#include "pvr/recordings/PVRRecordingsPath.h"
+#include "pvr/timers/PVRTimerInfoTag.h"
#include "pvr/timers/PVRTimers.h"
using namespace PVR;
diff --git a/xbmc/pvr/recordings/PVRRecording.h b/xbmc/pvr/recordings/PVRRecording.h
index d038343187..1afdc2b79a 100644
--- a/xbmc/pvr/recordings/PVRRecording.h
+++ b/xbmc/pvr/recordings/PVRRecording.h
@@ -24,21 +24,26 @@
*
*/
+#include <memory>
#include <string>
#include <vector>
#include "XBDateTime.h"
-#include "addons/kodi-addon-dev-kit/include/kodi/xbmc_pvr_types.h"
#include "threads/SystemClock.h"
+#include "video/Bookmark.h"
#include "video/VideoInfoTag.h"
#include "pvr/PVRTypes.h"
class CVideoDatabase;
-class CVariant;
+
+struct PVR_EDL_ENTRY;
+struct PVR_RECORDING;
namespace PVR
{
+ class CPVRTimerInfoTag;
+
/*!
* @brief Representation of a CPVRRecording unique ID.
*/
diff --git a/xbmc/pvr/recordings/PVRRecordings.cpp b/xbmc/pvr/recordings/PVRRecordings.cpp
index 2c45e7a36a..8c1a57781c 100644
--- a/xbmc/pvr/recordings/PVRRecordings.cpp
+++ b/xbmc/pvr/recordings/PVRRecordings.cpp
@@ -20,10 +20,13 @@
#include "pvr/addons/PVRClients.h"
#include "pvr/epg/EpgContainer.h"
#include "pvr/epg/EpgInfoTag.h"
+#include "pvr/recordings/PVRRecording.h"
#include "pvr/recordings/PVRRecordingsPath.h"
using namespace PVR;
+CPVRRecordings::CPVRRecordings() = default;
+
CPVRRecordings::~CPVRRecordings()
{
if (m_database && m_database->IsOpen())
diff --git a/xbmc/pvr/recordings/PVRRecordings.h b/xbmc/pvr/recordings/PVRRecordings.h
index 6c4876eafa..26fb0858f2 100644
--- a/xbmc/pvr/recordings/PVRRecordings.h
+++ b/xbmc/pvr/recordings/PVRRecordings.h
@@ -10,19 +10,25 @@
#include <map>
#include <memory>
+#include <string>
+#include <vector>
-#include "video/VideoDatabase.h"
+#include "threads/CriticalSection.h"
#include "pvr/PVRTypes.h"
-#include "pvr/recordings/PVRRecording.h"
+
+class CVideoDatabase;
namespace PVR
{
+ class CPVRRecording;
+ class CPVRRecordingUid;
class CPVRRecordingsPath;
class CPVRRecordings
{
public:
+ CPVRRecordings();
virtual ~CPVRRecordings(void);
/*!
diff --git a/xbmc/pvr/timers/PVRTimerInfoTag.cpp b/xbmc/pvr/timers/PVRTimerInfoTag.cpp
index da071e20ed..9cd84850f5 100644
--- a/xbmc/pvr/timers/PVRTimerInfoTag.cpp
+++ b/xbmc/pvr/timers/PVRTimerInfoTag.cpp
@@ -24,8 +24,11 @@
#include "pvr/PVRDatabase.h"
#include "pvr/PVRManager.h"
#include "pvr/addons/PVRClients.h"
+#include "pvr/channels/PVRChannel.h"
+#include "pvr/channels/PVRChannelGroups.h"
#include "pvr/channels/PVRChannelGroupsContainer.h"
#include "pvr/epg/Epg.h"
+#include "pvr/epg/EpgInfoTag.h"
#include "pvr/timers/PVRTimersPath.h"
using namespace PVR;
diff --git a/xbmc/pvr/timers/PVRTimerInfoTag.h b/xbmc/pvr/timers/PVRTimerInfoTag.h
index a3904e5d75..bcb49d8f5d 100644
--- a/xbmc/pvr/timers/PVRTimerInfoTag.h
+++ b/xbmc/pvr/timers/PVRTimerInfoTag.h
@@ -8,22 +8,10 @@
#pragma once
-/*
- * DESCRIPTION:
- *
- * CPVRTimerInfoTag is part of the PVRManager to support scheduled recordings.
- *
- * The timer information tag holds data about current programmed timers for
- * the PVRManager. It is possible to create timers directly based upon
- * a EPG entry by giving the EPG information tag or as instant timer
- * on currently tuned channel, or give a blank tag to modify later.
- *
- * The filename inside the tag is for reference only and gives the index
- * number of the tag reported by the PVR backend and can not be played!
- */
+#include <memory>
+#include <string>
#include "XBDateTime.h"
-#include "addons/kodi-addon-dev-kit/include/kodi/xbmc_pvr_types.h"
#include "threads/CriticalSection.h"
#include "threads/SystemClock.h"
#include "utils/ISerializable.h"
@@ -31,10 +19,13 @@
#include "pvr/PVRTypes.h"
#include "pvr/timers/PVRTimerType.h"
-class CVariant;
+struct PVR_TIMER;
namespace PVR
{
+ class CPVRChannel;
+ class CPVREpgInfoTag;
+
enum class TimerOperationResult
{
OK = 0,
diff --git a/xbmc/pvr/timers/PVRTimers.cpp b/xbmc/pvr/timers/PVRTimers.cpp
index 73d0208222..08ef3b55a4 100644
--- a/xbmc/pvr/timers/PVRTimers.cpp
+++ b/xbmc/pvr/timers/PVRTimers.cpp
@@ -21,7 +21,10 @@
#include "pvr/PVRManager.h"
#include "pvr/addons/PVRClients.h"
#include "pvr/channels/PVRChannel.h"
+#include "pvr/epg/Epg.h"
#include "pvr/epg/EpgContainer.h"
+#include "pvr/epg/EpgInfoTag.h"
+#include "pvr/timers/PVRTimerInfoTag.h"
#include "pvr/timers/PVRTimerRuleMatcher.h"
using namespace PVR;
diff --git a/xbmc/pvr/timers/PVRTimers.h b/xbmc/pvr/timers/PVRTimers.h
index 1954c77374..61c42966bd 100644
--- a/xbmc/pvr/timers/PVRTimers.h
+++ b/xbmc/pvr/timers/PVRTimers.h
@@ -14,16 +14,17 @@
#include <vector>
#include "XBDateTime.h"
-#include "addons/kodi-addon-dev-kit/include/kodi/xbmc_pvr_types.h"
#include "threads/Thread.h"
#include "utils/Observer.h"
#include "pvr/PVRSettings.h"
#include "pvr/PVRTypes.h"
-#include "pvr/timers/PVRTimerInfoTag.h"
namespace PVR
{
+ enum class TimerOperationResult;
+
+ class CPVRTimerInfoTag;
class CPVRTimersPath;
class CPVRTimersContainer
diff --git a/xbmc/pvr/windows/GUIEPGGridContainer.h b/xbmc/pvr/windows/GUIEPGGridContainer.h
index 2e8ec6549e..30d8e3b066 100644
--- a/xbmc/pvr/windows/GUIEPGGridContainer.h
+++ b/xbmc/pvr/windows/GUIEPGGridContainer.h
@@ -8,16 +8,23 @@
#pragma once
+#include <memory>
#include <string>
#include <vector>
#include "XBDateTime.h"
+#include "guilib/DirtyRegion.h"
#include "guilib/GUIControl.h"
#include "guilib/GUIListItemLayout.h"
+#include "guilib/GUITexture.h"
#include "guilib/IGUIContainer.h"
+#include "threads/CriticalSection.h"
+#include "utils/Geometry.h"
class CFileItem;
class CFileItemList;
+class CGUIListItem;
+class CGUIListItemLayout;
namespace PVR
{
diff --git a/xbmc/pvr/windows/GUIEPGGridContainerModel.cpp b/xbmc/pvr/windows/GUIEPGGridContainerModel.cpp
index 023fb7001d..0f0c30b2bf 100644
--- a/xbmc/pvr/windows/GUIEPGGridContainerModel.cpp
+++ b/xbmc/pvr/windows/GUIEPGGridContainerModel.cpp
@@ -16,7 +16,9 @@
#include "utils/log.h"
#include "pvr/PVRManager.h"
+#include "pvr/channels/PVRChannel.h"
#include "pvr/channels/PVRChannelGroupsContainer.h"
+#include "pvr/epg/Epg.h"
#include "pvr/epg/EpgChannelData.h"
#include "pvr/epg/EpgInfoTag.h"
diff --git a/xbmc/pvr/windows/GUIEPGGridContainerModel.h b/xbmc/pvr/windows/GUIEPGGridContainerModel.h
index e0ca295613..4eb62eba5a 100644
--- a/xbmc/pvr/windows/GUIEPGGridContainerModel.h
+++ b/xbmc/pvr/windows/GUIEPGGridContainerModel.h
@@ -16,15 +16,13 @@
#include "pvr/PVRTypes.h"
class CFileItem;
-typedef std::shared_ptr<CFileItem> CFileItemPtr;
-
class CFileItemList;
namespace PVR
{
struct GridItem
{
- CFileItemPtr item;
+ std::shared_ptr<CFileItem> item;
float originWidth = 0.0f;
float width = 0.0f;
int progIndex = -1;
@@ -49,21 +47,21 @@ namespace PVR
void FreeProgrammeMemory(int channel, int keepStart, int keepEnd);
void FreeRulerMemory(int keepStart, int keepEnd);
- CFileItemPtr GetProgrammeItem(int iIndex) const { return m_programmeItems[iIndex]; }
+ std::shared_ptr<CFileItem> GetProgrammeItem(int iIndex) const { return m_programmeItems[iIndex]; }
bool HasProgrammeItems() const { return !m_programmeItems.empty(); }
int ProgrammeItemsSize() const { return static_cast<int>(m_programmeItems.size()); }
- CFileItemPtr GetChannelItem(int iIndex) const { return m_channelItems[iIndex]; }
+ std::shared_ptr<CFileItem> GetChannelItem(int iIndex) const { return m_channelItems[iIndex]; }
bool HasChannelItems() const { return !m_channelItems.empty(); }
int ChannelItemsSize() const { return static_cast<int>(m_channelItems.size()); }
- CFileItemPtr GetRulerItem(int iIndex) const { return m_rulerItems[iIndex]; }
+ std::shared_ptr<CFileItem> GetRulerItem(int iIndex) const { return m_rulerItems[iIndex]; }
int RulerItemsSize() const { return static_cast<int>(m_rulerItems.size()); }
int GetBlockCount() const { return m_blocks; }
bool HasGridItems() const { return !m_gridIndex.empty(); }
GridItem *GetGridItemPtr(int iChannel, int iBlock) { return &m_gridIndex[iChannel][iBlock]; }
- CFileItemPtr GetGridItem(int iChannel, int iBlock) const { return m_gridIndex[iChannel][iBlock].item; }
+ std::shared_ptr<CFileItem> GetGridItem(int iChannel, int iBlock) const { return m_gridIndex[iChannel][iBlock].item; }
float GetGridItemWidth(int iChannel, int iBlock) const { return m_gridIndex[iChannel][iBlock].width; }
float GetGridItemOriginWidth(int iChannel, int iBlock) const { return m_gridIndex[iChannel][iBlock].originWidth; }
int GetGridItemIndex(int iChannel, int iBlock) const { return m_gridIndex[iChannel][iBlock].progIndex; }
@@ -95,9 +93,9 @@ namespace PVR
CDateTime m_gridStart;
CDateTime m_gridEnd;
- std::vector<CFileItemPtr> m_programmeItems;
- std::vector<CFileItemPtr> m_channelItems;
- std::vector<CFileItemPtr> m_rulerItems;
+ std::vector<std::shared_ptr<CFileItem>> m_programmeItems;
+ std::vector<std::shared_ptr<CFileItem>> m_channelItems;
+ std::vector<std::shared_ptr<CFileItem>> m_rulerItems;
std::vector<ItemsPtr> m_epgItemsPtr;
std::vector<std::vector<GridItem> > m_gridIndex;
diff --git a/xbmc/pvr/windows/GUIViewStatePVR.h b/xbmc/pvr/windows/GUIViewStatePVR.h
index 0d7e97667f..6b92ec0b2a 100644
--- a/xbmc/pvr/windows/GUIViewStatePVR.h
+++ b/xbmc/pvr/windows/GUIViewStatePVR.h
@@ -10,6 +10,8 @@
#include "view/GUIViewState.h"
+class CFileItemList;
+
namespace PVR
{
class CGUIViewStatePVR : public CGUIViewState
diff --git a/xbmc/pvr/windows/GUIWindowPVRBase.cpp b/xbmc/pvr/windows/GUIWindowPVRBase.cpp
index 4af49ec372..a9cf312f7c 100644
--- a/xbmc/pvr/windows/GUIWindowPVRBase.cpp
+++ b/xbmc/pvr/windows/GUIWindowPVRBase.cpp
@@ -28,6 +28,7 @@
#include "pvr/PVRManager.h"
#include "pvr/addons/PVRClients.h"
#include "pvr/channels/PVRChannelGroup.h"
+#include "pvr/channels/PVRChannelGroups.h"
#include "pvr/channels/PVRChannelGroupsContainer.h"
#define MAX_INVALIDATION_FREQUENCY 2000 // limit to one invalidation per X milliseconds
diff --git a/xbmc/pvr/windows/GUIWindowPVRBase.h b/xbmc/pvr/windows/GUIWindowPVRBase.h
index da142d3882..8400db539a 100644
--- a/xbmc/pvr/windows/GUIWindowPVRBase.h
+++ b/xbmc/pvr/windows/GUIWindowPVRBase.h
@@ -8,8 +8,12 @@
#pragma once
+#include <atomic>
#include <memory>
+#include <string>
+#include "threads/CriticalSection.h"
+#include "threads/SystemClock.h"
#include "utils/Observer.h"
#include "windows/GUIMediaWindow.h"
diff --git a/xbmc/pvr/windows/GUIWindowPVRChannels.cpp b/xbmc/pvr/windows/GUIWindowPVRChannels.cpp
index 8fd0a25a85..0309b5509f 100644
--- a/xbmc/pvr/windows/GUIWindowPVRChannels.cpp
+++ b/xbmc/pvr/windows/GUIWindowPVRChannels.cpp
@@ -26,9 +26,12 @@
#include "pvr/PVRGUIActions.h"
#include "pvr/PVRManager.h"
#include "pvr/addons/PVRClients.h"
+#include "pvr/channels/PVRChannel.h"
+#include "pvr/channels/PVRChannelGroup.h"
#include "pvr/channels/PVRChannelGroupsContainer.h"
#include "pvr/dialogs/GUIDialogPVRChannelManager.h"
#include "pvr/dialogs/GUIDialogPVRGroupManager.h"
+#include "pvr/epg/Epg.h"
#include "pvr/epg/EpgContainer.h"
using namespace PVR;
diff --git a/xbmc/pvr/windows/GUIWindowPVRChannels.h b/xbmc/pvr/windows/GUIWindowPVRChannels.h
index 66d5420a84..68e1c5cdc8 100644
--- a/xbmc/pvr/windows/GUIWindowPVRChannels.h
+++ b/xbmc/pvr/windows/GUIWindowPVRChannels.h
@@ -8,6 +8,10 @@
#pragma once
+#include <string>
+
+#include "dialogs/GUIDialogContextMenu.h"
+
#include "pvr/PVRChannelNumberInputHandler.h"
#include "pvr/windows/GUIWindowPVRBase.h"
diff --git a/xbmc/pvr/windows/GUIWindowPVRGuide.cpp b/xbmc/pvr/windows/GUIWindowPVRGuide.cpp
index 1b973020ba..00bdb399eb 100644
--- a/xbmc/pvr/windows/GUIWindowPVRGuide.cpp
+++ b/xbmc/pvr/windows/GUIWindowPVRGuide.cpp
@@ -25,9 +25,12 @@
#include "pvr/PVRGUIActions.h"
#include "pvr/PVRManager.h"
+#include "pvr/channels/PVRChannel.h"
+#include "pvr/channels/PVRChannelGroup.h"
#include "pvr/channels/PVRChannelGroupsContainer.h"
#include "pvr/epg/EpgChannelData.h"
#include "pvr/epg/EpgContainer.h"
+#include "pvr/epg/EpgInfoTag.h"
#include "pvr/recordings/PVRRecordings.h"
#include "pvr/timers/PVRTimers.h"
#include "pvr/windows/GUIEPGGridContainer.h"
diff --git a/xbmc/pvr/windows/GUIWindowPVRGuide.h b/xbmc/pvr/windows/GUIWindowPVRGuide.h
index 868451c215..ead1ebe766 100644
--- a/xbmc/pvr/windows/GUIWindowPVRGuide.h
+++ b/xbmc/pvr/windows/GUIWindowPVRGuide.h
@@ -10,6 +10,7 @@
#include <atomic>
#include <memory>
+#include <string>
#include "threads/Event.h"
#include "threads/Thread.h"
@@ -17,6 +18,9 @@
#include "pvr/PVRChannelNumberInputHandler.h"
#include "pvr/windows/GUIWindowPVRBase.h"
+class CFileItemList;
+class CGUIMessage;
+
namespace PVR
{
class CGUIEPGGridContainer;
diff --git a/xbmc/pvr/windows/GUIWindowPVRRecordings.cpp b/xbmc/pvr/windows/GUIWindowPVRRecordings.cpp
index 6609655a4d..7bed752568 100644
--- a/xbmc/pvr/windows/GUIWindowPVRRecordings.cpp
+++ b/xbmc/pvr/windows/GUIWindowPVRRecordings.cpp
@@ -24,6 +24,7 @@
#include "pvr/PVRGUIActions.h"
#include "pvr/PVRManager.h"
+#include "pvr/recordings/PVRRecording.h"
#include "pvr/recordings/PVRRecordings.h"
#include "pvr/recordings/PVRRecordingsPath.h"
diff --git a/xbmc/pvr/windows/GUIWindowPVRRecordings.h b/xbmc/pvr/windows/GUIWindowPVRRecordings.h
index 2906c5661f..98dfae3821 100644
--- a/xbmc/pvr/windows/GUIWindowPVRRecordings.h
+++ b/xbmc/pvr/windows/GUIWindowPVRRecordings.h
@@ -8,12 +8,17 @@
#pragma once
+#include <string>
+
+#include "dialogs/GUIDialogContextMenu.h"
#include "video/VideoThumbLoader.h"
#include "video/VideoDatabase.h"
#include "pvr/PVRSettings.h"
#include "pvr/windows/GUIWindowPVRBase.h"
+class CFileItem;
+
namespace PVR
{
class CGUIWindowPVRRecordingsBase : public CGUIWindowPVRBase
diff --git a/xbmc/pvr/windows/GUIWindowPVRSearch.cpp b/xbmc/pvr/windows/GUIWindowPVRSearch.cpp
index 4c21029ccc..d298550ea2 100644
--- a/xbmc/pvr/windows/GUIWindowPVRSearch.cpp
+++ b/xbmc/pvr/windows/GUIWindowPVRSearch.cpp
@@ -26,7 +26,9 @@
#include "pvr/channels/PVRChannelGroupsContainer.h"
#include "pvr/dialogs/GUIDialogPVRGuideSearch.h"
#include "pvr/epg/EpgContainer.h"
+#include "pvr/epg/EpgInfoTag.h"
#include "pvr/epg/EpgSearchFilter.h"
+#include "pvr/recordings/PVRRecording.h"
using namespace PVR;
using namespace KODI::MESSAGING;
diff --git a/xbmc/pvr/windows/GUIWindowPVRSearch.h b/xbmc/pvr/windows/GUIWindowPVRSearch.h
index 8bca6bd18c..1bed63eead 100644
--- a/xbmc/pvr/windows/GUIWindowPVRSearch.h
+++ b/xbmc/pvr/windows/GUIWindowPVRSearch.h
@@ -9,9 +9,14 @@
#pragma once
#include <memory>
+#include <string>
+
+#include "dialogs/GUIDialogContextMenu.h"
#include "pvr/windows/GUIWindowPVRBase.h"
+class CFileItem;
+
namespace PVR
{
class CPVREpgSearchFilter;
diff --git a/xbmc/pvr/windows/GUIWindowPVRTimersBase.h b/xbmc/pvr/windows/GUIWindowPVRTimersBase.h
index 76751e4e56..cc1ee0420d 100644
--- a/xbmc/pvr/windows/GUIWindowPVRTimersBase.h
+++ b/xbmc/pvr/windows/GUIWindowPVRTimersBase.h
@@ -13,7 +13,6 @@
#include "pvr/windows/GUIWindowPVRBase.h"
class CFileItem;
-typedef std::shared_ptr<CFileItem> CFileItemPtr;
namespace PVR
{
@@ -29,8 +28,8 @@ namespace PVR
void UpdateButtons(void) override;
private:
- bool ActionShowTimer(const CFileItemPtr &item);
+ bool ActionShowTimer(const std::shared_ptr<CFileItem>& item);
- CFileItemPtr m_currentFileItem;
+ std::shared_ptr<CFileItem> m_currentFileItem;
};
}