mirror of
https://github.com/overte-org/overte.git
synced 2025-04-21 09:24:00 +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");
|
||||
}
|
||||
|
||||
AssetRequest* AssetClient::createRequest(QString hash, QString extension) {
|
||||
AssetRequest* AssetClient::createRequest(const QString& hash, const QString& extension) {
|
||||
if (QThread::currentThread() != thread()) {
|
||||
AssetRequest* req;
|
||||
QMetaObject::invokeMethod(this, "createRequest",
|
||||
|
@ -56,7 +56,7 @@ AssetRequest* AssetClient::createRequest(QString hash, QString extension) {
|
|||
return nullptr;
|
||||
}
|
||||
|
||||
AssetUpload* AssetClient::createUpload(QString filename) {
|
||||
AssetUpload* AssetClient::createUpload(const QString& filename) {
|
||||
if (QThread::currentThread() != thread()) {
|
||||
AssetUpload* upload;
|
||||
QMetaObject::invokeMethod(this, "createUpload",
|
||||
|
@ -76,7 +76,8 @@ AssetUpload* AssetClient::createUpload(QString filename) {
|
|||
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) {
|
||||
qDebug() << "Invalid hash size";
|
||||
return false;
|
||||
|
@ -112,7 +113,7 @@ bool AssetClient::getAsset(QString hash, QString extension, DataOffset start, Da
|
|||
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>();
|
||||
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>();
|
||||
SharedNodePointer assetServer = nodeList->soloNodeOfType(NodeType::AssetServer);
|
||||
|
||||
|
|
|
@ -29,17 +29,17 @@ struct AssetInfo {
|
|||
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 UploadResultCallback = std::function<void(bool result, QString hash)>;
|
||||
using UploadResultCallback = std::function<void(bool result, const QString& hash)>;
|
||||
|
||||
class AssetClient : public QObject, public Dependency {
|
||||
Q_OBJECT
|
||||
public:
|
||||
AssetClient();
|
||||
|
||||
Q_INVOKABLE AssetRequest* createRequest(QString hash, QString extension);
|
||||
Q_INVOKABLE AssetUpload* createUpload(QString filename);
|
||||
Q_INVOKABLE AssetRequest* createRequest(const QString& hash, const QString& extension);
|
||||
Q_INVOKABLE AssetUpload* createUpload(const QString& filename);
|
||||
|
||||
private slots:
|
||||
void handleAssetGetInfoReply(QSharedPointer<NLPacket> packet, SharedNodePointer senderNode);
|
||||
|
@ -47,9 +47,9 @@ private slots:
|
|||
void handleAssetUploadReply(QSharedPointer<NLPacket> packet, SharedNodePointer senderNode);
|
||||
|
||||
private:
|
||||
bool getAssetInfo(QString hash, QString extension, GetInfoCallback callback);
|
||||
bool getAsset(QString hash, QString extension, DataOffset start, DataOffset end, ReceivedAssetCallback callback);
|
||||
bool uploadAsset(QByteArray data, QString extension, UploadResultCallback callback);
|
||||
bool getAssetInfo(const QString& hash, const QString& extension, GetInfoCallback callback);
|
||||
bool getAsset(const QString& hash, const QString& extension, DataOffset start, DataOffset end, ReceivedAssetCallback callback);
|
||||
bool uploadAsset(const QByteArray& data, const QString& extension, UploadResultCallback callback);
|
||||
|
||||
static MessageID _currentID;
|
||||
QHash<MessageID, ReceivedAssetCallback> _pendingRequests;
|
||||
|
|
|
@ -19,11 +19,12 @@
|
|||
#include "NodeList.h"
|
||||
|
||||
|
||||
AssetRequest::AssetRequest(QObject* parent, QString hash, QString extension) :
|
||||
AssetRequest::AssetRequest(QObject* parent, const QString& hash, const QString& extension) :
|
||||
QObject(parent),
|
||||
_hash(hash),
|
||||
_extension(extension)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void AssetRequest::start() {
|
||||
|
@ -51,7 +52,7 @@ void AssetRequest::start() {
|
|||
auto start = i * CHUNK_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));
|
||||
|
||||
if (success) {
|
||||
|
|
|
@ -37,7 +37,7 @@ public:
|
|||
Error,
|
||||
};
|
||||
|
||||
AssetRequest(QObject* parent, QString hash, QString extension);
|
||||
AssetRequest(QObject* parent, const QString& hash, const QString& extension);
|
||||
|
||||
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
|
||||
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) {
|
||||
// successful upload - emit finished with a point to ourselves and the resulting hash
|
||||
_result = Success;
|
||||
|
|
Loading…
Reference in a new issue