Commit c5fdcca5 authored by Sylvain Defresne's avatar Sylvain Defresne Committed by Commit Bot

Convert tools/android away from base::Bind/base::Callback

base::Bind/base::Callback are deprecated in favor of either
base::BindOnce/base::OnceCallback or base::BindRepeating/
base::RepeatingCallback (depending on whether the callback
is invoked once or multiple time).

Convert all uses of base::Bind/base::Callback in tools/android
to the recommended methods/types.

Bug: 1007843
Change-Id: Ia955cfe01bc7e23c73e7deda469d9408aa3c90ca
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1832213
Commit-Queue: David Turner <digit@chromium.org>
Commit-Queue: Andrew Grieve <agrieve@chromium.org>
Auto-Submit: Sylvain Defresne <sdefresne@chromium.org>
Reviewed-by: default avatarDavid Turner <digit@chromium.org>
Reviewed-by: default avatarAndrew Grieve <agrieve@chromium.org>
Cr-Commit-Position: refs/heads/master@{#702133}
parent 16cbcb68
...@@ -67,9 +67,8 @@ void DeviceController::AcceptHostCommandInternal() { ...@@ -67,9 +67,8 @@ void DeviceController::AcceptHostCommandInternal() {
LOG(INFO) << "Received exit notification"; LOG(INFO) << "Received exit notification";
return; return;
} }
base::ScopedClosureRunner accept_next_client( base::ScopedClosureRunner accept_next_client(base::BindOnce(
base::Bind(&DeviceController::AcceptHostCommandSoon, &DeviceController::AcceptHostCommandSoon, base::Unretained(this)));
base::Unretained(this)));
// So that |socket| doesn't block on read if it has notifications. // So that |socket| doesn't block on read if it has notifications.
socket->AddEventFd(exit_notifier_fd_); socket->AddEventFd(exit_notifier_fd_);
int port; int port;
...@@ -90,8 +89,8 @@ void DeviceController::AcceptHostCommandInternal() { ...@@ -90,8 +89,8 @@ void DeviceController::AcceptHostCommandInternal() {
} }
std::unique_ptr<DeviceListener> new_listener(DeviceListener::Create( std::unique_ptr<DeviceListener> new_listener(DeviceListener::Create(
std::move(socket), port, std::move(socket), port,
base::Bind(&DeviceController::DeleteListenerOnError, base::BindOnce(&DeviceController::DeleteListenerOnError,
weak_ptr_factory_.GetWeakPtr()))); weak_ptr_factory_.GetWeakPtr())));
if (!new_listener) if (!new_listener)
return; return;
new_listener->Start(); new_listener->Start();
......
...@@ -23,7 +23,7 @@ namespace forwarder2 { ...@@ -23,7 +23,7 @@ namespace forwarder2 {
std::unique_ptr<DeviceListener> DeviceListener::Create( std::unique_ptr<DeviceListener> DeviceListener::Create(
std::unique_ptr<Socket> host_socket, std::unique_ptr<Socket> host_socket,
int listener_port, int listener_port,
const ErrorCallback& error_callback) { ErrorCallback error_callback) {
std::unique_ptr<Socket> listener_socket(new Socket()); std::unique_ptr<Socket> listener_socket(new Socket());
std::unique_ptr<DeviceListener> device_listener; std::unique_ptr<DeviceListener> device_listener;
if (!listener_socket->BindTcp("", listener_port)) { if (!listener_socket->BindTcp("", listener_port)) {
...@@ -36,9 +36,9 @@ std::unique_ptr<DeviceListener> DeviceListener::Create( ...@@ -36,9 +36,9 @@ std::unique_ptr<DeviceListener> DeviceListener::Create(
// currently (non-zero) allocated port for this socket. // currently (non-zero) allocated port for this socket.
listener_port = listener_socket->GetPort(); listener_port = listener_socket->GetPort();
SendCommand(command::BIND_SUCCESS, listener_port, host_socket.get()); SendCommand(command::BIND_SUCCESS, listener_port, host_socket.get());
device_listener.reset(new DeviceListener(std::move(listener_socket), device_listener.reset(
std::move(host_socket), new DeviceListener(std::move(listener_socket), std::move(host_socket),
listener_port, error_callback)); listener_port, std::move(error_callback)));
return device_listener; return device_listener;
} }
...@@ -62,8 +62,8 @@ void DeviceListener::SetAdbDataSocket(std::unique_ptr<Socket> adb_data_socket) { ...@@ -62,8 +62,8 @@ void DeviceListener::SetAdbDataSocket(std::unique_ptr<Socket> adb_data_socket) {
DeviceListener::DeviceListener(std::unique_ptr<Socket> listener_socket, DeviceListener::DeviceListener(std::unique_ptr<Socket> listener_socket,
std::unique_ptr<Socket> host_socket, std::unique_ptr<Socket> host_socket,
int port, int port,
const ErrorCallback& error_callback) ErrorCallback error_callback)
: self_deleter_helper_(this, error_callback), : self_deleter_helper_(this, std::move(error_callback)),
listener_socket_(std::move(listener_socket)), listener_socket_(std::move(listener_socket)),
host_socket_(std::move(host_socket)), host_socket_(std::move(host_socket)),
listener_port_(port), listener_port_(port),
......
...@@ -46,12 +46,13 @@ class DeviceListener { ...@@ -46,12 +46,13 @@ class DeviceListener {
// Callback that is used for self-deletion on error to let the device // Callback that is used for self-deletion on error to let the device
// controller perform some additional cleanup work (e.g. removing the device // controller perform some additional cleanup work (e.g. removing the device
// listener instance from its internal map before deleting it). // listener instance from its internal map before deleting it).
typedef base::Callback<void(std::unique_ptr<DeviceListener>)> ErrorCallback; using ErrorCallback =
base::OnceCallback<void(std::unique_ptr<DeviceListener>)>;
static std::unique_ptr<DeviceListener> Create( static std::unique_ptr<DeviceListener> Create(
std::unique_ptr<Socket> host_socket, std::unique_ptr<Socket> host_socket,
int port, int port,
const ErrorCallback& error_callback); ErrorCallback error_callback);
~DeviceListener(); ~DeviceListener();
...@@ -65,7 +66,7 @@ class DeviceListener { ...@@ -65,7 +66,7 @@ class DeviceListener {
DeviceListener(std::unique_ptr<Socket> listener_socket, DeviceListener(std::unique_ptr<Socket> listener_socket,
std::unique_ptr<Socket> host_socket, std::unique_ptr<Socket> host_socket,
int port, int port,
const ErrorCallback& error_callback); ErrorCallback error_callback);
// Pushes an AcceptClientOnInternalThread() task to the internal thread's // Pushes an AcceptClientOnInternalThread() task to the internal thread's
// message queue in order to wait for a new client soon. // message queue in order to wait for a new client soon.
......
...@@ -101,8 +101,8 @@ void ForwardersManager::WaitForEventsOnInternalThread() { ...@@ -101,8 +101,8 @@ void ForwardersManager::WaitForEventsOnInternalThread() {
return; return;
base::ScopedClosureRunner wait_for_events_soon( base::ScopedClosureRunner wait_for_events_soon(
base::Bind(&ForwardersManager::WaitForEventsOnInternalThreadSoon, base::BindOnce(&ForwardersManager::WaitForEventsOnInternalThreadSoon,
base::Unretained(this))); base::Unretained(this)));
if (FD_ISSET(wakeup_notifier_.receiver_fd(), &read_fds)) { if (FD_ISSET(wakeup_notifier_.receiver_fd(), &read_fds)) {
// Note that the events on FDs other than the wakeup notifier one, if any, // Note that the events on FDs other than the wakeup notifier one, if any,
......
...@@ -25,7 +25,7 @@ std::unique_ptr<HostController> HostController::Create( ...@@ -25,7 +25,7 @@ std::unique_ptr<HostController> HostController::Create(
int host_port, int host_port,
int adb_port, int adb_port,
int exit_notifier_fd, int exit_notifier_fd,
const ErrorCallback& error_callback) { ErrorCallback error_callback) {
std::unique_ptr<HostController> host_controller; std::unique_ptr<HostController> host_controller;
std::unique_ptr<PipeNotifier> delete_controller_notifier(new PipeNotifier()); std::unique_ptr<PipeNotifier> delete_controller_notifier(new PipeNotifier());
std::unique_ptr<Socket> adb_control_socket(new Socket()); std::unique_ptr<Socket> adb_control_socket(new Socket());
...@@ -52,8 +52,9 @@ std::unique_ptr<HostController> HostController::Create( ...@@ -52,8 +52,9 @@ std::unique_ptr<HostController> HostController::Create(
return host_controller; return host_controller;
} }
host_controller.reset(new HostController( host_controller.reset(new HostController(
device_serial, device_port_allocated, host_port, adb_port, error_callback, device_serial, device_port_allocated, host_port, adb_port,
std::move(adb_control_socket), std::move(delete_controller_notifier))); std::move(error_callback), std::move(adb_control_socket),
std::move(delete_controller_notifier)));
return host_controller; return host_controller;
} }
...@@ -72,10 +73,10 @@ HostController::HostController( ...@@ -72,10 +73,10 @@ HostController::HostController(
int device_port, int device_port,
int host_port, int host_port,
int adb_port, int adb_port,
const ErrorCallback& error_callback, ErrorCallback error_callback,
std::unique_ptr<Socket> adb_control_socket, std::unique_ptr<Socket> adb_control_socket,
std::unique_ptr<PipeNotifier> delete_controller_notifier) std::unique_ptr<PipeNotifier> delete_controller_notifier)
: self_deleter_helper_(this, error_callback), : self_deleter_helper_(this, std::move(error_callback)),
device_serial_(device_serial), device_serial_(device_serial),
device_port_(device_port), device_port_(device_port),
host_port_(host_port), host_port_(host_port),
......
...@@ -34,7 +34,8 @@ class HostController { ...@@ -34,7 +34,8 @@ class HostController {
public: public:
// Callback used for self-deletion when an error happens so that the client // Callback used for self-deletion when an error happens so that the client
// can perform some cleanup work before deleting the HostController instance. // can perform some cleanup work before deleting the HostController instance.
typedef base::Callback<void(std::unique_ptr<HostController>)> ErrorCallback; using ErrorCallback =
base::OnceCallback<void(std::unique_ptr<HostController>)>;
// If |device_port| is zero then a dynamic port is allocated (and retrievable // If |device_port| is zero then a dynamic port is allocated (and retrievable
// through device_port() below). // through device_port() below).
...@@ -44,7 +45,7 @@ class HostController { ...@@ -44,7 +45,7 @@ class HostController {
int host_port, int host_port,
int adb_port, int adb_port,
int exit_notifier_fd, int exit_notifier_fd,
const ErrorCallback& error_callback); ErrorCallback error_callback);
~HostController(); ~HostController();
...@@ -60,7 +61,7 @@ class HostController { ...@@ -60,7 +61,7 @@ class HostController {
int device_port, int device_port,
int host_port, int host_port,
int adb_port, int adb_port,
const ErrorCallback& error_callback, ErrorCallback error_callback,
std::unique_ptr<Socket> adb_control_socket, std::unique_ptr<Socket> adb_control_socket,
std::unique_ptr<PipeNotifier> delete_controller_notifier); std::unique_ptr<PipeNotifier> delete_controller_notifier);
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
namespace forwarder2 { namespace forwarder2 {
HostControllersManager::HostControllersManager( HostControllersManager::HostControllersManager(
base::Callback<int()> exit_notifier_fd_callback) base::RepeatingCallback<int()> exit_notifier_fd_callback)
: controllers_(new HostControllerMap()), : controllers_(new HostControllerMap()),
exit_notifier_fd_callback_(exit_notifier_fd_callback), exit_notifier_fd_callback_(exit_notifier_fd_callback),
has_failed_(false), has_failed_(false),
...@@ -103,8 +103,8 @@ void HostControllersManager::Map(const std::string& adb_path, ...@@ -103,8 +103,8 @@ void HostControllersManager::Map(const std::string& adb_path,
std::unique_ptr<HostController> host_controller(HostController::Create( std::unique_ptr<HostController> host_controller(HostController::Create(
device_serial, device_port, host_port, adb_port, device_serial, device_port, host_port, adb_port,
exit_notifier_fd_callback_.Run(), exit_notifier_fd_callback_.Run(),
base::Bind(&HostControllersManager::DeleteHostController, base::BindOnce(&HostControllersManager::DeleteHostController,
weak_ptr_factory_.GetWeakPtr()))); weak_ptr_factory_.GetWeakPtr())));
if (!host_controller.get()) { if (!host_controller.get()) {
has_failed_ = true; has_failed_ = true;
SendMessage("ERROR: Connection to device failed.\n", client_socket); SendMessage("ERROR: Connection to device failed.\n", client_socket);
......
...@@ -29,7 +29,7 @@ enum : int { ...@@ -29,7 +29,7 @@ enum : int {
class HostControllersManager { class HostControllersManager {
public: public:
explicit HostControllersManager( explicit HostControllersManager(
base::Callback<int()> exit_notifier_fd_callback); base::RepeatingCallback<int()> exit_notifier_fd_callback);
~HostControllersManager(); ~HostControllersManager();
void HandleRequest(const std::string& adb_path, void HandleRequest(const std::string& adb_path,
const std::string& device_serial, const std::string& device_serial,
...@@ -107,7 +107,7 @@ class HostControllersManager { ...@@ -107,7 +107,7 @@ class HostControllersManager {
std::unique_ptr<base::AtExitManager> std::unique_ptr<base::AtExitManager>
at_exit_manager_; // Needed by base::Thread. at_exit_manager_; // Needed by base::Thread.
std::unique_ptr<base::Thread> thread_; std::unique_ptr<base::Thread> thread_;
base::Callback<int()> exit_notifier_fd_callback_; base::RepeatingCallback<int()> exit_notifier_fd_callback_;
bool has_failed_; bool has_failed_;
base::WeakPtrFactory<HostControllersManager> weak_ptr_factory_; base::WeakPtrFactory<HostControllersManager> weak_ptr_factory_;
}; };
......
...@@ -38,7 +38,7 @@ base::FilePath CreateScript(const std::string script_contents) { ...@@ -38,7 +38,7 @@ base::FilePath CreateScript(const std::string script_contents) {
// Ensure that we don't start the adb binary with superfluous file descriptors // Ensure that we don't start the adb binary with superfluous file descriptors
// from the parent process. // from the parent process.
TEST(HostControllersManagerTest, AdbNoExtraFds) { TEST(HostControllersManagerTest, AdbNoExtraFds) {
HostControllersManager manager(base::Bind(&UnusedGetExitNotifierFD)); HostControllersManager manager(base::BindRepeating(&UnusedGetExitNotifierFD));
base::FilePath unrelated_file; base::FilePath unrelated_file;
base::ScopedFILE open_unrelated_file( base::ScopedFILE open_unrelated_file(
CreateAndOpenTemporaryFile(&unrelated_file)); CreateAndOpenTemporaryFile(&unrelated_file));
...@@ -57,7 +57,7 @@ TEST(HostControllersManagerTest, AdbNoExtraFds) { ...@@ -57,7 +57,7 @@ TEST(HostControllersManagerTest, AdbNoExtraFds) {
// Ensure that we don't mangle the argument order. // Ensure that we don't mangle the argument order.
TEST(HostControllersManagerTest, AdbArgumentSequence) { TEST(HostControllersManagerTest, AdbArgumentSequence) {
HostControllersManager manager(base::Bind(&UnusedGetExitNotifierFD)); HostControllersManager manager(base::BindRepeating(&UnusedGetExitNotifierFD));
base::FilePath adb_script = base::FilePath adb_script =
CreateScript(base::StringPrintf("#! /bin/sh\n" CreateScript(base::StringPrintf("#! /bin/sh\n"
"echo -n \"$@\"\n")); "echo -n \"$@\"\n"));
......
...@@ -69,7 +69,7 @@ class ServerDelegate : public Daemon::ServerDelegate { ...@@ -69,7 +69,7 @@ class ServerDelegate : public Daemon::ServerDelegate {
explicit ServerDelegate(const std::string& adb_path) explicit ServerDelegate(const std::string& adb_path)
: adb_path_(adb_path), : adb_path_(adb_path),
has_failed_(false), has_failed_(false),
controllers_manager_(base::Bind(&GetExitNotifierFD)) {} controllers_manager_(base::BindRepeating(&GetExitNotifierFD)) {}
bool has_failed() const { bool has_failed() const {
return has_failed_ || controllers_manager_.has_failed(); return has_failed_ || controllers_manager_.has_failed();
......
...@@ -44,10 +44,10 @@ namespace forwarder2 { ...@@ -44,10 +44,10 @@ namespace forwarder2 {
// Usage example: // Usage example:
// class Object { // class Object {
// public: // public:
// typedef base::Callback<void (std::unique_ptr<Object>)> ErrorCallback; // using ErrorCallback = base::OnceCallback<void (std::unique_ptr<Object>)>;
// //
// Object(const ErrorCallback& error_callback) // Object(ErrorCallback error_callback)
// : self_deleter_helper_(this, error_callback) { // : self_deleter_helper_(this, std::move(error_callback)) {
// } // }
// //
// void StartWork() { // void StartWork() {
...@@ -68,8 +68,8 @@ namespace forwarder2 { ...@@ -68,8 +68,8 @@ namespace forwarder2 {
// class ObjectOwner { // class ObjectOwner {
// public: // public:
// ObjectOwner() // ObjectOwner()
// : object_(new Object(base::Bind(&ObjectOwner::DeleteObjectOnError, // : object_(new Object(base::BindOnce(&ObjectOwner::DeleteObjectOnError,
// base::Unretained(this))) { // base::Unretained(this))) {
// // To keep this example simple base::Unretained(this) is used above but // // To keep this example simple base::Unretained(this) is used above but
// // note that in a real world scenario the client would have to make sure // // note that in a real world scenario the client would have to make sure
// // that the ObjectOwner instance is still alive when // // that the ObjectOwner instance is still alive when
...@@ -97,13 +97,12 @@ namespace forwarder2 { ...@@ -97,13 +97,12 @@ namespace forwarder2 {
template <typename T> template <typename T>
class SelfDeleterHelper { class SelfDeleterHelper {
public: public:
typedef base::Callback<void(std::unique_ptr<T>)> DeletionCallback; using DeletionCallback = base::OnceCallback<void(std::unique_ptr<T>)>;
SelfDeleterHelper(T* self_deleting_object, SelfDeleterHelper(T* self_deleting_object, DeletionCallback deletion_callback)
const DeletionCallback& deletion_callback)
: construction_runner_(base::ThreadTaskRunnerHandle::Get()), : construction_runner_(base::ThreadTaskRunnerHandle::Get()),
self_deleting_object_(self_deleting_object), self_deleting_object_(self_deleting_object),
deletion_callback_(deletion_callback) {} deletion_callback_(std::move(deletion_callback)) {}
~SelfDeleterHelper() { ~SelfDeleterHelper() {
DCHECK(construction_runner_->RunsTasksInCurrentSequence()); DCHECK(construction_runner_->RunsTasksInCurrentSequence());
...@@ -119,14 +118,14 @@ class SelfDeleterHelper { ...@@ -119,14 +118,14 @@ class SelfDeleterHelper {
private: private:
void SelfDelete() { void SelfDelete() {
DCHECK(construction_runner_->RunsTasksInCurrentSequence()); DCHECK(construction_runner_->RunsTasksInCurrentSequence());
deletion_callback_.Run(base::WrapUnique(self_deleting_object_)); std::move(deletion_callback_).Run(base::WrapUnique(self_deleting_object_));
} }
const scoped_refptr<base::SingleThreadTaskRunner> construction_runner_; const scoped_refptr<base::SingleThreadTaskRunner> construction_runner_;
T* const self_deleting_object_; T* const self_deleting_object_;
const DeletionCallback deletion_callback_; DeletionCallback deletion_callback_;
//WeakPtrFactory's documentation says: // WeakPtrFactory's documentation says:
// Member variables should appear before the WeakPtrFactory, to ensure // Member variables should appear before the WeakPtrFactory, to ensure
// that any WeakPtrs to Controller are invalidated before its members // that any WeakPtrs to Controller are invalidated before its members
// variable's destructors are executed, rendering them invalid. // variable's destructors are executed, rendering them invalid.
......
...@@ -511,7 +511,7 @@ int main(int argc, char** argv) { ...@@ -511,7 +511,7 @@ int main(int argc, char** argv) {
} }
base::ScopedClosureRunner auto_resume_processes( base::ScopedClosureRunner auto_resume_processes(
base::Bind(&KillAll, pids, SIGCONT)); base::BindOnce(&KillAll, pids, SIGCONT));
KillAll(pids, SIGSTOP); KillAll(pids, SIGSTOP);
for (std::vector<pid_t>::const_iterator it = pids.begin(); it != pids.end(); for (std::vector<pid_t>::const_iterator it = pids.begin(); it != pids.end();
++it) { ++it) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment