14 #ifndef hifi_MappingRequest_h
15 #define hifi_MappingRequest_h
17 #include <QtCore/QObject>
19 #include "AssetUtils.h"
20 #include "AssetClient.h"
22 class MappingRequest :
public QObject {
35 virtual ~MappingRequest();
37 Q_INVOKABLE
void start();
38 Error getError()
const {
return _error; }
39 Q_INVOKABLE QString getErrorString()
const;
42 Error _error { NoError };
43 MessageID _mappingRequestID { INVALID_MESSAGE_ID };
46 virtual void doStart() = 0;
50 class GetMappingRequest :
public MappingRequest {
53 GetMappingRequest(
const AssetUtils::AssetPath& path);
55 AssetUtils::AssetHash getHash()
const {
return _hash; }
56 AssetUtils::AssetPath getRedirectedPath()
const {
return _redirectedPath; }
57 bool wasRedirected()
const {
return _wasRedirected; }
60 void finished(GetMappingRequest* thisRequest);
63 virtual void doStart()
override;
65 AssetUtils::AssetPath _path;
66 AssetUtils::AssetHash _hash;
69 AssetUtils::AssetPath _redirectedPath;
70 bool _wasRedirected {
false };
73 class SetMappingRequest :
public MappingRequest {
76 SetMappingRequest(
const AssetUtils::AssetPath& path,
const AssetUtils::AssetHash& hash);
78 AssetUtils::AssetPath getPath()
const {
return _path; }
79 AssetUtils::AssetHash getHash()
const {
return _hash; }
82 void finished(SetMappingRequest* thisRequest);
85 virtual void doStart()
override;
87 AssetUtils::AssetPath _path;
88 AssetUtils::AssetHash _hash;
91 class DeleteMappingsRequest :
public MappingRequest {
94 DeleteMappingsRequest(
const AssetUtils::AssetPathList& path);
97 void finished(DeleteMappingsRequest* thisRequest);
100 virtual void doStart()
override;
102 AssetUtils::AssetPathList _paths;
105 class RenameMappingRequest :
public MappingRequest {
108 RenameMappingRequest(
const AssetUtils::AssetPath& oldPath,
const AssetUtils::AssetPath& newPath);
111 void finished(RenameMappingRequest* thisRequest);
114 virtual void doStart()
override;
116 AssetUtils::AssetPath _oldPath;
117 AssetUtils::AssetPath _newPath;
120 class GetAllMappingsRequest :
public MappingRequest {
123 AssetUtils::AssetMappings getMappings()
const {
return _mappings; }
126 void finished(GetAllMappingsRequest* thisRequest);
129 virtual void doStart()
override;
131 AssetUtils::AssetMappings _mappings;
134 class SetBakingEnabledRequest :
public MappingRequest {
137 SetBakingEnabledRequest(
const AssetUtils::AssetPathList& path,
bool enabled);
140 void finished(SetBakingEnabledRequest* thisRequest);
143 virtual void doStart()
override;
145 AssetUtils::AssetPathList _paths;