bool CPVRRecording::operator ==(const CPVRRecording& right) const { return (this == &right) || (m_strRecordingId == right.m_strRecordingId && m_iClientId == right.m_iClientId && m_strChannelName == right.m_strChannelName && m_recordingTime == right.m_recordingTime && m_duration == right.m_duration && m_strPlotOutline == right.m_strPlotOutline && m_strPlot == right.m_strPlot && m_strStreamURL == right.m_strStreamURL && m_iPriority == right.m_iPriority && m_iLifetime == right.m_iLifetime && m_strDirectory == right.m_strDirectory && m_strFileNameAndPath == right.m_strFileNameAndPath && m_strTitle == right.m_strTitle && m_strShowTitle == right.m_strShowTitle && m_iSeason == right.m_iSeason && m_iEpisode == right.m_iEpisode && GetPremiered() == right.GetPremiered() && m_strIconPath == right.m_strIconPath && m_strThumbnailPath == right.m_strThumbnailPath && m_strFanartPath == right.m_strFanartPath && m_iRecordingId == right.m_iRecordingId && m_bIsDeleted == right.m_bIsDeleted && m_iEpgEventId == right.m_iEpgEventId && m_iChannelUid == right.m_iChannelUid && m_bRadio == right.m_bRadio); }
void CPVRRecording::Update(const CPVRRecording &tag) { m_strRecordingId = tag.m_strRecordingId; m_iClientId = tag.m_iClientId; m_strTitle = tag.m_strTitle; m_strShowTitle = tag.m_strShowTitle; m_iSeason = tag.m_iSeason; m_iEpisode = tag.m_iEpisode; SetPremiered(tag.GetPremiered()); m_recordingTime = tag.m_recordingTime; m_duration = tag.m_duration; m_iPriority = tag.m_iPriority; m_iLifetime = tag.m_iLifetime; m_strDirectory = tag.m_strDirectory; m_strPlot = tag.m_strPlot; m_strPlotOutline = tag.m_strPlotOutline; m_strStreamURL = tag.m_strStreamURL; m_strChannelName = tag.m_strChannelName; m_genre = tag.m_genre; m_strIconPath = tag.m_strIconPath; m_strThumbnailPath = tag.m_strThumbnailPath; m_strFanartPath = tag.m_strFanartPath; m_bIsDeleted = tag.m_bIsDeleted; m_iEpgEventId = tag.m_iEpgEventId; m_iChannelUid = tag.m_iChannelUid; m_bRadio = tag.m_bRadio; if (g_PVRClients->SupportsRecordingPlayCount(m_iClientId)) m_playCount = tag.m_playCount; if (g_PVRClients->SupportsLastPlayedPosition(m_iClientId)) { m_resumePoint.timeInSeconds = tag.m_resumePoint.timeInSeconds; m_resumePoint.totalTimeInSeconds = tag.m_resumePoint.totalTimeInSeconds; } //Old Method of identifying TV show title and subtitle using m_strDirectory and strPlotOutline (deprecated) std::string strShow = StringUtils::Format("%s - ", g_localizeStrings.Get(20364).c_str()); if (StringUtils::StartsWithNoCase(m_strPlotOutline, strShow)) { CLog::Log(LOGDEBUG,"CPVRRecording::Update - PVR addon provides episode name in strPlotOutline which is deprecated"); std::string strEpisode = m_strPlotOutline; std::string strTitle = m_strDirectory; size_t pos = strTitle.rfind('/'); strTitle.erase(0, pos + 1); strEpisode.erase(0, strShow.size()); m_strTitle = strTitle; pos = strEpisode.find('-'); strEpisode.erase(0, pos + 2); m_strShowTitle = strEpisode; } if (m_bIsDeleted) OnDelete(); UpdatePath(); }