Skip to content

Commit

Permalink
[PVR] let CPVRRecording implement ISerializable
Browse files Browse the repository at this point in the history
  • Loading branch information
Montellese committed Feb 27, 2014
1 parent a0cedfa commit 0a03d5c
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 0 deletions.
22 changes: 22 additions & 0 deletions xbmc/pvr/recordings/PVRRecording.cpp
Expand Up @@ -90,6 +90,28 @@ bool CPVRRecording::operator !=(const CPVRRecording& right) const
return !(*this == right);
}

void CPVRRecording::Serialize(CVariant& value) const
{
CVideoInfoTag::Serialize(value);

value["channel"] = m_strChannelName;
value["runtime"] = m_duration.GetSecondsTotal();
value["lifetime"] = m_iLifetime;
value["streamurl"] = m_strStreamURL;
value["directory"] = m_strDirectory;
value["icon"] = m_strIconPath;
value["starttime"] = m_recordingTime.IsValid() ? m_recordingTime.GetAsDBDateTime() : "";
value["endtime"] = m_recordingTime.IsValid() ? (m_recordingTime + m_duration).GetAsDBDateTime() : "";
value["recordingid"] = m_iRecordingId;

if (!value.isMember("art"))
value["art"] = CVariant(CVariant::VariantTypeObject);
if (!m_strThumbnailPath.empty())
value["art"]["thumb"] = m_strThumbnailPath;
if (!m_strFanartPath.empty())
value["art"]["fanart"] = m_strFanartPath;
}

void CPVRRecording::Reset(void)
{
m_strRecordingId = StringUtils::EmptyString;
Expand Down
2 changes: 2 additions & 0 deletions xbmc/pvr/recordings/PVRRecording.h
Expand Up @@ -64,6 +64,8 @@ namespace PVR
bool operator ==(const CPVRRecording& right) const;
bool operator !=(const CPVRRecording& right) const;

virtual void Serialize(CVariant& value) const;

/*!
* @brief Reset this tag to it's initial state.
*/
Expand Down

0 comments on commit 0a03d5c

Please sign in to comment.