本文整理汇总了C++中ProgramInfo::GetChanID方法的典型用法代码示例。如果您正苦于以下问题:C++ ProgramInfo::GetChanID方法的具体用法?C++ ProgramInfo::GetChanID怎么用?C++ ProgramInfo::GetChanID使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ProgramInfo
的用法示例。
在下文中一共展示了ProgramInfo::GetChanID方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: DeleteRecording
bool Dvr::DeleteRecording(int RecordedId,
int chanid, const QDateTime &recstarttsRaw,
bool forceDelete, bool allowRerecord)
{
if ((RecordedId <= 0) &&
(chanid <= 0 || !recstarttsRaw.isValid()))
throw QString("Recorded ID or Channel ID and StartTime appears invalid.");
// TODO Should use RecordingInfo
ProgramInfo pi;
if (RecordedId > 0)
pi = ProgramInfo(RecordedId);
else
pi = ProgramInfo(chanid, recstarttsRaw.toUTC());
if (pi.GetChanID() && pi.HasPathname())
{
QString cmd = QString("DELETE_RECORDING %1 %2 %3 %4")
.arg(pi.GetChanID())
.arg(pi.GetRecordingStartTime(MythDate::ISODate))
.arg(forceDelete ? "FORCE" : "NO_FORCE")
.arg(allowRerecord ? "FORGET" : "NO_FORGET");
MythEvent me(cmd);
gCoreContext->dispatch(me);
return true;
}
return false;
}
示例2: Add
/** \brief Adds a ProgramInfo to the cache.
* \note This must only be called from the UI thread.
*/
void ProgramInfoCache::Add(const ProgramInfo &pginfo)
{
if (!pginfo.GetChanID() || Update(pginfo))
return;
PICKey key(pginfo.GetChanID(),pginfo.GetRecordingStartTime());
m_cache[key] = new ProgramInfo(pginfo);
}
示例3: extractDetailsFromFilename
ProgramInfo *getProgramInfoForFile(const QString &inFile)
{
ProgramInfo *pinfo = NULL;
QString chanID, startTime;
bool bIsMythRecording = false;
bIsMythRecording = extractDetailsFromFilename(inFile, chanID, startTime);
if (bIsMythRecording)
{
uint chanid = chanID.toUInt();
QDateTime recstartts = MythDate::fromString(startTime);
pinfo = new ProgramInfo(chanid, recstartts);
if (pinfo->GetChanID())
{
pinfo->SetPathname(pinfo->GetPlaybackURL(false, true));
}
else
{
delete pinfo;
pinfo = NULL;
}
}
if (!pinfo)
{
// file is not a myth recording or is no longer in the db
pinfo = new ProgramInfo(inFile);
LOG(VB_JOBQUEUE, LOG_NOTICE, "File is not a MythTV recording.");
}
else
LOG(VB_JOBQUEUE, LOG_NOTICE, "File is a MythTV recording.");
return pinfo;
}
示例4: clone
/// \brief Copies important fields from ProgramInfo
void RecordingInfo::clone(const ProgramInfo &other,
bool ignore_non_serialized_data)
{
bool is_same =
(chanid && recstartts.isValid() && startts.isValid() &&
chanid == other.GetChanID() &&
recstartts == other.GetRecordingStartTime() &&
startts == other.GetScheduledStartTime());
ProgramInfo::clone(other, ignore_non_serialized_data);
if (!is_same)
{
delete record;
record = NULL;
}
oldrecstatus = rsUnknown;
savedrecstatus = rsUnknown;
future = false;
schedorder = 0;
mplexid = 0;
desiredrecstartts = QDateTime();
desiredrecendts = QDateTime();
}
示例5: SetProgram
void LiveTVChain::SetProgram(const ProgramInfo &pginfo)
{
QMutexLocker lock(&m_lock);
m_cur_chanid = pginfo.GetChanID();
m_cur_startts = pginfo.GetRecordingStartTime();
m_curpos = ProgramIsAt(pginfo);
m_switchid = -1;
}
示例6: ShowGuide
/**
* \brief Show the program guide
*/
void ScheduleCommon::ShowGuide(void) const
{
ProgramInfo *pginfo = GetCurrentProgram();
if (!pginfo)
return;
QString startchannel = pginfo->GetChanNum();
uint startchanid = pginfo->GetChanID();
QDateTime starttime = pginfo->GetScheduledStartTime();
GuideGrid::RunProgramGuide(startchanid, startchannel, starttime);
}
示例7: ShowUpcoming
/**
* \brief Show the upcoming recordings for this title
*/
void ScheduleCommon::ShowUpcoming(void) const
{
ProgramInfo *pginfo = GetCurrentProgram();
if (!pginfo)
return;
if (pginfo->GetChanID() == 0 &&
pginfo->GetRecordingRuleID() > 0)
return ShowUpcomingScheduled();
ShowUpcoming(pginfo->GetTitle(), pginfo->GetSeriesID());
}
示例8: Update
/** \brief Updates a ProgramInfo in the cache.
* \note This must only be called from the UI thread.
* \return True iff the ProgramInfo was in the cache and was updated.
*/
bool ProgramInfoCache::Update(const ProgramInfo &pginfo)
{
QMutexLocker locker(&m_lock);
Cache::iterator it = m_cache.find(
PICKey(pginfo.GetChanID(),pginfo.GetRecordingStartTime()));
if (it != m_cache.end())
it->second->clone(pginfo, true);
return it != m_cache.end();
}
示例9: GetRecording
QFileInfo Content::GetRecording( int nRecordedId,
int nChanId,
const QDateTime &recstarttsRaw )
{
if ((nRecordedId <= 0) &&
(nChanId <= 0 || !recstarttsRaw.isValid()))
throw QString("Recorded ID or Channel ID and StartTime appears invalid.");
// ------------------------------------------------------------------
// Read Recording From Database
// ------------------------------------------------------------------
// TODO Should use RecordingInfo
ProgramInfo pginfo;
if (nRecordedId > 0)
pginfo = ProgramInfo(nRecordedId);
else
pginfo = ProgramInfo(nChanId, recstarttsRaw.toUTC());
if (!pginfo.GetChanID())
{
LOG(VB_UPNP, LOG_ERR, QString("GetRecording - for '%1' failed")
.arg(nRecordedId));
return QFileInfo();
}
if (pginfo.GetHostname().toLower() != gCoreContext->GetHostName().toLower())
{
// We only handle requests for local resources
QString sMsg =
QString("GetRecording: Wrong Host '%1' request from '%2'.")
.arg( gCoreContext->GetHostName())
.arg( pginfo.GetHostname() );
LOG(VB_UPNP, LOG_ERR, sMsg);
throw HttpRedirectException( pginfo.GetHostname() );
}
QString sFileName( GetPlaybackURL(&pginfo) );
// ----------------------------------------------------------------------
// check to see if the file exists
// ----------------------------------------------------------------------
if (QFile::exists( sFileName ))
return QFileInfo( sFileName );
return QFileInfo();
}
示例10: strlist
ProgramInfo *RemoteEncoder::GetRecording(void)
{
QStringList strlist( QString("QUERY_RECORDER %1").arg(recordernum) );
strlist << "GET_RECORDING";
if (SendReceiveStringList(strlist))
{
ProgramInfo *proginfo = new ProgramInfo(strlist);
if (proginfo->GetChanID())
return proginfo;
delete proginfo;
}
return NULL;
}
示例11: ShowChannelSearch
/**
* \brief Show the channel search
*/
void ScheduleCommon::ShowChannelSearch() const
{
ProgramInfo *pginfo = GetCurrentProgram();
if (!pginfo)
return;
MythScreenStack *mainStack = GetMythMainWindow()->GetMainStack();
ProgLister *pl = new ProgLister(mainStack, plChannel,
QString::number(pginfo->GetChanID()), "",
pginfo->GetScheduledStartTime());
if (pl->Create())
mainStack->AddScreen(pl);
else
delete pl;
}
示例12: ProgramInfo
ProgramInfo *LiveTVChain::EntryToProgram(const LiveTVChainEntry &entry)
{
ProgramInfo *pginfo = new ProgramInfo(entry.chanid, entry.starttime);
if (pginfo->GetChanID())
{
pginfo->SetPathname(entry.hostprefix + pginfo->GetBasename());
return pginfo;
}
LOG(VB_GENERAL, LOG_ERR,
QString("EntryToProgram(%[email protected]%2) failed to get pginfo")
.arg(entry.chanid).arg(entry.starttime.toString()));
delete pginfo;
return NULL;
}
示例13: strlist
/** \brief Returns the ProgramInfo being used by any current recording.
*
* Caller is responsible for deleting the ProgramInfo when done with it.
*/
ProgramInfo *PlaybackSock::GetRecording(uint cardid)
{
QStringList strlist(QString("QUERY_REMOTEENCODER %1").arg(cardid));
strlist << "GET_CURRENT_RECORDING";
if (!SendReceiveStringList(strlist))
return NULL;
ProgramInfo *pginfo = new ProgramInfo(strlist);
if (!pginfo->HasPathname() && !pginfo->GetChanID())
{
delete pginfo;
pginfo = NULL;
}
return pginfo;
}
示例14: DeleteOldEpisode
void ProgLister::DeleteOldEpisode(bool ok)
{
ProgramInfo *pi = GetCurrent();
if (!ok || !pi)
return;
MSqlQuery query(MSqlQuery::InitCon());
query.prepare(
"DELETE FROM oldrecorded "
"WHERE chanid = :CHANID AND "
" starttime = :STARTTIME");
query.bindValue(":CHANID", pi->GetChanID());
query.bindValue(":STARTTIME", pi->GetScheduledStartTime());
if (!query.exec())
MythDB::DBError("ProgLister::DeleteOldEpisode", query);
ScheduledRecording::signalChange(0);
FillItemList(true);
}
示例15: UpdateRecordedWatchedStatus
bool Dvr::UpdateRecordedWatchedStatus ( int RecordedId,
int chanid,
const QDateTime &recstarttsRaw,
bool watched)
{
if ((RecordedId <= 0) &&
(chanid <= 0 || !recstarttsRaw.isValid()))
throw QString("Recorded ID or Channel ID and StartTime appears invalid.");
// TODO Should use RecordingInfo
ProgramInfo pi;
if (RecordedId > 0)
pi = ProgramInfo(RecordedId);
else
pi = ProgramInfo(chanid, recstarttsRaw.toUTC());
if (pi.GetChanID() && pi.HasPathname())
{
pi.SaveWatched(watched);
return true;
}
return false;
}