39#ifndef SCPILxiTransport_h
40#define SCPILxiTransport_h
49 SCPILxiTransport(
const std::string& args);
50 virtual ~SCPILxiTransport();
53 SCPILxiTransport(
const SCPILxiTransport&) =
delete;
54 SCPILxiTransport& operator=(
const SCPILxiTransport&) =
delete;
56 virtual std::string GetConnectionString()
override;
57 static std::string GetTransportName();
59 virtual bool SendCommand(
const std::string& cmd)
override;
60 virtual std::string ReadReply(
bool endOnSemicolon =
true, std::function<
void(
float)> progress =
nullptr)
override;
61 virtual size_t ReadRawData(
size_t len,
unsigned char* buf, std::function<
void(
float)> progress =
nullptr)
override;
62 virtual void SendRawData(
size_t len,
const unsigned char* buf)
override;
64 virtual bool IsCommandBatchingSupported()
override;
65 virtual bool IsConnected()
override;
67 TRANSPORT_INITPROC(SCPILxiTransport)
69 std::string GetHostname()
70 {
return m_hostname; }
72 virtual void FlushRXBuffer()
override;
75 static bool m_lxi_initialized;
77 std::string m_hostname;
78 unsigned short m_port;
83 int m_staging_buf_size;
84 unsigned char *m_staging_buf;
85 int m_data_in_staging_buf;
Abstraction of a transport layer for moving SCPI data between endpoints.
Definition: SCPITransport.h:47