blob: 96416f52fb211158456a314ac2f7d457f0d840d7 [file] [log] [blame]
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -08001#ifndef _ADB_CLIENT_H_
2#define _ADB_CLIENT_H_
3
4#include "adb.h"
5
Elliott Hughes078f0fc2015-04-29 08:35:59 -07006#include <string>
7
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -08008/* connect to adb, connect to the named service, and return
9** a valid fd for interacting with that service upon success
10** or a negative number on failure
11*/
Elliott Hughes6452a892015-04-29 12:28:13 -070012int adb_connect(const std::string& service, std::string* error);
13int _adb_connect(const std::string& service, std::string* error);
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -080014
15/* connect to adb, connect to the named service, return 0 if
16** the connection succeeded AND the service returned OKAY
17*/
Elliott Hughes6452a892015-04-29 12:28:13 -070018int adb_command(const std::string& service, std::string* error);
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -080019
Elliott Hughes6452a892015-04-29 12:28:13 -070020// Connects to the named adb service and fills 'result' with the response.
21// Returns true on success; returns false and fills 'error' on failure.
22bool adb_query(const std::string& service, std::string* result, std::string* error);
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -080023
24/* Set the preferred transport to connect to.
25*/
26void adb_set_transport(transport_type type, const char* serial);
27
Stefan Hilzingerd0eacb82010-04-19 12:21:12 +010028/* Set TCP specifics of the transport to use
29*/
30void adb_set_tcp_specifics(int server_port);
31
Matt Gumbeld7b33082012-11-14 10:16:17 -080032/* Set TCP Hostname of the transport to use
33*/
34void adb_set_tcp_name(const char* hostname);
35
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -080036/* Return the console port of the currently connected emulator (if any)
37 * of -1 if there is no emulator, and -2 if there is more than one.
38 * assumes adb_set_transport() was alled previously...
39 */
40int adb_get_emulator_console_port(void);
41
42/* send commands to the current emulator instance. will fail if there
43 * is zero, or more than one emulator connected (or if you use -s <serial>
44 * with a <serial> that does not designate an emulator)
45 */
Dan Albertbac34742015-02-25 17:51:28 -080046int adb_send_emulator_command(int argc, const char** argv);
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -080047
Elliott Hughes078f0fc2015-04-29 08:35:59 -070048// Reads a standard adb status response (OKAY|FAIL) and
49// returns true in the event of OKAY, false in the event of FAIL
50// or protocol error.
51bool adb_status(int fd, std::string* error);
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -080052
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -080053#endif