bool Dvr::DisableRecordSchedule( uint nRecordId ) { bool bResult = false; if (nRecordId <= 0 ) throw QString("Record ID appears invalid."); RecordingRule pRule; pRule.m_recordID = nRecordId; pRule.Load(); if (pRule.IsLoaded()) { pRule.m_isInactive = true; bResult = pRule.Save(); } return bResult; }
bool Dvr::DisableRecordSchedule( uint nRecordId ) { bool bResult = false; if (nRecordId <= 0 ) throw( QString("Record ID appears invalid.")); RecordingRule *pRule = new RecordingRule(); pRule->m_recordID = nRecordId; pRule->Load(); if (pRule->IsLoaded()) { pRule->m_isInactive = true; pRule->Save(); bResult = true; } return bResult; }
bool Dvr::UpdateRecordSchedule ( uint nRecordId, QString sTitle, QString sSubtitle, QString sDescription, QString sCategory, QDateTime dStartTimeRaw, QDateTime dEndTimeRaw, QString sSeriesId, QString sProgramId, int nChanId, QString sStation, int nFindDay, QTime tFindTime, bool bInactive, uint nSeason, uint nEpisode, QString sInetref, QString sType, QString sSearchType, int nRecPriority, uint nPreferredInput, int nStartOffset, int nEndOffset, QString sDupMethod, QString sDupIn, uint nFilter, QString sRecProfile, QString sRecGroup, QString sStorageGroup, QString sPlayGroup, bool bAutoExpire, int nMaxEpisodes, bool bMaxNewest, bool bAutoCommflag, bool bAutoTranscode, bool bAutoMetaLookup, bool bAutoUserJob1, bool bAutoUserJob2, bool bAutoUserJob3, bool bAutoUserJob4, int nTranscoder) { if (nRecordId <= 0 ) throw QString("Record ID is invalid."); RecordingRule pRule; pRule.m_recordID = nRecordId; pRule.Load(); if (!pRule.IsLoaded()) throw QString("Record ID does not exist."); QDateTime recstartts = dStartTimeRaw.toUTC(); QDateTime recendts = dEndTimeRaw.toUTC(); pRule.m_isInactive = bInactive; if (sType.isEmpty()) sType = "single"; if (sSearchType.isEmpty()) sSearchType = "none"; if (sDupMethod.isEmpty()) sDupMethod = "subtitleanddescription"; if (sDupIn.isEmpty()) sDupIn = "all"; pRule.m_type = recTypeFromString(sType); pRule.m_searchType = searchTypeFromString(sSearchType); pRule.m_dupMethod = dupMethodFromString(sDupMethod); pRule.m_dupIn = dupInFromString(sDupIn); if (sRecProfile.isEmpty()) sRecProfile = "Default"; if (sRecGroup.isEmpty()) sRecGroup = "Default"; if (sStorageGroup.isEmpty()) sStorageGroup = "Default"; if (sPlayGroup.isEmpty()) sPlayGroup = "Default"; if (!sTitle.isEmpty()) pRule.m_title = sTitle; if (!sSubtitle.isEmpty()) pRule.m_subtitle = sSubtitle; if(!sDescription.isEmpty()) pRule.m_description = sDescription; if (!sCategory.isEmpty()) pRule.m_category = sCategory; if (!sSeriesId.isEmpty()) pRule.m_seriesid = sSeriesId; if (!sProgramId.isEmpty()) pRule.m_programid = sProgramId; if (nChanId) pRule.m_channelid = nChanId; if (!sStation.isEmpty()) pRule.m_station = sStation; pRule.m_startdate = recstartts.date(); pRule.m_starttime = recstartts.time(); pRule.m_enddate = recendts.date(); pRule.m_endtime = recendts.time(); pRule.m_findday = nFindDay; pRule.m_findtime = tFindTime; pRule.m_recProfile = sRecProfile; pRule.m_recGroupID = RecordingInfo::GetRecgroupID(sRecGroup) > 0 ? RecordingInfo::GetRecgroupID(sRecGroup) : RecordingInfo::kDefaultRecGroup; pRule.m_storageGroup = sStorageGroup; pRule.m_playGroup = sPlayGroup; pRule.m_isInactive = bInactive; pRule.m_season = nSeason; pRule.m_episode = nEpisode; pRule.m_inetref = sInetref; pRule.m_recPriority = nRecPriority; pRule.m_prefInput = nPreferredInput; pRule.m_startOffset = nStartOffset; pRule.m_endOffset = nEndOffset; pRule.m_filter = nFilter; pRule.m_autoExpire = bAutoExpire; pRule.m_maxEpisodes = nMaxEpisodes; pRule.m_maxNewest = bMaxNewest; pRule.m_autoCommFlag = bAutoCommflag; pRule.m_autoTranscode = bAutoTranscode; pRule.m_autoMetadataLookup = bAutoMetaLookup; pRule.m_autoUserJob1 = bAutoUserJob1; pRule.m_autoUserJob2 = bAutoUserJob2; pRule.m_autoUserJob3 = bAutoUserJob3; pRule.m_autoUserJob4 = bAutoUserJob4; pRule.m_transcoder = nTranscoder; QString msg; if (!pRule.IsValid(msg)) throw msg; bool bResult = pRule.Save(); return bResult; }