Network/WebService: Add QueueRequest overload taking a builder functor

This commit is contained in:
SirLynix 2024-01-24 17:42:43 +01:00
parent 086152c97d
commit e01f6730ef
2 changed files with 11 additions and 0 deletions

View File

@ -9,6 +9,7 @@
#include <Nazara/Network/Config.hpp>
#include <Nazara/Network/WebRequest.hpp>
#include <NazaraUtils/FunctionRef.hpp>
#include <NazaraUtils/MovablePtr.hpp>
#include <unordered_map>
#include <vector>
@ -46,6 +47,7 @@ namespace Nz
bool Poll();
void QueueRequest(const FunctionRef<bool(WebRequest& request)>& builder);
void QueueRequest(std::unique_ptr<WebRequest>&& request);
WebService& operator=(const WebService&) = delete;

View File

@ -106,6 +106,15 @@ namespace Nz
#endif
}
void WebService::QueueRequest(const FunctionRef<bool(WebRequest& request)>& builder)
{
std::unique_ptr<WebRequest> request = AllocateRequest();
if (!builder(*request))
return;
QueueRequest(std::move(request));
}
void WebService::QueueRequest(std::unique_ptr<WebRequest>&& request)
{
assert(request);