mirror of
https://github.com/overte-org/overte.git
synced 2025-08-08 05:17:24 +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 "NetworkAccessManager.h"
|
||||||
#include "NetworkLogging.h"
|
#include "NetworkLogging.h"
|
||||||
|
|
||||||
ResourceManager::ResourceManager() {
|
ResourceManager::ResourceManager(bool atpSupportEnabled) : _atpSupportEnabled(atpSupportEnabled) {
|
||||||
_thread.setObjectName("Resource Manager Thread");
|
_thread.setObjectName("Resource Manager Thread");
|
||||||
|
|
||||||
auto assetClient = DependencyManager::set<AssetClient>();
|
if (_atpSupportEnabled) {
|
||||||
assetClient->moveToThread(&_thread);
|
auto assetClient = DependencyManager::set<AssetClient>();
|
||||||
QObject::connect(&_thread, &QThread::started, assetClient.data(), &AssetClient::initCaching);
|
assetClient->moveToThread(&_thread);
|
||||||
|
QObject::connect(&_thread, &QThread::started, assetClient.data(), &AssetClient::initCaching);
|
||||||
|
}
|
||||||
|
|
||||||
_thread.start();
|
_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) {
|
} else if (scheme == URL_SCHEME_HTTP || scheme == URL_SCHEME_HTTPS || scheme == URL_SCHEME_FTP) {
|
||||||
request = new HTTPResourceRequest(normalizedURL);
|
request = new HTTPResourceRequest(normalizedURL);
|
||||||
} else if (scheme == URL_SCHEME_ATP) {
|
} 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);
|
request = new AssetResourceRequest(normalizedURL);
|
||||||
} else {
|
} else {
|
||||||
qCDebug(networking) << "Unknown scheme (" << scheme << ") for URL: " << url.url();
|
qCDebug(networking) << "Unknown scheme (" << scheme << ") for URL: " << url.url();
|
||||||
|
@ -146,7 +152,7 @@ bool ResourceManager::resourceExists(const QUrl& url) {
|
||||||
reply->deleteLater();
|
reply->deleteLater();
|
||||||
|
|
||||||
return reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt() == 200;
|
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);
|
auto request = new AssetResourceRequest(url);
|
||||||
ByteRange range;
|
ByteRange range;
|
||||||
range.fromInclusive = 1;
|
range.fromInclusive = 1;
|
||||||
|
|
|
@ -34,7 +34,7 @@ class ResourceManager: public QObject, public Dependency {
|
||||||
SINGLETON_DEPENDENCY
|
SINGLETON_DEPENDENCY
|
||||||
|
|
||||||
public:
|
public:
|
||||||
ResourceManager();
|
ResourceManager(bool atpSupportEnabled = true);
|
||||||
|
|
||||||
void setUrlPrefixOverride(const QString& prefix, const QString& replacement);
|
void setUrlPrefixOverride(const QString& prefix, const QString& replacement);
|
||||||
QString normalizeURL(const QString& urlString);
|
QString normalizeURL(const QString& urlString);
|
||||||
|
@ -57,6 +57,7 @@ private:
|
||||||
|
|
||||||
using PrefixMap = std::map<QString, QString>;
|
using PrefixMap = std::map<QString, QString>;
|
||||||
|
|
||||||
|
bool _atpSupportEnabled;
|
||||||
PrefixMap _prefixMap;
|
PrefixMap _prefixMap;
|
||||||
QMutex _prefixMapLock;
|
QMutex _prefixMapLock;
|
||||||
|
|
||||||
|
|
|
@ -54,6 +54,10 @@ Oven::Oven(int argc, char* argv[]) :
|
||||||
// setup our worker threads
|
// setup our worker threads
|
||||||
setupWorkerThreads(QThread::idealThreadCount());
|
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
|
// 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)) {
|
||||||
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