[Windows] Fix driver version detection of AMD RDNA+ GPU on Windows 10
[xbmc.git] / xbmc / pvr / guilib / PVRGUIActionsRecordings.h
blob795a2c73b3117d0605fed9cad48aa920dff49ee1
1 /*
2 * Copyright (C) 2016-2018 Team Kodi
3 * This file is part of Kodi - https://kodi.tv
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 * See LICENSES/README.md for more information.
7 */
9 #pragma once
11 #include "pvr/IPVRComponent.h"
13 #include <memory>
15 class CFileItem;
17 namespace PVR
19 class CPVRRecording;
21 class CPVRGUIActionsRecordings : public IPVRComponent
23 public:
24 CPVRGUIActionsRecordings() = default;
25 ~CPVRGUIActionsRecordings() override = default;
27 /*!
28 * @brief Open a dialog with information for a given recording.
29 * @param item containing a recording.
30 * @return true on success, false otherwise.
32 bool ShowRecordingInfo(const CFileItem& item) const;
34 /*!
35 * @brief Open the recording settings dialog to edit a recording.
36 * @param item containing the recording to edit.
37 * @return true on success, false otherwise.
39 bool EditRecording(const CFileItem& item) const;
41 /*!
42 * @brief Check if any recording settings can be edited.
43 * @param item containing the recording to edit.
44 * @return true on success, false otherwise.
46 bool CanEditRecording(const CFileItem& item) const;
48 /*!
49 * @brief Delete a recording, always showing a confirmation dialog.
50 * @param item containing a recording to delete.
51 * @return true, if the recording was deleted successfully, false otherwise.
53 bool DeleteRecording(const CFileItem& item) const;
55 /*!
56 * @brief Delete all watched recordings contained in the given folder, always showing a
57 * confirmation dialog.
58 * @param item containing a recording folder containing the items to delete.
59 * @return true, if the recordings were deleted successfully, false otherwise.
61 bool DeleteWatchedRecordings(const CFileItem& item) const;
63 /*!
64 * @brief Delete all recordings from trash, always showing a confirmation dialog.
65 * @return true, if the recordings were permanently deleted successfully, false otherwise.
67 bool DeleteAllRecordingsFromTrash() const;
69 /*!
70 * @brief Undelete a recording.
71 * @param item containing a recording to undelete.
72 * @return true, if the recording was undeleted successfully, false otherwise.
74 bool UndeleteRecording(const CFileItem& item) const;
76 private:
77 CPVRGUIActionsRecordings(const CPVRGUIActionsRecordings&) = delete;
78 CPVRGUIActionsRecordings const& operator=(CPVRGUIActionsRecordings const&) = delete;
80 /*!
81 * @brief Open a dialog to confirm to delete a recording.
82 * @param item the recording to delete.
83 * @return true, to proceed with delete, false otherwise.
85 bool ConfirmDeleteRecording(const CFileItem& item) const;
87 /*!
88 * @brief Open a dialog to confirm delete all watched recordings contained in the given folder.
89 * @param item containing a recording folder containing the items to delete.
90 * @return true, to proceed with delete, false otherwise.
92 bool ConfirmDeleteWatchedRecordings(const CFileItem& item) const;
94 /*!
95 * @brief Open a dialog to confirm to permanently remove all deleted recordings.
96 * @return true, to proceed with delete, false otherwise.
98 bool ConfirmDeleteAllRecordingsFromTrash() const;
101 * @brief Open the recording settings dialog.
102 * @param recording containing the recording the settings shall be displayed for.
103 * @return true, if the dialog was ended successfully, false otherwise.
105 bool ShowRecordingSettings(const std::shared_ptr<CPVRRecording>& recording) const;
108 namespace GUI
110 // pretty scope and name
111 using Recordings = CPVRGUIActionsRecordings;
112 } // namespace GUI
114 } // namespace PVR