11 #include "XBDateTime.h" 12 #include "addons/kodi-dev-kit/include/kodi/c-api/addon-instance/pvr/pvr_providers.h" 13 #include "pvr/PVRCachedImage.h" 14 #include "threads/CriticalSection.h" 15 #include "threads/SystemClock.h" 16 #include "video/Bookmark.h" 17 #include "video/VideoInfoTag.h" 33 class CPVRTimerInfoTag;
55 static const std::string IMAGE_OWNER_PATTERN;
69 void Serialize(
CVariant& value)
const override;
72 void ToSortable(SortItem& sortable, Field field)
const override;
96 bool Rename(
const std::string& strNewName);
103 bool SetPlayCount(
int count)
override;
109 bool IncrementPlayCount()
override;
129 bool SetResumePoint(
const CBookmark& resumePoint)
override;
138 bool SetResumePoint(
double timeInSeconds,
139 double totalTimeInSeconds,
140 const std::string& playerState =
"")
override;
146 CBookmark GetResumePoint()
const override;
152 bool UpdateRecordingSize();
164 std::vector<PVR_EDL_ENTRY> GetEdl()
const;
191 const CDateTime& RecordingTimeAsLocalTime()
const;
215 CDateTime ExpirationTimeAsLocalTime()
const;
222 bool WillBeExpiredWithNewLifetime(
int iLifetime)
const;
229 static std::string GetTitleFromURL(
const std::string& url);
251 std::shared_ptr<CPVRChannel> Channel()
const;
257 int ChannelUid()
const;
263 int ClientID()
const;
287 std::string
Directory()
const {
return m_strDirectory; }
317 const std::string&
ClientIconPath()
const {
return m_iconPath.GetClientImage(); }
335 const std::string&
IconPath()
const {
return m_iconPath.GetLocalImage(); }
341 const std::string&
ThumbnailPath()
const {
return m_thumbnailPath.GetLocalImage(); }
347 const std::string&
FanartPath()
const {
return m_fanartPath.GetLocalImage(); }
359 bool IsInProgress()
const;
365 std::shared_ptr<CPVRTimerInfoTag> GetRecordingTimer()
const;
373 void SetGenre(
int iGenreType,
int iGenreSubType,
const std::string& strGenre);
391 const std::vector<std::string>
Genre()
const {
return m_genre; }
397 const std::string GetGenresLabel()
const;
409 int GetYear()
const override;
415 void SetYear(
int year)
override;
421 bool HasYear()
const override;
433 bool IsPremiere()
const;
439 bool IsFinale()
const;
451 unsigned int Flags()
const {
return m_iFlags; }
457 int64_t GetSizeInBytes()
const;
475 int ClientProviderUniqueId()
const;
481 std::string ProviderName()
const;
488 std::shared_ptr<CPVRProvider> GetDefaultProvider()
const;
494 bool HasClientProvider()
const;
502 std::shared_ptr<CPVRProvider> GetProvider()
const;
512 std::string m_strChannelName;
515 std::string m_strDirectory;
516 unsigned int m_iRecordingId;
524 mutable bool m_bInProgress;
525 unsigned int m_iEpgEventId;
528 int m_iGenreType = 0;
529 int m_iGenreSubType = 0;
531 unsigned int m_iFlags = 0;
533 int64_t m_sizeInBytes = 0;
534 bool m_bDirty =
false;
535 std::string m_strProviderName;
536 int m_iClientProviderUniqueId =
537 PVR_PROVIDER_INVALID_UID;
539 mutable CCriticalSection m_critSection;
unsigned int RecordingID() const
Get the recording ID as upplied by the client.
Definition: PVRRecording.h:275
std::string EpisodeName() const
Retrieve the recording Episode Name.
Definition: PVRRecording.h:353
bool IsDirty() const
Return whether the recording is marked dirty.
Definition: PVRRecording.h:469
const std::string & ClientFanartPath() const
Return the fanart path as given by the client.
Definition: PVRRecording.h:329
virtual int GetPlayCount() const
Get this videos's play count.
Definition: VideoInfoTag.cpp:1740
"C" Edit definition list entry.
Definition: pvr_edl.h:54
int GetLocalPlayCount() const
Get this recording's local play count. The value will not be obtained from the backend, even if it supports server-side play counts.
Definition: PVRRecording.h:122
std::string m_strRecordingId
Definition: PVRRecording.h:42
Definition: PVRCachedImage.h:16
bool SetLocalPlayCount(int count)
Set this recording's play count without transferring the value to the backend, even if it supports se...
Definition: PVRRecording.h:116
const std::string & IconPath() const
Return the icon path used by Kodi.
Definition: PVRRecording.h:335
"C" PVR add-on recording.
Definition: pvr_recordings.h:109
const std::vector< std::string > Genre() const
Get the genre as human readable string.
Definition: PVRRecording.h:391
Definition: ContextMenuManager.h:24
void SetRecordingID(unsigned int recordingId)
Set the recording ID.
Definition: PVRRecording.h:281
const std::string & FanartPath() const
Return the fanart path used by Kodi.
Definition: PVRRecording.h:347
Definition: SystemClock.h:31
bool HasExpirationTime() const
Check whether this recording has an expiration time.
Definition: PVRRecording.h:209
void SetDirty(bool bDirty)
Mark a recording as dirty/clean.
Definition: PVRRecording.h:463
int LifeTime() const
Get the lifetime for this recording.
Definition: PVRRecording.h:299
int GenreType() const
Get the genre type ID of this recording.
Definition: PVRRecording.h:379
Definition: VideoDatabase.h:393
Definition: Bookmark.h:14
void SetLifeTime(int lifeTime)
Set the lifetime for this recording.
Definition: PVRRecording.h:305
CBookmark GetLocalResumePoint() const
Get this recording's local resume point. The value will not be obtained from the backend even if it s...
Definition: PVRRecording.h:158
std::string Directory() const
Get the directory for this recording.
Definition: PVRRecording.h:287
const CDateTime & RecordingTimeAsUTC() const
Retrieve the recording start as UTC time.
Definition: PVRRecording.h:185
virtual CBookmark GetResumePoint() const
Get this videos's resume point.
Definition: VideoInfoTag.cpp:1770
const std::string & ClientThumbnailPath() const
Return the thumbnail path as given by the client.
Definition: PVRRecording.h:323
std::string ClientRecordingID() const
Get the recording ID as upplied by the client.
Definition: PVRRecording.h:269
DateTime class, which uses FileTime as it's base.
Definition: XBDateTime.h:63
int Priority() const
Get the priority for this recording.
Definition: PVRRecording.h:293
Definition: PVRRecording.h:52
const std::string & ClientIconPath() const
Return the icon path as given by the client.
Definition: PVRRecording.h:317
std::string ChannelName() const
Get the channel name for this recording.
Definition: PVRRecording.h:311
unsigned int Flags() const
Return the flags (PVR_RECORDING_FLAG_*) of this recording as a bitfield.
Definition: PVRRecording.h:451
const std::string & ThumbnailPath() const
Return the thumnail path used by Kodi.
Definition: PVRRecording.h:341
unsigned int BroadcastUid() const
Definition: PVRRecording.h:245
int m_iClientId
Definition: PVRRecording.h:41
int GenreSubType() const
Get the genre subtype ID of this recording.
Definition: PVRRecording.h:385
Representation of a CPVRRecording unique ID.
Definition: PVRRecording.h:38
virtual bool SetPlayCount(int count)
Set this videos's play count.
Definition: VideoInfoTag.cpp:1745
bool IsRadio() const
Check whether this is a tv or radio recording.
Definition: PVRRecording.h:240
Definition: VideoInfoTag.h:51
Definition: PVRClient.h:51
bool IsDeleted() const
If deleted but can be undeleted it is true.
Definition: PVRRecording.h:234