Loading adb/adb.cpp +5 −5 Original line number Diff line number Diff line Loading @@ -1048,9 +1048,9 @@ HostRequestResult handle_host_request(std::string_view service, TransportType ty // New transport selection protocol: // This is essentially identical to the previous version, except it returns the selected // transport id to the caller as well. if (ConsumePrefix(&service, "tport:")) { if (android::base::ConsumePrefix(&service, "tport:")) { legacy = false; if (ConsumePrefix(&service, "serial:")) { if (android::base::ConsumePrefix(&service, "serial:")) { serial_storage = service; serial = serial_storage.c_str(); } else if (service == "usb") { Loading @@ -1064,7 +1064,7 @@ HostRequestResult handle_host_request(std::string_view service, TransportType ty // Selection by id is unimplemented, since you obviously already know the transport id // you're connecting to. } else { if (ConsumePrefix(&service, "transport-id:")) { if (android::base::ConsumePrefix(&service, "transport-id:")) { if (!ParseUint(&transport_id, service)) { SendFail(reply_fd, "invalid transport id"); return HostRequestResult::Handled; Loading @@ -1075,7 +1075,7 @@ HostRequestResult handle_host_request(std::string_view service, TransportType ty type = kTransportLocal; } else if (service == "transport-any") { type = kTransportAny; } else if (ConsumePrefix(&service, "transport:")) { } else if (android::base::ConsumePrefix(&service, "transport:")) { serial_storage = service; serial = serial_storage.c_str(); } Loading Loading @@ -1216,7 +1216,7 @@ HostRequestResult handle_host_request(std::string_view service, TransportType ty } // Indicates a new emulator instance has started. if (ConsumePrefix(&service, "emulator:")) { if (android::base::ConsumePrefix(&service, "emulator:")) { unsigned int port; if (!ParseUint(&port, service)) { LOG(ERROR) << "received invalid port for emulator: " << service; Loading adb/adb_utils.h +0 −8 Original line number Diff line number Diff line Loading @@ -141,11 +141,3 @@ inline bool ParseUint(T* result, std::string_view str, std::string_view* remaini return true; } inline bool ConsumePrefix(std::string_view* str, std::string_view prefix) { if (str->starts_with(prefix)) { str->remove_prefix(prefix.size()); return true; } return false; } adb/daemon/abb.cpp +3 −2 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ #include <sys/wait.h> #include <android-base/cmsg.h> #include <android-base/strings.h> #include <cmd.h> #include "adb.h" Loading Loading @@ -87,9 +88,9 @@ int main(int argc, char* const argv[]) { std::string_view name = data; auto protocol = SubprocessProtocol::kShell; if (ConsumePrefix(&name, "abb:")) { if (android::base::ConsumePrefix(&name, "abb:")) { protocol = SubprocessProtocol::kShell; } else if (ConsumePrefix(&name, "abb_exec:")) { } else if (android::base::ConsumePrefix(&name, "abb_exec:")) { protocol = SubprocessProtocol::kNone; } else { LOG(FATAL) << "Unknown command prefix for abb: " << data; Loading adb/daemon/services.cpp +11 −11 Original line number Diff line number Diff line Loading @@ -223,13 +223,13 @@ asocket* daemon_service_to_socket(std::string_view name) { return create_jdwp_service_socket(); } else if (name == "track-jdwp") { return create_jdwp_tracker_service_socket(); } else if (ConsumePrefix(&name, "sink:")) { } else if (android::base::ConsumePrefix(&name, "sink:")) { uint64_t byte_count = 0; if (!ParseUint(&byte_count, name)) { return nullptr; } return new SinkSocket(byte_count); } else if (ConsumePrefix(&name, "source:")) { } else if (android::base::ConsumePrefix(&name, "source:")) { uint64_t byte_count = 0; if (!ParseUint(&byte_count, name)) { return nullptr; Loading @@ -250,11 +250,11 @@ unique_fd daemon_service_to_fd(std::string_view name, atransport* transport) { #if defined(__ANDROID__) if (name.starts_with("framebuffer:")) { return create_service_thread("fb", framebuffer_service); } else if (ConsumePrefix(&name, "remount:")) { } else if (android::base::ConsumePrefix(&name, "remount:")) { std::string arg(name); return create_service_thread("remount", std::bind(remount_service, std::placeholders::_1, arg)); } else if (ConsumePrefix(&name, "reboot:")) { } else if (android::base::ConsumePrefix(&name, "reboot:")) { std::string arg(name); return create_service_thread("reboot", std::bind(reboot_service, std::placeholders::_1, arg)); Loading @@ -262,7 +262,7 @@ unique_fd daemon_service_to_fd(std::string_view name, atransport* transport) { return create_service_thread("root", restart_root_service); } else if (name.starts_with("unroot:")) { return create_service_thread("unroot", restart_unroot_service); } else if (ConsumePrefix(&name, "backup:")) { } else if (android::base::ConsumePrefix(&name, "backup:")) { std::string cmd = "/system/bin/bu backup "; cmd += name; return StartSubprocess(cmd, nullptr, SubprocessType::kRaw, SubprocessProtocol::kNone); Loading @@ -275,7 +275,7 @@ unique_fd daemon_service_to_fd(std::string_view name, atransport* transport) { } else if (name.starts_with("enable-verity:")) { return create_service_thread("verity-off", std::bind(set_verity_enabled_state_service, std::placeholders::_1, true)); } else if (ConsumePrefix(&name, "tcpip:")) { } else if (android::base::ConsumePrefix(&name, "tcpip:")) { std::string str(name); int port; Loading @@ -289,22 +289,22 @@ unique_fd daemon_service_to_fd(std::string_view name, atransport* transport) { } #endif if (ConsumePrefix(&name, "dev:")) { if (android::base::ConsumePrefix(&name, "dev:")) { return unique_fd{unix_open(name, O_RDWR | O_CLOEXEC)}; } else if (ConsumePrefix(&name, "jdwp:")) { } else if (android::base::ConsumePrefix(&name, "jdwp:")) { pid_t pid; if (!ParseUint(&pid, name)) { return unique_fd{}; } return create_jdwp_connection_fd(pid); } else if (ConsumePrefix(&name, "shell")) { } else if (android::base::ConsumePrefix(&name, "shell")) { return ShellService(name, transport); } else if (ConsumePrefix(&name, "exec:")) { } else if (android::base::ConsumePrefix(&name, "exec:")) { return StartSubprocess(std::string(name), nullptr, SubprocessType::kRaw, SubprocessProtocol::kNone); } else if (name.starts_with("sync:")) { return create_service_thread("sync", file_sync_service); } else if (ConsumePrefix(&name, "reverse:")) { } else if (android::base::ConsumePrefix(&name, "reverse:")) { return reverse_service(name, transport); } else if (name == "reconnect") { return create_service_thread( Loading adb/services.cpp +5 −5 Original line number Diff line number Diff line Loading @@ -202,7 +202,7 @@ asocket* host_service_to_socket(std::string_view name, std::string_view serial, return create_device_tracker(false); } else if (name == "track-devices-l") { return create_device_tracker(true); } else if (ConsumePrefix(&name, "wait-for-")) { } else if (android::base::ConsumePrefix(&name, "wait-for-")) { std::shared_ptr<state_info> sinfo = std::make_shared<state_info>(); if (sinfo == nullptr) { fprintf(stderr, "couldn't allocate state_info: %s", strerror(errno)); Loading @@ -212,11 +212,11 @@ asocket* host_service_to_socket(std::string_view name, std::string_view serial, sinfo->serial = serial; sinfo->transport_id = transport_id; if (ConsumePrefix(&name, "local")) { if (android::base::ConsumePrefix(&name, "local")) { sinfo->transport_type = kTransportLocal; } else if (ConsumePrefix(&name, "usb")) { } else if (android::base::ConsumePrefix(&name, "usb")) { sinfo->transport_type = kTransportUsb; } else if (ConsumePrefix(&name, "any")) { } else if (android::base::ConsumePrefix(&name, "any")) { sinfo->transport_type = kTransportAny; } else { return nullptr; Loading @@ -243,7 +243,7 @@ asocket* host_service_to_socket(std::string_view name, std::string_view serial, unique_fd fd = create_service_thread( "wait", [sinfo](unique_fd fd) { wait_for_state(std::move(fd), sinfo.get()); }); return create_local_socket(std::move(fd)); } else if (ConsumePrefix(&name, "connect:")) { } else if (android::base::ConsumePrefix(&name, "connect:")) { std::string host(name); unique_fd fd = create_service_thread( "connect", std::bind(connect_service, std::placeholders::_1, host)); Loading Loading
adb/adb.cpp +5 −5 Original line number Diff line number Diff line Loading @@ -1048,9 +1048,9 @@ HostRequestResult handle_host_request(std::string_view service, TransportType ty // New transport selection protocol: // This is essentially identical to the previous version, except it returns the selected // transport id to the caller as well. if (ConsumePrefix(&service, "tport:")) { if (android::base::ConsumePrefix(&service, "tport:")) { legacy = false; if (ConsumePrefix(&service, "serial:")) { if (android::base::ConsumePrefix(&service, "serial:")) { serial_storage = service; serial = serial_storage.c_str(); } else if (service == "usb") { Loading @@ -1064,7 +1064,7 @@ HostRequestResult handle_host_request(std::string_view service, TransportType ty // Selection by id is unimplemented, since you obviously already know the transport id // you're connecting to. } else { if (ConsumePrefix(&service, "transport-id:")) { if (android::base::ConsumePrefix(&service, "transport-id:")) { if (!ParseUint(&transport_id, service)) { SendFail(reply_fd, "invalid transport id"); return HostRequestResult::Handled; Loading @@ -1075,7 +1075,7 @@ HostRequestResult handle_host_request(std::string_view service, TransportType ty type = kTransportLocal; } else if (service == "transport-any") { type = kTransportAny; } else if (ConsumePrefix(&service, "transport:")) { } else if (android::base::ConsumePrefix(&service, "transport:")) { serial_storage = service; serial = serial_storage.c_str(); } Loading Loading @@ -1216,7 +1216,7 @@ HostRequestResult handle_host_request(std::string_view service, TransportType ty } // Indicates a new emulator instance has started. if (ConsumePrefix(&service, "emulator:")) { if (android::base::ConsumePrefix(&service, "emulator:")) { unsigned int port; if (!ParseUint(&port, service)) { LOG(ERROR) << "received invalid port for emulator: " << service; Loading
adb/adb_utils.h +0 −8 Original line number Diff line number Diff line Loading @@ -141,11 +141,3 @@ inline bool ParseUint(T* result, std::string_view str, std::string_view* remaini return true; } inline bool ConsumePrefix(std::string_view* str, std::string_view prefix) { if (str->starts_with(prefix)) { str->remove_prefix(prefix.size()); return true; } return false; }
adb/daemon/abb.cpp +3 −2 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ #include <sys/wait.h> #include <android-base/cmsg.h> #include <android-base/strings.h> #include <cmd.h> #include "adb.h" Loading Loading @@ -87,9 +88,9 @@ int main(int argc, char* const argv[]) { std::string_view name = data; auto protocol = SubprocessProtocol::kShell; if (ConsumePrefix(&name, "abb:")) { if (android::base::ConsumePrefix(&name, "abb:")) { protocol = SubprocessProtocol::kShell; } else if (ConsumePrefix(&name, "abb_exec:")) { } else if (android::base::ConsumePrefix(&name, "abb_exec:")) { protocol = SubprocessProtocol::kNone; } else { LOG(FATAL) << "Unknown command prefix for abb: " << data; Loading
adb/daemon/services.cpp +11 −11 Original line number Diff line number Diff line Loading @@ -223,13 +223,13 @@ asocket* daemon_service_to_socket(std::string_view name) { return create_jdwp_service_socket(); } else if (name == "track-jdwp") { return create_jdwp_tracker_service_socket(); } else if (ConsumePrefix(&name, "sink:")) { } else if (android::base::ConsumePrefix(&name, "sink:")) { uint64_t byte_count = 0; if (!ParseUint(&byte_count, name)) { return nullptr; } return new SinkSocket(byte_count); } else if (ConsumePrefix(&name, "source:")) { } else if (android::base::ConsumePrefix(&name, "source:")) { uint64_t byte_count = 0; if (!ParseUint(&byte_count, name)) { return nullptr; Loading @@ -250,11 +250,11 @@ unique_fd daemon_service_to_fd(std::string_view name, atransport* transport) { #if defined(__ANDROID__) if (name.starts_with("framebuffer:")) { return create_service_thread("fb", framebuffer_service); } else if (ConsumePrefix(&name, "remount:")) { } else if (android::base::ConsumePrefix(&name, "remount:")) { std::string arg(name); return create_service_thread("remount", std::bind(remount_service, std::placeholders::_1, arg)); } else if (ConsumePrefix(&name, "reboot:")) { } else if (android::base::ConsumePrefix(&name, "reboot:")) { std::string arg(name); return create_service_thread("reboot", std::bind(reboot_service, std::placeholders::_1, arg)); Loading @@ -262,7 +262,7 @@ unique_fd daemon_service_to_fd(std::string_view name, atransport* transport) { return create_service_thread("root", restart_root_service); } else if (name.starts_with("unroot:")) { return create_service_thread("unroot", restart_unroot_service); } else if (ConsumePrefix(&name, "backup:")) { } else if (android::base::ConsumePrefix(&name, "backup:")) { std::string cmd = "/system/bin/bu backup "; cmd += name; return StartSubprocess(cmd, nullptr, SubprocessType::kRaw, SubprocessProtocol::kNone); Loading @@ -275,7 +275,7 @@ unique_fd daemon_service_to_fd(std::string_view name, atransport* transport) { } else if (name.starts_with("enable-verity:")) { return create_service_thread("verity-off", std::bind(set_verity_enabled_state_service, std::placeholders::_1, true)); } else if (ConsumePrefix(&name, "tcpip:")) { } else if (android::base::ConsumePrefix(&name, "tcpip:")) { std::string str(name); int port; Loading @@ -289,22 +289,22 @@ unique_fd daemon_service_to_fd(std::string_view name, atransport* transport) { } #endif if (ConsumePrefix(&name, "dev:")) { if (android::base::ConsumePrefix(&name, "dev:")) { return unique_fd{unix_open(name, O_RDWR | O_CLOEXEC)}; } else if (ConsumePrefix(&name, "jdwp:")) { } else if (android::base::ConsumePrefix(&name, "jdwp:")) { pid_t pid; if (!ParseUint(&pid, name)) { return unique_fd{}; } return create_jdwp_connection_fd(pid); } else if (ConsumePrefix(&name, "shell")) { } else if (android::base::ConsumePrefix(&name, "shell")) { return ShellService(name, transport); } else if (ConsumePrefix(&name, "exec:")) { } else if (android::base::ConsumePrefix(&name, "exec:")) { return StartSubprocess(std::string(name), nullptr, SubprocessType::kRaw, SubprocessProtocol::kNone); } else if (name.starts_with("sync:")) { return create_service_thread("sync", file_sync_service); } else if (ConsumePrefix(&name, "reverse:")) { } else if (android::base::ConsumePrefix(&name, "reverse:")) { return reverse_service(name, transport); } else if (name == "reconnect") { return create_service_thread( Loading
adb/services.cpp +5 −5 Original line number Diff line number Diff line Loading @@ -202,7 +202,7 @@ asocket* host_service_to_socket(std::string_view name, std::string_view serial, return create_device_tracker(false); } else if (name == "track-devices-l") { return create_device_tracker(true); } else if (ConsumePrefix(&name, "wait-for-")) { } else if (android::base::ConsumePrefix(&name, "wait-for-")) { std::shared_ptr<state_info> sinfo = std::make_shared<state_info>(); if (sinfo == nullptr) { fprintf(stderr, "couldn't allocate state_info: %s", strerror(errno)); Loading @@ -212,11 +212,11 @@ asocket* host_service_to_socket(std::string_view name, std::string_view serial, sinfo->serial = serial; sinfo->transport_id = transport_id; if (ConsumePrefix(&name, "local")) { if (android::base::ConsumePrefix(&name, "local")) { sinfo->transport_type = kTransportLocal; } else if (ConsumePrefix(&name, "usb")) { } else if (android::base::ConsumePrefix(&name, "usb")) { sinfo->transport_type = kTransportUsb; } else if (ConsumePrefix(&name, "any")) { } else if (android::base::ConsumePrefix(&name, "any")) { sinfo->transport_type = kTransportAny; } else { return nullptr; Loading @@ -243,7 +243,7 @@ asocket* host_service_to_socket(std::string_view name, std::string_view serial, unique_fd fd = create_service_thread( "wait", [sinfo](unique_fd fd) { wait_for_state(std::move(fd), sinfo.get()); }); return create_local_socket(std::move(fd)); } else if (ConsumePrefix(&name, "connect:")) { } else if (android::base::ConsumePrefix(&name, "connect:")) { std::string host(name); unique_fd fd = create_service_thread( "connect", std::bind(connect_service, std::placeholders::_1, host)); Loading