mirror of
https://github.com/overte-org/overte.git
synced 2025-08-09 10:07:58 +02:00
use const ref where appropriate for asset classes
This commit is contained in:
parent
111abac0f1
commit
98888a36a3
5 changed files with 18 additions and 16 deletions
|
@ -30,7 +30,7 @@ AssetClient::AssetClient() {
|
||||||
packetReceiver.registerListener(PacketType::AssetUploadReply, this, "handleAssetUploadReply");
|
packetReceiver.registerListener(PacketType::AssetUploadReply, this, "handleAssetUploadReply");
|
||||||
}
|
}
|
||||||
|
|
||||||
AssetRequest* AssetClient::createRequest(QString hash, QString extension) {
|
AssetRequest* AssetClient::createRequest(const QString& hash, const QString& extension) {
|
||||||
if (QThread::currentThread() != thread()) {
|
if (QThread::currentThread() != thread()) {
|
||||||
AssetRequest* req;
|
AssetRequest* req;
|
||||||
QMetaObject::invokeMethod(this, "createRequest",
|
QMetaObject::invokeMethod(this, "createRequest",
|
||||||
|
@ -56,7 +56,7 @@ AssetRequest* AssetClient::createRequest(QString hash, QString extension) {
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
AssetUpload* AssetClient::createUpload(QString filename) {
|
AssetUpload* AssetClient::createUpload(const QString& filename) {
|
||||||
if (QThread::currentThread() != thread()) {
|
if (QThread::currentThread() != thread()) {
|
||||||
AssetUpload* upload;
|
AssetUpload* upload;
|
||||||
QMetaObject::invokeMethod(this, "createUpload",
|
QMetaObject::invokeMethod(this, "createUpload",
|
||||||
|
@ -76,7 +76,8 @@ AssetUpload* AssetClient::createUpload(QString filename) {
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool AssetClient::getAsset(QString hash, QString extension, DataOffset start, DataOffset end, ReceivedAssetCallback callback) {
|
bool AssetClient::getAsset(const QString& hash, const QString& extension, DataOffset start, DataOffset end,
|
||||||
|
ReceivedAssetCallback callback) {
|
||||||
if (hash.length() != SHA256_HASH_HEX_LENGTH) {
|
if (hash.length() != SHA256_HASH_HEX_LENGTH) {
|
||||||
qDebug() << "Invalid hash size";
|
qDebug() << "Invalid hash size";
|
||||||
return false;
|
return false;
|
||||||
|
@ -112,7 +113,7 @@ bool AssetClient::getAsset(QString hash, QString extension, DataOffset start, Da
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool AssetClient::getAssetInfo(QString hash, QString extension, GetInfoCallback callback) {
|
bool AssetClient::getAssetInfo(const QString& hash, const QString& extension, GetInfoCallback callback) {
|
||||||
auto nodeList = DependencyManager::get<NodeList>();
|
auto nodeList = DependencyManager::get<NodeList>();
|
||||||
SharedNodePointer assetServer = nodeList->soloNodeOfType(NodeType::AssetServer);
|
SharedNodePointer assetServer = nodeList->soloNodeOfType(NodeType::AssetServer);
|
||||||
|
|
||||||
|
@ -184,7 +185,7 @@ void AssetClient::handleAssetGetReply(QSharedPointer<NLPacketList> packetList, S
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool AssetClient::uploadAsset(QByteArray data, QString extension, UploadResultCallback callback) {
|
bool AssetClient::uploadAsset(const QByteArray& data, const QString& extension, UploadResultCallback callback) {
|
||||||
auto nodeList = DependencyManager::get<NodeList>();
|
auto nodeList = DependencyManager::get<NodeList>();
|
||||||
SharedNodePointer assetServer = nodeList->soloNodeOfType(NodeType::AssetServer);
|
SharedNodePointer assetServer = nodeList->soloNodeOfType(NodeType::AssetServer);
|
||||||
|
|
||||||
|
|
|
@ -29,17 +29,17 @@ struct AssetInfo {
|
||||||
int64_t size;
|
int64_t size;
|
||||||
};
|
};
|
||||||
|
|
||||||
using ReceivedAssetCallback = std::function<void(bool result, QByteArray data)>;
|
using ReceivedAssetCallback = std::function<void(bool result, const QByteArray& data)>;
|
||||||
using GetInfoCallback = std::function<void(bool result, AssetInfo info)>;
|
using GetInfoCallback = std::function<void(bool result, AssetInfo info)>;
|
||||||
using UploadResultCallback = std::function<void(bool result, QString hash)>;
|
using UploadResultCallback = std::function<void(bool result, const QString& hash)>;
|
||||||
|
|
||||||
class AssetClient : public QObject, public Dependency {
|
class AssetClient : public QObject, public Dependency {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
AssetClient();
|
AssetClient();
|
||||||
|
|
||||||
Q_INVOKABLE AssetRequest* createRequest(QString hash, QString extension);
|
Q_INVOKABLE AssetRequest* createRequest(const QString& hash, const QString& extension);
|
||||||
Q_INVOKABLE AssetUpload* createUpload(QString filename);
|
Q_INVOKABLE AssetUpload* createUpload(const QString& filename);
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void handleAssetGetInfoReply(QSharedPointer<NLPacket> packet, SharedNodePointer senderNode);
|
void handleAssetGetInfoReply(QSharedPointer<NLPacket> packet, SharedNodePointer senderNode);
|
||||||
|
@ -47,9 +47,9 @@ private slots:
|
||||||
void handleAssetUploadReply(QSharedPointer<NLPacket> packet, SharedNodePointer senderNode);
|
void handleAssetUploadReply(QSharedPointer<NLPacket> packet, SharedNodePointer senderNode);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool getAssetInfo(QString hash, QString extension, GetInfoCallback callback);
|
bool getAssetInfo(const QString& hash, const QString& extension, GetInfoCallback callback);
|
||||||
bool getAsset(QString hash, QString extension, DataOffset start, DataOffset end, ReceivedAssetCallback callback);
|
bool getAsset(const QString& hash, const QString& extension, DataOffset start, DataOffset end, ReceivedAssetCallback callback);
|
||||||
bool uploadAsset(QByteArray data, QString extension, UploadResultCallback callback);
|
bool uploadAsset(const QByteArray& data, const QString& extension, UploadResultCallback callback);
|
||||||
|
|
||||||
static MessageID _currentID;
|
static MessageID _currentID;
|
||||||
QHash<MessageID, ReceivedAssetCallback> _pendingRequests;
|
QHash<MessageID, ReceivedAssetCallback> _pendingRequests;
|
||||||
|
|
|
@ -19,11 +19,12 @@
|
||||||
#include "NodeList.h"
|
#include "NodeList.h"
|
||||||
|
|
||||||
|
|
||||||
AssetRequest::AssetRequest(QObject* parent, QString hash, QString extension) :
|
AssetRequest::AssetRequest(QObject* parent, const QString& hash, const QString& extension) :
|
||||||
QObject(parent),
|
QObject(parent),
|
||||||
_hash(hash),
|
_hash(hash),
|
||||||
_extension(extension)
|
_extension(extension)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void AssetRequest::start() {
|
void AssetRequest::start() {
|
||||||
|
@ -51,7 +52,7 @@ void AssetRequest::start() {
|
||||||
auto start = i * CHUNK_SIZE;
|
auto start = i * CHUNK_SIZE;
|
||||||
auto end = std::min((i + 1) * CHUNK_SIZE, info.size);
|
auto end = std::min((i + 1) * CHUNK_SIZE, info.size);
|
||||||
|
|
||||||
assetClient->getAsset(_hash, _extension, start, end, [this, start, end](bool success, QByteArray data) {
|
assetClient->getAsset(_hash, _extension, start, end, [this, start, end](bool success, const QByteArray& data) {
|
||||||
Q_ASSERT(data.size() == (end - start));
|
Q_ASSERT(data.size() == (end - start));
|
||||||
|
|
||||||
if (success) {
|
if (success) {
|
||||||
|
|
|
@ -37,7 +37,7 @@ public:
|
||||||
Error,
|
Error,
|
||||||
};
|
};
|
||||||
|
|
||||||
AssetRequest(QObject* parent, QString hash, QString extension);
|
AssetRequest(QObject* parent, const QString& hash, const QString& extension);
|
||||||
|
|
||||||
Q_INVOKABLE void start();
|
Q_INVOKABLE void start();
|
||||||
|
|
||||||
|
|
|
@ -41,7 +41,7 @@ void AssetUpload::start() {
|
||||||
// ask the AssetClient to upload the asset and emit the proper signals from the passed callback
|
// ask the AssetClient to upload the asset and emit the proper signals from the passed callback
|
||||||
auto assetClient = DependencyManager::get<AssetClient>();
|
auto assetClient = DependencyManager::get<AssetClient>();
|
||||||
|
|
||||||
assetClient->uploadAsset(data, _extension, [this](bool success, QString hash){
|
assetClient->uploadAsset(data, _extension, [this](bool success, const QString& hash){
|
||||||
if (success) {
|
if (success) {
|
||||||
// successful upload - emit finished with a point to ourselves and the resulting hash
|
// successful upload - emit finished with a point to ourselves and the resulting hash
|
||||||
_result = Success;
|
_result = Success;
|
||||||
|
|
Loading…
Reference in a new issue