webserver: Replace scoped_ptr with std::unique_ptr in request handlers
Now that we can use std::unique_ptr with base::Callback, remove the
remaining scoped_ptr usage in webserver's request handlers.
BUG=None
TEST=`FEATURES=test emerge-link webserver privetd leaderd`
CQ-DEPEND=CL:267720,CL:*214525
Change-Id: I7a05ce818bccfb2408eb624760a14a2c71da2c6e
Reviewed-on: https://chromium-review.googlesource.com/267284
Tested-by: Alex Vakulenko <avakulenko@chromium.org>
Trybot-Ready: Alex Vakulenko <avakulenko@chromium.org>
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Commit-Queue: Alex Vakulenko <avakulenko@chromium.org>
diff --git a/leaderd/webserver_client.cc b/leaderd/webserver_client.cc
index 76e31ab..fc49248 100644
--- a/leaderd/webserver_client.cc
+++ b/leaderd/webserver_client.cc
@@ -76,7 +76,7 @@
namespace {
-std::unique_ptr<Value> GetBody(scoped_ptr<Request> request) {
+std::unique_ptr<Value> GetBody(std::unique_ptr<Request> request) {
std::string data(request->GetData().begin(), request->GetData().end());
VLOG(3) << "Input: " << data;
@@ -95,9 +95,9 @@
} // namespace
void WebServerClient::RequestHandler(QueryType query_type,
- scoped_ptr<Request> request,
- scoped_ptr<Response> response) {
- std::unique_ptr<Value> value{GetBody(request.Pass())};
+ std::unique_ptr<Request> request,
+ std::unique_ptr<Response> response) {
+ std::unique_ptr<Value> value{GetBody(std::move(request))};
const base::DictionaryValue* dictionary = nullptr;
if (value) value->GetAsDictionary(&dictionary);
std::unique_ptr<base::DictionaryValue> output;
diff --git a/leaderd/webserver_client.h b/leaderd/webserver_client.h
index bddde35..ac0c9af 100644
--- a/leaderd/webserver_client.h
+++ b/leaderd/webserver_client.h
@@ -7,7 +7,6 @@
#include <string>
-#include <base/callback.h>
#include <base/values.h>
#include <chromeos/dbus/async_event_sequencer.h>
#include <dbus/bus.h>
@@ -66,12 +65,13 @@
friend class WebServerClientTest;
enum class QueryType { DISCOVER, CHALLENGE, ANNOUNCE };
void RequestHandler(QueryType query_type,
- scoped_ptr<libwebserv::Request> request,
- scoped_ptr<libwebserv::Response> response);
- void ChallengeRequestHandler(scoped_ptr<libwebserv::Request> request,
- scoped_ptr<libwebserv::Response> response);
- void AnnouncementRequestHandler(scoped_ptr<libwebserv::Request> request,
- scoped_ptr<libwebserv::Response> response);
+ std::unique_ptr<libwebserv::Request> request,
+ std::unique_ptr<libwebserv::Response> response);
+ void ChallengeRequestHandler(std::unique_ptr<libwebserv::Request> request,
+ std::unique_ptr<libwebserv::Response> response);
+ void AnnouncementRequestHandler(
+ std::unique_ptr<libwebserv::Request> request,
+ std::unique_ptr<libwebserv::Response> response);
std::unique_ptr<base::DictionaryValue> ProcessDiscover(
const base::DictionaryValue* input);
std::unique_ptr<base::DictionaryValue> ProcessChallenge(
diff --git a/privetd/main.cc b/privetd/main.cc
index 6e3222a..660f57e 100644
--- a/privetd/main.cc
+++ b/privetd/main.cc
@@ -172,8 +172,8 @@
void OnDeviceInfoChanged() override { OnChanged(); };
private:
- void PrivetRequestHandler(scoped_ptr<Request> request,
- scoped_ptr<Response> response) {
+ void PrivetRequestHandler(std::unique_ptr<Request> request,
+ std::unique_ptr<Response> response) {
std::string auth_header = GetFirstHeader(
*request, chromeos::http::request_header::kAuthorization);
if (auth_header.empty() && disable_security_)
@@ -204,15 +204,15 @@
base::Passed(&response)));
}
- void PrivetResponseHandler(scoped_ptr<Response> response,
+ void PrivetResponseHandler(std::unique_ptr<Response> response,
int status,
const base::DictionaryValue& output) {
VLOG(3) << "status: " << status << ", Output: " << output;
response->ReplyWithJson(status, &output);
}
- void HelloWorldHandler(scoped_ptr<Request> request,
- scoped_ptr<Response> response) {
+ void HelloWorldHandler(std::unique_ptr<Request> request,
+ std::unique_ptr<Response> response) {
response->ReplyWithText(chromeos::http::status_code::Ok, "Hello, world!",
chromeos::mime::text::kPlain);
}
diff --git a/privetd/wifi_bootstrap_manager.cc b/privetd/wifi_bootstrap_manager.cc
index 3fc4d33..d0be5c0 100644
--- a/privetd/wifi_bootstrap_manager.cc
+++ b/privetd/wifi_bootstrap_manager.cc
@@ -4,7 +4,6 @@
#include "privetd/wifi_bootstrap_manager.h"
-#include <base/bind.h>
#include <base/logging.h>
#include <base/memory/weak_ptr.h>
#include <base/message_loop/message_loop.h>
diff --git a/webserver/libwebserv/protocol_handler.cc b/webserver/libwebserv/protocol_handler.cc
index fe0c9b0..6b0ec77 100644
--- a/webserver/libwebserv/protocol_handler.cc
+++ b/webserver/libwebserv/protocol_handler.cc
@@ -189,8 +189,8 @@
return false;
}
handler_iter->second.handler->HandleRequest(
- scoped_ptr<Request>(request.release()),
- scoped_ptr<Response>(new Response{this, request_id}));
+ std::move(request),
+ std::unique_ptr<Response>{new Response{this, request_id}});
return true;
}
diff --git a/webserver/libwebserv/request.h b/webserver/libwebserv/request.h
index f75622b..894546b 100644
--- a/webserver/libwebserv/request.h
+++ b/webserver/libwebserv/request.h
@@ -14,7 +14,6 @@
#include <base/callback_forward.h>
#include <base/macros.h>
#include <base/memory/ref_counted.h>
-#include <base/memory/scoped_ptr.h>
#include <chromeos/errors/error.h>
#include <libwebserv/export.h>
diff --git a/webserver/libwebserv/request_handler_callback.cc b/webserver/libwebserv/request_handler_callback.cc
index f5be1fb..4989a8e 100644
--- a/webserver/libwebserv/request_handler_callback.cc
+++ b/webserver/libwebserv/request_handler_callback.cc
@@ -10,9 +10,9 @@
const base::Callback<HandlerSignature>& callback) : callback_(callback) {
}
-void RequestHandlerCallback::HandleRequest(scoped_ptr<Request> request,
- scoped_ptr<Response> response) {
- callback_.Run(request.Pass(), response.Pass());
+void RequestHandlerCallback::HandleRequest(std::unique_ptr<Request> request,
+ std::unique_ptr<Response> response) {
+ callback_.Run(std::move(request), std::move(response));
}
} // namespace libwebserv
diff --git a/webserver/libwebserv/request_handler_callback.h b/webserver/libwebserv/request_handler_callback.h
index 1be1817..dd35a6e 100644
--- a/webserver/libwebserv/request_handler_callback.h
+++ b/webserver/libwebserv/request_handler_callback.h
@@ -21,8 +21,8 @@
explicit RequestHandlerCallback(
const base::Callback<HandlerSignature>& callback);
- void HandleRequest(scoped_ptr<Request> request,
- scoped_ptr<Response> response) override;
+ void HandleRequest(std::unique_ptr<Request> request,
+ std::unique_ptr<Response> response) override;
private:
base::Callback<HandlerSignature> callback_;
diff --git a/webserver/libwebserv/request_handler_interface.h b/webserver/libwebserv/request_handler_interface.h
index 0b12126..878c975 100644
--- a/webserver/libwebserv/request_handler_interface.h
+++ b/webserver/libwebserv/request_handler_interface.h
@@ -5,7 +5,8 @@
#ifndef WEBSERVER_LIBWEBSERV_REQUEST_HANDLER_INTERFACE_H_
#define WEBSERVER_LIBWEBSERV_REQUEST_HANDLER_INTERFACE_H_
-#include <base/memory/scoped_ptr.h>
+#include <memory>
+
#include <libwebserv/request.h>
#include <libwebserv/response.h>
@@ -17,10 +18,11 @@
// send response.
class RequestHandlerInterface {
public:
- using HandlerSignature = void(scoped_ptr<Request>, scoped_ptr<Response>);
+ using HandlerSignature =
+ void(std::unique_ptr<Request>, std::unique_ptr<Response>);
- virtual void HandleRequest(scoped_ptr<Request> request,
- scoped_ptr<Response> response) = 0;
+ virtual void HandleRequest(std::unique_ptr<Request> request,
+ std::unique_ptr<Response> response) = 0;
};
} // namespace libwebserv