本文整理汇总了C++中ProgramInfo::ToStringList方法的典型用法代码示例。如果您正苦于以下问题:C++ ProgramInfo::ToStringList方法的具体用法?C++ ProgramInfo::ToStringList怎么用?C++ ProgramInfo::ToStringList使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ProgramInfo
的用法示例。
在下文中一共展示了ProgramInfo::ToStringList方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetPreviewImage
void PreviewGeneratorQueue::GetPreviewImage(
const ProgramInfo &pginfo,
const QSize &outputsize,
const QString &outputfile,
long long time, bool in_seconds,
QString token)
{
if (!s_pgq)
return;
if (pginfo.GetPathname().isEmpty() ||
pginfo.GetBasename() == pginfo.GetPathname())
{
return;
}
QStringList extra;
pginfo.ToStringList(extra);
extra += token;
extra += QString::number(outputsize.width());
extra += QString::number(outputsize.height());
extra += outputfile;
extra += QString::number(time);
extra += (in_seconds ? "1" : "0");
MythEvent *e = new MythEvent("GET_PREVIEW", extra);
QCoreApplication::postEvent(s_pgq, e);
}
示例2: RemoteFillProgramInfo
bool RemoteFillProgramInfo(ProgramInfo &pginfo, const QString &playbackhost)
{
QStringList strlist( "FILL_PROGRAM_INFO" );
strlist << playbackhost;
pginfo.ToStringList(strlist);
if (gCoreContext->SendReceiveStringList(strlist))
{
ProgramInfo tmp(strlist);
if (tmp.HasPathname() || tmp.GetChanID())
{
pginfo = tmp;
return true;
}
}
return false;
}
示例3: FillProgramInfo
bool PlaybackSock::FillProgramInfo(ProgramInfo &pginfo,
const QString &playbackhost)
{
QStringList strlist( QString("FILL_PROGRAM_INFO") );
strlist << playbackhost;
pginfo.ToStringList(strlist);
if (SendReceiveStringList(strlist))
{
ProgramInfo tmp(strlist);
if (tmp.HasPathname() || tmp.GetChanID())
{
pginfo.clone(tmp, true);
return true;
}
}
return false;
}
示例4: RemoteGetPreviewIfModified
/// Download preview & get timestamp if newer than cachefile's
/// last modified time, otherwise just get the timestamp
QDateTime RemoteGetPreviewIfModified(
const ProgramInfo &pginfo, const QString &cachefile)
{
QString loc("RemoteGetPreviewIfModified: ");
QDateTime cacheLastModified;
QFileInfo cachefileinfo(cachefile);
if (cachefileinfo.exists())
cacheLastModified = cachefileinfo.lastModified();
QStringList strlist("QUERY_PIXMAP_GET_IF_MODIFIED");
strlist << ((cacheLastModified.isValid()) ? // unix secs, UTC
QString::number(cacheLastModified.toTime_t()) : QString("-1"));
strlist << QString::number(200 * 1024); // max size of preview file
pginfo.ToStringList(strlist);
if (!gCoreContext->SendReceiveStringList(strlist) ||
strlist.isEmpty() || strlist[0] == "ERROR")
{
LOG(VB_GENERAL, LOG_ERR, loc + "Remote error" +
((strlist.size() >= 2) ? (":\n\t\t\t" + strlist[1]) : ""));
return QDateTime();
}
if (strlist[0] == "WARNING")
{
LOG(VB_NETWORK, LOG_WARNING, loc + "Remote warning" +
((strlist.size() >= 2) ? (":\n\t\t\t" + strlist[1]) : ""));
return QDateTime();
}
QDateTime retdatetime;
qlonglong timet = strlist[0].toLongLong();
if (timet >= 0)
retdatetime = MythDate::fromTime_t(timet);
if (strlist.size() < 4)
{
return retdatetime;
}
size_t length = strlist[1].toULongLong();
quint16 checksum16 = strlist[2].toUInt();
QByteArray data = QByteArray::fromBase64(strlist[3].toLatin1());
if ((size_t) data.size() < length)
{ // (note data.size() may be up to 3 bytes longer after decoding
LOG(VB_GENERAL, LOG_ERR, loc +
QString("Preview size check failed %1 < %2")
.arg(data.size()).arg(length));
return QDateTime();
}
data.resize(length);
if (checksum16 != qChecksum(data.constData(), data.size()))
{
LOG(VB_GENERAL, LOG_ERR, loc + "Preview checksum failed");
return QDateTime();
}
QString pdir(cachefile.section("/", 0, -2));
QDir cfd(pdir);
if (!cfd.exists() && !cfd.mkdir(pdir))
{
LOG(VB_GENERAL, LOG_ERR, loc +
QString("Unable to create remote cache directory '%1'")
.arg(pdir));
return QDateTime();
}
QFile file(cachefile);
if (!file.open(QIODevice::WriteOnly|QIODevice::Truncate))
{
LOG(VB_GENERAL, LOG_ERR, loc +
QString("Unable to open cached preview file for writing '%1'")
.arg(cachefile));
return QDateTime();
}
off_t offset = 0;
size_t remaining = length;
uint failure_cnt = 0;
while ((remaining > 0) && (failure_cnt < 5))
{
ssize_t written = file.write(data.data() + offset, remaining);
if (written < 0)
{
failure_cnt++;
usleep(50000);
continue;
}
failure_cnt = 0;
offset += written;
remaining -= written;
}
//.........这里部分代码省略.........