25#include "modules/common_msgs/drivers_msgs/can_card_parameter.pb.h"
40 uint32_t timeout_usec = 1000000);
43 uint32_t timeout_usec = 1000000);
48 uint32_t timeout_usec = 0);
51 const std::string &mountpoint,
52 const std::string &user,
53 const std::string &passwd,
54 uint32_t timeout_s = 30);
78 login_data_.assign(login_data.begin(), login_data.end());
82 for (
size_t i = 0; i < login_data_.size(); ++i) {
83 write(login_data_[i]);
84 AINFO <<
"Login: " << login_data_[i];
91 virtual size_t read(uint8_t *buffer,
size_t max_length) = 0;
94 virtual size_t write(
const uint8_t *buffer,
size_t length) = 0;
96 size_t write(
const std::string &buffer) {
97 return write(
reinterpret_cast<const uint8_t *
>(buffer.data()),
107 std::vector<std::string> login_data_;
virtual size_t write(const uint8_t *buffer, size_t length)=0
size_t write(const std::string &buffer)
virtual size_t read(uint8_t *buffer, size_t max_length)=0
Status get_status() const
static Stream * create_serial(const char *device_name, uint32_t baud_rate, uint32_t timeout_usec=0)
static constexpr size_t NUM_STATUS
virtual bool Disconnect()=0
static Stream * create_udp(const char *address, uint16_t port, uint32_t timeout_usec=1000000)
void RegisterLoginData(const std::vector< std::string > login_data)
static Stream * create_can(const apollo::drivers::canbus::CANCardParameter ¶meter)
static Stream * create_tcp(const char *address, uint16_t port, uint32_t timeout_usec=1000000)
static Stream * create_ntrip(const std::string &address, uint16_t port, const std::string &mountpoint, const std::string &user, const std::string &passwd, uint32_t timeout_s=30)
#define DISABLE_COPY_AND_ASSIGN(TypeName)