3
0
Fork 0
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:
Ryan Huffman 2018-03-07 16:31:41 -08:00
parent 975f0bfbd2
commit 004e15d2d9
3 changed files with 17 additions and 6 deletions
libraries/networking/src
tools/oven/src

View file

@ -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;

View file

@ -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;

View file

@ -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)) {