Make Service::HTTP::Context non-copyable

This commit is contained in:
B3n30 2018-07-22 18:14:23 +02:00
parent 5af6a1d8ee
commit 2d09355a25
2 changed files with 17 additions and 8 deletions

View File

@ -59,14 +59,14 @@ void HTTP_C::CreateContext(Kernel::HLERequestContext& ctx) {
return;
}
Context context{};
context.url = std::move(url);
context.method = method;
context.state = RequestState::NotStarted;
++context_counter;
contexts.emplace(context_counter, Context());
contexts[context_counter].url = std::move(url);
contexts[context_counter].method = method;
contexts[context_counter].state = RequestState::NotStarted;
// TODO(Subv): Find a correct default value for this field.
context.socket_buffer_size = 0;
context.handle = ++context_counter;
contexts[context_counter] = std::move(context);
contexts[context_counter].socket_buffer_size = 0;
contexts[context_counter].handle = ++context_counter;
IPC::RequestBuilder rb = rp.MakeBuilder(2, 2);
rb.Push(RESULT_SUCCESS);

View File

@ -59,7 +59,15 @@ struct RootCertChain {
};
/// Represents an HTTP context.
struct Context {
class Context final {
public:
Context() = default;
Context(const Context&) = delete;
Context& operator=(const Context&) = delete;
Context(Context&& other) = default;
Context& operator=(Context&&) = default;
struct Proxy {
std::string url;
std::string username;
@ -73,6 +81,7 @@ struct Context {
};
struct RequestHeader {
RequestHeader(std::string name, std::string value) : name(name), value(value){};
std::string name;
std::string value;
};