Esempio n. 1
0
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);
}
Esempio n. 2
0
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();
    }
}
Esempio n. 3
0
void reProjectAssets::EnsureAssetDir(const wxString& dirName) {
	wxFileName assetDir(m_assetsDir);
	assetDir.AppendDir(dirName);

	if (!assetDir.Exists()) {
		wxMkDir(assetDir.GetPath(), wxS_DIR_DEFAULT);
	}
}
Esempio n. 4
0
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);
	}