AssetCache::AssetCache(AssetAPI *owner, QString assetCacheDirectory) : QNetworkDiskCache(owner), assetAPI(owner), cacheDirectory(GuaranteeTrailingSlash(assetCacheDirectory)) { LogInfo("Using AssetCache in directory '" + assetCacheDirectory.toStdString() + "'"); // Check that the main directory exists QDir assetDir(cacheDirectory); if (!assetDir.exists()) { QString dirName = cacheDirectory.split("/", QString::SkipEmptyParts).last(); QString parentPath = cacheDirectory; parentPath.chop(dirName.length()+1); QDir parentDir(parentPath); parentDir.mkdir(dirName); } // Check that the needed subfolders exist if (!assetDir.exists("data")) assetDir.mkdir("data"); assetDataDir = QDir(cacheDirectory + "data"); if (!assetDir.exists("metadata")) assetDir.mkdir("metadata"); assetMetaDataDir = QDir(cacheDirectory + "metadata"); // Set for QNetworkDiskCache setCacheDirectory(cacheDirectory); }
AssetCache::AssetCache(AssetAPI *owner, QString assetCacheDirectory) : assetAPI(owner), cacheDirectory(GuaranteeTrailingSlash(QDir::fromNativeSeparators(assetCacheDirectory))) { LogInfo("* Asset cache directory : " + QDir::toNativeSeparators(cacheDirectory)); // Check that the main directory exists QDir assetDir(cacheDirectory); if (!assetDir.exists()) { QString dirName = cacheDirectory.split("/", QString::SkipEmptyParts).last(); QString parentPath = cacheDirectory; parentPath.chop(dirName.length()+1); QDir parentDir(parentPath); parentDir.mkdir(dirName); } // Check that the needed subfolders exist if (!assetDir.exists("data")) assetDir.mkdir("data"); assetDataDir = QDir(cacheDirectory + "data"); // Check --clearAssetCache start param if (owner->GetFramework()->HasCommandLineParameter("--clearAssetCache") || owner->GetFramework()->HasCommandLineParameter("--clear-asset-cache")) /**< @todo Remove support for the deprecated parameter version at some point. */ { LogInfo("AssetCache: Removing all data and metadata files from cache, found 'clearAssetCache' from the startup params!"); ClearAssetCache(); } }
void reProjectAssets::EnsureAssetDir(const wxString& dirName) { wxFileName assetDir(m_assetsDir); assetDir.AppendDir(dirName); if (!assetDir.Exists()) { wxMkDir(assetDir.GetPath(), wxS_DIR_DEFAULT); } }
bool AssetsAssetReader::GetFileListing(const char *path, std::vector<FileInfo> *listing, const char *filter = 0) { QDir assetDir(QString(":/assets/") + path); QStringList filters = QString(filter).split(':', QString::SkipEmptyParts); for (int i = 0; i < filters.count(); i++) filters[i].prepend("*."); QFileInfoList infoList = assetDir.entryInfoList(filters, QDir::AllDirs | QDir::NoDotAndDotDot | QDir::Files, QDir::Name); foreach(QFileInfo qinfo, infoList) { FileInfo info; info.name = qinfo.fileName().toStdString(); info.fullName = qinfo.absoluteFilePath().remove(":/assets/").toStdString(); info.exists = true; info.isWritable = false; info.isDirectory = qinfo.isDir(); listing->push_back(info); }