本文整理汇总了C++中RecordingInfo::GetRecordingRule方法的典型用法代码示例。如果您正苦于以下问题:C++ RecordingInfo::GetRecordingRule方法的具体用法?C++ RecordingInfo::GetRecordingRule怎么用?C++ RecordingInfo::GetRecordingRule使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类RecordingInfo
的用法示例。
在下文中一共展示了RecordingInfo::GetRecordingRule方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetRecordScheduleList
DTC::RecRuleList* Dvr::GetRecordScheduleList( int nStartIndex,
int nCount,
const QString &Sort,
bool Descending )
{
Scheduler::SchedSortColumn sortingColumn;
if (Sort.toLower() == "lastrecorded")
sortingColumn = Scheduler::kSortLastRecorded;
else if (Sort.toLower() == "title")
sortingColumn = Scheduler::kSortTitle;
else if (Sort.toLower() == "priority")
sortingColumn = Scheduler::kSortPriority;
else if (Sort.toLower() == "type")
sortingColumn = Scheduler::kSortType;
RecList recList;
Scheduler::GetAllScheduled(recList, sortingColumn, !Descending);
// ----------------------------------------------------------------------
// Build Response
// ----------------------------------------------------------------------
DTC::RecRuleList *pRecRules = new DTC::RecRuleList();
nStartIndex = min( nStartIndex, (int)recList.size() );
nCount = (nCount > 0) ? min( nCount, (int)recList.size() ) : recList.size();
int nEndIndex = min((nStartIndex + nCount), (int)recList.size() );
for( int n = nStartIndex; n < nEndIndex; n++)
{
RecordingInfo *info = recList[n];
if (info != NULL)
{
DTC::RecRule *pRecRule = pRecRules->AddNewRecRule();
FillRecRuleInfo( pRecRule, info->GetRecordingRule() );
}
}
// ----------------------------------------------------------------------
pRecRules->setStartIndex ( nStartIndex );
pRecRules->setCount ( nCount );
pRecRules->setTotalAvailable( recList.size() );
pRecRules->setAsOf ( MythDate::current() );
pRecRules->setVersion ( MYTH_BINARY_VERSION );
pRecRules->setProtoVer ( MYTH_PROTO_VERSION );
while (!recList.empty())
{
delete recList.back();
recList.pop_back();
}
return pRecRules;
}
示例2: GetRecordScheduleList
DTC::RecRuleList* Dvr::GetRecordScheduleList( int nStartIndex,
int nCount )
{
RecList recList;
Scheduler::GetAllScheduled(recList);
// ----------------------------------------------------------------------
// Build Response
// ----------------------------------------------------------------------
DTC::RecRuleList *pRecRules = new DTC::RecRuleList();
nStartIndex = min( nStartIndex, (int)recList.size() );
nCount = (nCount > 0) ? min( nCount, (int)recList.size() ) : recList.size();
int nEndIndex = min((nStartIndex + nCount), (int)recList.size() );
for( int n = nStartIndex; n < nEndIndex; n++)
{
RecordingInfo *info = recList[n];
if (info != NULL)
{
DTC::RecRule *pRecRule = pRecRules->AddNewRecRule();
FillRecRuleInfo( pRecRule, info->GetRecordingRule() );
}
}
// ----------------------------------------------------------------------
pRecRules->setStartIndex ( nStartIndex );
pRecRules->setCount ( nCount );
pRecRules->setTotalAvailable( recList.size() );
pRecRules->setAsOf ( MythDate::current() );
pRecRules->setVersion ( MYTH_BINARY_VERSION );
pRecRules->setProtoVer ( MYTH_PROTO_VERSION );
while (!recList.empty())
{
delete recList.back();
recList.pop_back();
}
return pRecRules;
}
示例3: customEvent
void ScheduleCommon::customEvent(QEvent *event)
{
if (event->type() == DialogCompletionEvent::kEventType)
{
DialogCompletionEvent *dce = (DialogCompletionEvent*)(event);
QString resultid = dce->GetId();
QString resulttext = dce->GetResultText();
if (resultid == "editrecording")
{
if (!dce->GetData().canConvert<RecordingInfo>())
return;
RecordingInfo recInfo = dce->GetData().value<RecordingInfo>();
if (resulttext == tr("Record this showing"))
{
if (recInfo.GetRecordingRuleType() == kNotRecording)
recInfo.ApplyRecordStateChange(kSingleRecord);
else
{
recInfo.ApplyRecordStateChange(kOverrideRecord);
if (recInfo.GetRecordingStartTime() < MythDate::current())
recInfo.ReactivateRecording();
}
}
else if (resulttext == tr("Record all showings"))
recInfo.ApplyRecordStateChange(kAllRecord);
else if (resulttext == tr("Record one showing (this episode)") ||
resulttext == tr("Record one showing"))
{
recInfo.ApplyRecordStateChange(kOneRecord, false);
recInfo.GetRecordingRule()->m_filter |= 64; // This episode
recInfo.GetRecordingRule()->Save();
}
else if (resulttext == tr("Record all showings (this channel)"))
{
recInfo.ApplyRecordStateChange(kAllRecord, false);
recInfo.GetRecordingRule()->m_filter |= 1024; // This channel
recInfo.GetRecordingRule()->Save();
}
else if (resulttext == tr("Stop this recording"))
{
RemoteStopRecording(&recInfo);
}
else if (resulttext == tr("Modify recording options") ||
resulttext == tr("Add override rule"))
{
if (recInfo.GetRecordingRuleType() == kSingleRecord ||
recInfo.GetRecordingRuleType() == kOverrideRecord ||
recInfo.GetRecordingRuleType() == kOneRecord)
EditScheduled(&recInfo);
else
MakeOverride(&recInfo);
}
else if (resulttext == tr("Restart this recording"))
recInfo.ReactivateRecording();
else if (resulttext == tr("Forget previous recording"))
recInfo.ForgetHistory();
else if (resulttext == tr("Don't record this showing"))
recInfo.ApplyRecordStateChange(kDontRecord);
else if (resulttext == tr("Never record this episode"))
{
recInfo.ApplyNeverRecord();
}
else if (resulttext == tr("Edit recording rule") ||
resulttext == tr("Edit override rule"))
EditScheduled(&recInfo);
else if (resulttext == tr("Delete recording rule") ||
resulttext == tr("Delete override rule"))
recInfo.ApplyRecordStateChange(kNotRecording);
}
}
}
示例4: customEvent
void ScheduleCommon::customEvent(QEvent *event)
{
if (event->type() == DialogCompletionEvent::kEventType)
{
DialogCompletionEvent *dce = (DialogCompletionEvent*)(event);
QString resultid = dce->GetId();
QString resulttext = dce->GetResultText();
if (resultid == "schedulenotscheduled")
{
if (!qVariantCanConvert<RecordingInfo>(dce->GetData()))
return;
RecordingInfo recInfo = qVariantValue<RecordingInfo>
(dce->GetData());
if (resulttext == tr("Record only this showing"))
recInfo.ApplyRecordStateChange(kSingleRecord);
else if (resulttext == tr("Record all showings"))
recInfo.ApplyRecordStateChange(kAllRecord);
else if (resulttext == tr("Record one showing of this episode"))
{
recInfo.ApplyRecordStateChange(kOneRecord, false);
recInfo.GetRecordingRule()->m_filter |= 64; // This episode
recInfo.GetRecordingRule()->Save();
}
else if (resulttext == tr("Record all showings on this channel"))
{
recInfo.ApplyRecordStateChange(kAllRecord, false);
recInfo.GetRecordingRule()->m_filter |= 1024; // This channel
recInfo.GetRecordingRule()->Save();
}
else if (resulttext == tr("Record with more options"))
{
EditScheduled(&recInfo);
}
}
else if (resultid == "schedulenotrecording")
{
if (!qVariantCanConvert<RecordingInfo>(dce->GetData()))
return;
RecordingInfo recInfo = qVariantValue<RecordingInfo>
(dce->GetData());
if (resulttext == tr("Restart recording this showing"))
recInfo.ReactivateRecording();
else if (resulttext == tr("Record this showing anyway"))
{
recInfo.ApplyRecordStateChange(kOverrideRecord);
if (recInfo.GetRecordingStartTime() < MythDate::current())
recInfo.ReactivateRecording();
}
else if (resulttext == tr("Forget previous recording"))
recInfo.ForgetHistory();
else if (resulttext == tr("Don't record this showing"))
recInfo.ApplyRecordStateChange(kDontRecord);
else if (resulttext == tr("Never record this episode"))
{
recInfo.SetRecordingStatus(rsNeverRecord);
recInfo.SetScheduledStartTime(MythDate::current());
recInfo.SetScheduledEndTime(recInfo.GetRecordingStartTime());
recInfo.AddHistory(true, true);
}
else if (resulttext == tr("Delete override rule") ||
resulttext == tr("Delete recording rule"))
recInfo.ApplyRecordStateChange(kNotRecording);
else if (resulttext == tr("Edit override options") ||
resulttext == tr("Edit recording options"))
{
EditScheduled(&recInfo);
}
else if (resulttext == tr("Override this showing with options"))
{
MakeOverride(&recInfo);
}
}
else if (resultid == "schedulerecording")
{
if (!qVariantCanConvert<RecordingInfo>(dce->GetData()))
return;
RecordingInfo recInfo = qVariantValue<RecordingInfo>
(dce->GetData());
if (resulttext == tr("Restart recording this showing"))
recInfo.ReactivateRecording();
else if (resulttext == tr("Stop recording this showing"))
{
ProgramInfo pginfo(
recInfo.GetChanID(), recInfo.GetRecordingStartTime());
if (pginfo.GetChanID())
RemoteStopRecording(&pginfo);
}
else if (resulttext == tr("Don't record this showing"))
recInfo.ApplyRecordStateChange(kDontRecord);
else if (resulttext == tr("Never record this episode"))
{
recInfo.SetRecordingStatus(rsNeverRecord);
//.........这里部分代码省略.........
示例5: RecordingInfo
int Dvr::AddRecordSchedule ( int nChanId,
QDateTime dStartTime,
int nParentId,
bool bInactive,
uint nSeason,
uint nEpisode,
QString sInetref,
int nFindId,
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)
{
RecordingInfo *info = new RecordingInfo(nChanId, dStartTime, false);
RecordingRule *rule = info->GetRecordingRule();
delete info;
info = NULL;
if (sType.isEmpty())
sType = "single";
if (sSearchType.isEmpty())
sSearchType = "none";
if (sDupMethod.isEmpty())
sDupMethod = "subtitleanddescription";
if (sDupIn.isEmpty())
sDupIn = "all";
rule->m_type = recTypeFromString(sType);
rule->m_searchType = searchTypeFromString(sSearchType);
rule->m_dupMethod = dupMethodFromString(sDupMethod);
rule->m_dupIn = dupInFromString(sDupIn);
if (sRecProfile.isEmpty())
sRecProfile = "Default";
if (sRecGroup.isEmpty())
sRecGroup = "Default";
if (sStorageGroup.isEmpty())
sStorageGroup = "Default";
if (sPlayGroup.isEmpty())
sPlayGroup = "Default";
rule->m_recProfile = sRecProfile;
rule->m_recGroup = sRecGroup;
rule->m_storageGroup = sStorageGroup;
rule->m_playGroup = sPlayGroup;
rule->m_parentRecID = nParentId;
rule->m_isInactive = bInactive;
rule->m_season = nSeason;
rule->m_episode = nEpisode;
rule->m_inetref = sInetref;
rule->m_findid = nFindId;
rule->m_recPriority = nRecPriority;
rule->m_prefInput = nPreferredInput;
rule->m_startOffset = nStartOffset;
rule->m_endOffset = nEndOffset;
rule->m_filter = nFilter;
rule->m_autoExpire = bAutoExpire;
rule->m_maxEpisodes = nMaxEpisodes;
rule->m_maxNewest = bMaxNewest;
rule->m_autoCommFlag = bAutoCommflag;
rule->m_autoTranscode = bAutoTranscode;
rule->m_autoMetadataLookup = bAutoMetaLookup;
rule->m_autoUserJob1 = bAutoUserJob1;
rule->m_autoUserJob2 = bAutoUserJob2;
rule->m_autoUserJob3 = bAutoUserJob3;
rule->m_autoUserJob4 = bAutoUserJob4;
//.........这里部分代码省略.........