Example #1
0
AbstractFSProvider::status_t ZIPProvider::makeDir(const FileName & url) {
	if(isDir(url)) {
		return AbstractFSProvider::OK;
	}

	std::lock_guard<std::mutex> lock(handlesMutex);
	std::string archiveFileName;
	FileName file;
	decomposeURL(url, archiveFileName, file);
	ZIPHandle * handle = getZIPHandle(archiveFileName, true);
	if (handle == nullptr) {
		return FAILURE;
	}
	return handle->makeDir(file);
}
Example #2
0
AbstractFSProvider::status_t ZIPProvider::makeDir(const FileName & url) {
	if(isDir(url)) {
		return AbstractFSProvider::OK;
	}

	auto lock = Concurrency::createLock(*handlesMutex);
	std::string archiveFileName;
	FileName file;
	decomposeURL(url, archiveFileName, file);
	ZIPHandle * handle = getZIPHandle(archiveFileName, true);
	if (handle == nullptr) {
		return FAILURE;
	}
	return handle->makeDir(file);
}