mirror of
https://github.com/lubosz/overte.git
synced 2025-04-26 09:35:31 +02:00
Update ATP to be optional in ResourceManager for OBJBaker
This commit is contained in:
parent
975f0bfbd2
commit
004e15d2d9
3 changed files with 17 additions and 6 deletions
|
@ -26,12 +26,14 @@
|
|||
#include "NetworkAccessManager.h"
|
||||
#include "NetworkLogging.h"
|
||||
|
||||
ResourceManager::ResourceManager() {
|
||||
ResourceManager::ResourceManager(bool atpSupportEnabled) : _atpSupportEnabled(atpSupportEnabled) {
|
||||
_thread.setObjectName("Resource Manager Thread");
|
||||
|
||||
auto assetClient = DependencyManager::set<AssetClient>();
|
||||
assetClient->moveToThread(&_thread);
|
||||
QObject::connect(&_thread, &QThread::started, assetClient.data(), &AssetClient::initCaching);
|
||||
if (_atpSupportEnabled) {
|
||||
auto assetClient = DependencyManager::set<AssetClient>();
|
||||
assetClient->moveToThread(&_thread);
|
||||
QObject::connect(&_thread, &QThread::started, assetClient.data(), &AssetClient::initCaching);
|
||||
}
|
||||
|
||||
_thread.start();
|
||||
}
|
||||
|
@ -111,6 +113,10 @@ ResourceRequest* ResourceManager::createResourceRequest(QObject* parent, const Q
|
|||
} else if (scheme == URL_SCHEME_HTTP || scheme == URL_SCHEME_HTTPS || scheme == URL_SCHEME_FTP) {
|
||||
request = new HTTPResourceRequest(normalizedURL);
|
||||
} else if (scheme == URL_SCHEME_ATP) {
|
||||
if (!_atpSupportEnabled) {
|
||||
qCDebug(networking) << "ATP support not enabled, unable to create request for URL: " << url.url();
|
||||
return nullptr;
|
||||
}
|
||||
request = new AssetResourceRequest(normalizedURL);
|
||||
} else {
|
||||
qCDebug(networking) << "Unknown scheme (" << scheme << ") for URL: " << url.url();
|
||||
|
@ -146,7 +152,7 @@ bool ResourceManager::resourceExists(const QUrl& url) {
|
|||
reply->deleteLater();
|
||||
|
||||
return reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt() == 200;
|
||||
} else if (scheme == URL_SCHEME_ATP) {
|
||||
} else if (scheme == URL_SCHEME_ATP && _atpSupportEnabled) {
|
||||
auto request = new AssetResourceRequest(url);
|
||||
ByteRange range;
|
||||
range.fromInclusive = 1;
|
||||
|
|
|
@ -34,7 +34,7 @@ class ResourceManager: public QObject, public Dependency {
|
|||
SINGLETON_DEPENDENCY
|
||||
|
||||
public:
|
||||
ResourceManager();
|
||||
ResourceManager(bool atpSupportEnabled = true);
|
||||
|
||||
void setUrlPrefixOverride(const QString& prefix, const QString& replacement);
|
||||
QString normalizeURL(const QString& urlString);
|
||||
|
@ -57,6 +57,7 @@ private:
|
|||
|
||||
using PrefixMap = std::map<QString, QString>;
|
||||
|
||||
bool _atpSupportEnabled;
|
||||
PrefixMap _prefixMap;
|
||||
QMutex _prefixMapLock;
|
||||
|
||||
|
|
|
@ -54,6 +54,10 @@ Oven::Oven(int argc, char* argv[]) :
|
|||
// setup our worker threads
|
||||
setupWorkerThreads(QThread::idealThreadCount());
|
||||
|
||||
// Initialize dependencies for OBJ Baker
|
||||
DependencyManager::set<StatTracker>();
|
||||
DependencyManager::set<ResourceManager>(false);
|
||||
|
||||
// check if we were passed any command line arguments that would tell us just to run without the GUI
|
||||
if (parser.isSet(CLI_INPUT_PARAMETER) || parser.isSet(CLI_OUTPUT_PARAMETER)) {
|
||||
if (parser.isSet(CLI_INPUT_PARAMETER) && parser.isSet(CLI_OUTPUT_PARAMETER)) {
|
||||
|
|
Loading…
Reference in a new issue