LLDB mainline
lldb_private::platform_android::AdbClient Class Reference

#include <AdbClient.h>

Public Types

enum  UnixSocketNamespace { UnixSocketNamespaceAbstract , UnixSocketNamespaceFileSystem }
using DeviceIDList = std::list<std::string>

Public Member Functions

 AdbClient ()
 AdbClient (llvm::StringRef device_id)
virtual ~AdbClient ()
llvm::StringRef GetDeviceID () const
Status SetPortForwarding (const uint16_t local_port, const uint16_t remote_port)
Status SetPortForwarding (const uint16_t local_port, llvm::StringRef remote_socket_name, const UnixSocketNamespace socket_namespace)
Status DeletePortForwarding (const uint16_t local_port)
Status Shell (const char *command, std::chrono::milliseconds timeout, std::string *output)
virtual Status ShellToFile (const char *command, std::chrono::milliseconds timeout, const FileSpec &output_file_spec)
Status Connect ()

Static Public Member Functions

static llvm::Expected< std::string > ResolveDeviceID (llvm::StringRef device_id)
 Resolves a device identifier to its canonical form.

Private Member Functions

Status SendDeviceMessage (llvm::StringRef packet)
Status ReadMessageStream (std::vector< char > &message, std::chrono::milliseconds timeout)
Status internalShell (const char *command, std::chrono::milliseconds timeout, std::vector< char > &output_buf)

Private Attributes

std::string m_device_id
std::unique_ptr< Connectionm_conn

Detailed Description

Definition at line 27 of file AdbClient.h.

Member Typedef Documentation

◆ DeviceIDList

Definition at line 34 of file AdbClient.h.

Member Enumeration Documentation

◆ UnixSocketNamespace

Enumerator
UnixSocketNamespaceAbstract 
UnixSocketNamespaceFileSystem 

Definition at line 29 of file AdbClient.h.

Constructor & Destructor Documentation

◆ AdbClient() [1/2]

AdbClient::AdbClient ( )

Definition at line 261 of file AdbClient.cpp.

References Connect(), lldb_private::GetLog(), LLDB_LOGF, m_conn, and lldb_private::Platform.

◆ AdbClient() [2/2]

AdbClient::AdbClient ( llvm::StringRef device_id)
explicit

◆ ~AdbClient()

AdbClient::~AdbClient ( )
virtual

Definition at line 270 of file AdbClient.cpp.

References lldb_private::GetLog(), LLDB_LOGF, m_device_id, and lldb_private::Platform.

Member Function Documentation

◆ Connect()

Status AdbClient::Connect ( )

Definition at line 279 of file AdbClient.cpp.

References ConnectToAdb(), m_conn, and lldb_private::Status.

Referenced by AdbClient(), and AdbClient().

◆ DeletePortForwarding()

Status AdbClient::DeletePortForwarding ( const uint16_t local_port)

Definition at line 318 of file AdbClient.cpp.

References error(), m_conn, ReadResponseStatus(), and SendDeviceMessage().

Referenced by DeleteForwardPortWithAdb().

◆ GetDeviceID()

llvm::StringRef AdbClient::GetDeviceID ( ) const

Definition at line 277 of file AdbClient.cpp.

References m_device_id.

◆ internalShell()

Status AdbClient::internalShell ( const char * command,
std::chrono::milliseconds timeout,
std::vector< char > & output_buf )
private

◆ ReadMessageStream()

Status AdbClient::ReadMessageStream ( std::vector< char > & message,
std::chrono::milliseconds timeout )
private

◆ ResolveDeviceID()

Expected< std::string > AdbClient::ResolveDeviceID ( llvm::StringRef device_id)
static

Resolves a device identifier to its canonical form.

Parameters
device_idthe device identifier to resolve (may be empty).
Returns
Expected<std::string> containing the resolved device ID on success, or an Error if the device ID cannot be resolved or is ambiguous.

Definition at line 185 of file AdbClient.cpp.

References ConnectToAdb(), createStringError(), error(), lldb_private::GetLog(), LLDB_LOGF, lldb_private::Platform, ReadAdbMessage(), ReadResponseStatus(), and SendAdbMessage().

Referenced by lldb_private::platform_android::PlatformAndroid::ConnectRemote(), and ForwardPortWithAdb().

◆ SendDeviceMessage()

Status AdbClient::SendDeviceMessage ( llvm::StringRef packet)
private

Definition at line 329 of file AdbClient.cpp.

References m_conn, m_device_id, and SendAdbMessage().

Referenced by DeletePortForwarding(), SetPortForwarding(), and SetPortForwarding().

◆ SetPortForwarding() [1/2]

Status AdbClient::SetPortForwarding ( const uint16_t local_port,
const uint16_t remote_port )

Definition at line 286 of file AdbClient.cpp.

References error(), m_conn, ReadResponseStatus(), and SendDeviceMessage().

Referenced by ForwardPortWithAdb().

◆ SetPortForwarding() [2/2]

Status AdbClient::SetPortForwarding ( const uint16_t local_port,
llvm::StringRef remote_socket_name,
const UnixSocketNamespace socket_namespace )

◆ Shell()

Status AdbClient::Shell ( const char * command,
std::chrono::milliseconds timeout,
std::string * output )

Definition at line 397 of file AdbClient.cpp.

References error(), and internalShell().

◆ ShellToFile()

Status AdbClient::ShellToFile ( const char * command,
std::chrono::milliseconds timeout,
const FileSpec & output_file_spec )
virtual

Member Data Documentation

◆ m_conn

std::unique_ptr<Connection> lldb_private::platform_android::AdbClient::m_conn
private

◆ m_device_id

std::string lldb_private::platform_android::AdbClient::m_device_id
private

Definition at line 79 of file AdbClient.h.

Referenced by AdbClient(), GetDeviceID(), internalShell(), SendDeviceMessage(), and ~AdbClient().


The documentation for this class was generated from the following files: