From e01f6730efea48a30e7e1205d97efa234e7973c1 Mon Sep 17 00:00:00 2001 From: SirLynix Date: Wed, 24 Jan 2024 17:42:43 +0100 Subject: [PATCH] Network/WebService: Add QueueRequest overload taking a builder functor --- include/Nazara/Network/WebService.hpp | 2 ++ src/Nazara/Network/WebService.cpp | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/include/Nazara/Network/WebService.hpp b/include/Nazara/Network/WebService.hpp index acdd8e9ad..577d88a2a 100644 --- a/include/Nazara/Network/WebService.hpp +++ b/include/Nazara/Network/WebService.hpp @@ -9,6 +9,7 @@ #include #include +#include #include #include #include @@ -46,6 +47,7 @@ namespace Nz bool Poll(); + void QueueRequest(const FunctionRef& builder); void QueueRequest(std::unique_ptr&& request); WebService& operator=(const WebService&) = delete; diff --git a/src/Nazara/Network/WebService.cpp b/src/Nazara/Network/WebService.cpp index 0cb4498cf..56192ea88 100644 --- a/src/Nazara/Network/WebService.cpp +++ b/src/Nazara/Network/WebService.cpp @@ -106,6 +106,15 @@ namespace Nz #endif } + void WebService::QueueRequest(const FunctionRef& builder) + { + std::unique_ptr request = AllocateRequest(); + if (!builder(*request)) + return; + + QueueRequest(std::move(request)); + } + void WebService::QueueRequest(std::unique_ptr&& request) { assert(request);