Add function to read an adb property
This will allow to read the property "service.adb.tcp.port" to know if the TCP/IP mode is enabled on the device, and which listening port is used. PR #2827 <https://github.com/Genymobile/scrcpy/pull/2827>
This commit is contained in:
parent
8543d842ea
commit
800ba33ff4
2 changed files with 38 additions and 0 deletions
|
@ -373,6 +373,37 @@ adb_disconnect(struct sc_intr *intr, const char *ip_port, unsigned flags) {
|
||||||
return process_check_success_intr(intr, pid, "adb disconnect", flags);
|
return process_check_success_intr(intr, pid, "adb disconnect", flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
char *
|
||||||
|
adb_getprop(struct sc_intr *intr, const char *serial, const char *prop,
|
||||||
|
unsigned flags) {
|
||||||
|
const char *const adb_cmd[] = {"shell", "getprop", prop};
|
||||||
|
|
||||||
|
sc_pipe pout;
|
||||||
|
sc_pid pid =
|
||||||
|
adb_execute_p(serial, adb_cmd, ARRAY_LEN(adb_cmd), flags, &pout);
|
||||||
|
if (pid == SC_PROCESS_NONE) {
|
||||||
|
LOGE("Could not execute \"adb getprop\"");
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
char buf[128];
|
||||||
|
ssize_t r = sc_pipe_read_all_intr(intr, pid, pout, buf, sizeof(buf));
|
||||||
|
sc_pipe_close(pout);
|
||||||
|
|
||||||
|
bool ok = process_check_success_intr(intr, pid, "adb getprop", flags);
|
||||||
|
if (!ok) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (r == -1) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
sc_str_truncate(buf, r, " \r\n");
|
||||||
|
|
||||||
|
return strdup(buf);
|
||||||
|
}
|
||||||
|
|
||||||
char *
|
char *
|
||||||
adb_get_serialno(struct sc_intr *intr, unsigned flags) {
|
adb_get_serialno(struct sc_intr *intr, unsigned flags) {
|
||||||
const char *const adb_cmd[] = {"get-serialno"};
|
const char *const adb_cmd[] = {"get-serialno"};
|
||||||
|
|
|
@ -65,6 +65,13 @@ adb_connect(struct sc_intr *intr, const char *ip_port, unsigned flags);
|
||||||
bool
|
bool
|
||||||
adb_disconnect(struct sc_intr *intr, const char *ip_port, unsigned flags);
|
adb_disconnect(struct sc_intr *intr, const char *ip_port, unsigned flags);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Execute `adb getprop <prop>`
|
||||||
|
*/
|
||||||
|
char *
|
||||||
|
adb_getprop(struct sc_intr *intr, const char *serial, const char *prop,
|
||||||
|
unsigned flags);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Execute `adb get-serialno`
|
* Execute `adb get-serialno`
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in a new issue