Aktualizr
C++ SOTA Client
All Classes Namespaces Files Functions Variables Enumerations Enumerator Pages
isotp_conn.h
1 #ifndef UPTANE_ISOTP_SEND_RECV_H_
2 #define UPTANE_ISOTP_SEND_RECV_H_
3 
4 #include <cstdint>
5 #include <string>
6 
7 #include "isotp/isotp.h"
8 
9 class IsoTpSendRecv {
10  public:
11  IsoTpSendRecv(std::string can_iface_, uint16_t canaddr_rx_, uint16_t canaddr_tx_);
12  bool Send(const std::string& out);
13  bool SendRecv(const std::string& out, std::string* in) { return Send(out) && Recv(in); }
14 
15  private:
16  std::string can_iface;
17  uint16_t canaddr_rx;
18  uint16_t canaddr_tx;
19  int can_socket;
20  IsoTpShims isotp_shims{};
21 
22  bool Recv(std::string* in);
23  static bool canSend(uint32_t arbitration_id, const uint8_t* data, uint8_t size, void* private_data);
24 };
25 
26 #endif // UPTANE_ISOTP_SEND_RECV_H_
General data structures.
Definition: types.cc:55