From fd3156b57c2a6df23cbe3ce2b55dd7e0724b84d8 Mon Sep 17 00:00:00 2001 From: Atlante45 Date: Thu, 10 Aug 2017 18:00:16 -0700 Subject: [PATCH] Move BakingStatus --- assignment-client/src/assets/AssetServer.cpp | 1 + assignment-client/src/assets/AutoBaker.h | 9 +------ libraries/networking/src/AssetUtils.cpp | 13 +++++++++ libraries/networking/src/AssetUtils.h | 9 +++++++ libraries/networking/src/MappingRequest.cpp | 2 ++ libraries/shared/src/shared/Algorithms.h | 28 ++++++++++++++++++++ 6 files changed, 54 insertions(+), 8 deletions(-) create mode 100644 libraries/shared/src/shared/Algorithms.h diff --git a/assignment-client/src/assets/AssetServer.cpp b/assignment-client/src/assets/AssetServer.cpp index 1f74a401e3..ea0010cb26 100644 --- a/assignment-client/src/assets/AssetServer.cpp +++ b/assignment-client/src/assets/AssetServer.cpp @@ -489,6 +489,7 @@ void AssetServer::handleGetAllMappingOperation(ReceivedMessage& message, SharedN for (auto it = _fileMappings.cbegin(); it != _fileMappings.cend(); ++ it) { replyPacket.writeString(it.key()); replyPacket.write(QByteArray::fromHex(it.value().toString().toUtf8())); + replyPacket.writePrimitive(_baker.getAssetStatus(it.value().toString())); } } diff --git a/assignment-client/src/assets/AutoBaker.h b/assignment-client/src/assets/AutoBaker.h index 7b92118aee..805130bf52 100644 --- a/assignment-client/src/assets/AutoBaker.h +++ b/assignment-client/src/assets/AutoBaker.h @@ -18,18 +18,11 @@ class AutoBaker { public: - enum Status { - NotBaked, - Pending, - Baking, - Baked - }; - void addPendingBake(AssetHash hash); bool assetNeedsBaking(AssetHash hash); - Status getAssetStatus(AssetHash hash); + BakingStatus getAssetStatus(AssetHash hash); private: std::vector _pendingBakes; diff --git a/libraries/networking/src/AssetUtils.cpp b/libraries/networking/src/AssetUtils.cpp index 7818c8e5ce..7c8ffd6746 100644 --- a/libraries/networking/src/AssetUtils.cpp +++ b/libraries/networking/src/AssetUtils.cpp @@ -84,3 +84,16 @@ bool isValidHash(const AssetHash& hash) { QRegExp hashRegex { ASSET_HASH_REGEX_STRING }; return hashRegex.exactMatch(hash); } + +QString bakingStatusToString(BakingStatus status) { + switch (status) { + case NotBaked: + return "Not Baked"; + case Pending: + return "Pending"; + case Baking: + return "Baking"; + case Baked: + return "Baked"; + } +} diff --git a/libraries/networking/src/AssetUtils.h b/libraries/networking/src/AssetUtils.h index 4137193274..a94363126c 100644 --- a/libraries/networking/src/AssetUtils.h +++ b/libraries/networking/src/AssetUtils.h @@ -52,6 +52,13 @@ enum AssetMappingOperationType : uint8_t { Rename }; +enum BakingStatus { + NotBaked, + Pending, + Baking, + Baked +}; + QUrl getATPUrl(const QString& hash); QByteArray hashData(const QByteArray& data); @@ -63,4 +70,6 @@ bool isValidFilePath(const AssetPath& path); bool isValidPath(const AssetPath& path); bool isValidHash(const QString& hashString); +QString bakingStatusToString(BakingStatus status); + #endif // hifi_AssetUtils_h diff --git a/libraries/networking/src/MappingRequest.cpp b/libraries/networking/src/MappingRequest.cpp index 5fb9c32a0b..437c7c1b41 100644 --- a/libraries/networking/src/MappingRequest.cpp +++ b/libraries/networking/src/MappingRequest.cpp @@ -136,6 +136,8 @@ void GetAllMappingsRequest::doStart() { for (auto i = 0; i < numberOfMappings; ++i) { auto path = message->readString(); auto hash = message->read(SHA256_HASH_LENGTH).toHex(); + BakingStatus status; + message->readPrimitive(&status); _mappings[path] = hash; } } diff --git a/libraries/shared/src/shared/Algorithms.h b/libraries/shared/src/shared/Algorithms.h new file mode 100644 index 0000000000..4d486efc43 --- /dev/null +++ b/libraries/shared/src/shared/Algorithms.h @@ -0,0 +1,28 @@ +// +// Algorithms.h +// libraries/shared/src/shared +// +// Created by Clement Brisset on 8/9/17 +// Copyright 2017 High Fidelity, Inc. +// +// Distributed under the Apache License, Version 2.0. +// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html +// + +#ifndef Algorithms_h +#define Algorithms_h + +#include + +namespace alg { + + + + + + + + +} + +#endif /* Algorithms_hpp */