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; }
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; }
DTC::RecRuleList* Dvr::GetRecordScheduleList( int nStartIndex, int nCount ) { vector<ProgramInfo *> infoList; RemoteGetAllScheduledRecordings(infoList); // ---------------------------------------------------------------------- // Build Response // ---------------------------------------------------------------------- DTC::RecRuleList *pRecRules = new DTC::RecRuleList(); nStartIndex = min( nStartIndex, (int)infoList.size() ); nCount = (nCount > 0) ? min( nCount, (int)infoList.size() ) : infoList.size(); int nEndIndex = min((nStartIndex + nCount), (int)infoList.size() ); for( int n = nStartIndex; n < nEndIndex; n++) { RecordingRule *rule = new RecordingRule(); ProgramInfo *pInfo = infoList[ n ]; rule->LoadByProgram(pInfo); if (pInfo != NULL) { DTC::RecRule *pRecRule = pRecRules->AddNewRecRule(); FillRecRuleInfo( pRecRule, rule ); delete rule; delete pInfo; } } // ---------------------------------------------------------------------- pRecRules->setStartIndex ( nStartIndex ); pRecRules->setCount ( nCount ); pRecRules->setTotalAvailable( infoList.size() ); pRecRules->setAsOf ( QDateTime::currentDateTime() ); pRecRules->setVersion ( MYTH_BINARY_VERSION ); pRecRules->setProtoVer ( MYTH_PROTO_VERSION ); return pRecRules; }