本文整理汇总了C++中QueueItemPtr::isDownloaded方法的典型用法代码示例。如果您正苦于以下问题:C++ QueueItemPtr::isDownloaded方法的具体用法?C++ QueueItemPtr::isDownloaded怎么用?C++ QueueItemPtr::isDownloaded使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QueueItemPtr
的用法示例。
在下文中一共展示了QueueItemPtr::isDownloaded方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: removeBundleItem
void BundleQueue::removeBundleItem(QueueItemPtr& aQI, bool aDownloadFinished) noexcept {
dcassert(aQI->getBundle());
aQI->getBundle()->removeQueue(aQI, aDownloadFinished);
if (!aQI->getBundle()->isFileBundle()) {
forEachPath(aQI->getBundle(), aQI->getTarget(), [&](PathInfo& aInfo) {
if (aQI->isDownloaded()) {
aInfo.finishedFiles--;
} else {
aInfo.queuedFiles--;
}
if (!aDownloadFinished) {
aInfo.size -= aQI->getSize();
}
#ifdef _DEBUG
if (aInfo.queuedFiles == 0 && aInfo.finishedFiles == 0) {
dcassert(aInfo.size == 0);
}
dcassert(aInfo.size >= 0 && aInfo.finishedFiles >= 0 && aInfo.queuedFiles >= 0);
#endif
});
}
if (aDownloadFinished || !aQI->isDownloaded()) {
queueSize -= aQI->getSize();
dcassert(queueSize >= 0);
}
}
示例2: addBundleItem
void BundleQueue::addBundleItem(QueueItemPtr& aQI, BundlePtr& aBundle) noexcept {
dcassert(!aQI->getBundle());
aBundle->addQueue(aQI);
aQI->setBundle(aBundle);
if (!aBundle->isFileBundle()) {
forEachPath(aBundle, aQI->getTarget(), [&](PathInfo& aInfo) {
if (aQI->isDownloaded()) {
aInfo.finishedFiles++;
} else {
aInfo.queuedFiles++;
}
aInfo.size += aQI->getSize();
});
}
if (!aQI->isDownloaded()) {
queueSize += aQI->getSize();
}
}