1#ifndef _ADB_CLIENT_H_
2#define _ADB_CLIENT_H_
3
4#include "adb.h"
5
6#include <string>
7
8/* 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*/
12int adb_connect(const std::string& service, std::string* error);
13int _adb_connect(const std::string& service, std::string* error);
14
15/* connect to adb, connect to the named service, return 0 if
16** the connection succeeded AND the service returned OKAY
17*/
18int adb_command(const std::string& service, std::string* error);
19
20// 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);
23
24/* Set the preferred transport to connect to.
25*/
26void adb_set_transport(transport_type type, const char* serial);
27
28/* Set TCP specifics of the transport to use
29*/
30void adb_set_tcp_specifics(int server_port);
31
32/* Set TCP Hostname of the transport to use
33*/
34void adb_set_tcp_name(const char* hostname);
35
36/* 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 */
46int  adb_send_emulator_command(int  argc, const char**  argv);
47
48// 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);
52
53#endif
54