Woman, Life, Freedom


DoIP Library
Diagnostics over Internet Protocol (DoIP) C++ library
diag_message.h
1#ifndef DIAG_MESSAGE_H
2#define DIAG_MESSAGE_H
3
4#include "./message.h"
5
6namespace DoipLib
7{
9 class DiagMessage : public Message
10 {
11 private:
12 static const PayloadType cPayloadType{PayloadType::DiagMessage};
13
14 uint16_t mSourceAddress;
15 uint16_t mTargetAddress;
16 std::vector<uint8_t> mUserData;
17
18 protected:
19 void GetPayload(std::vector<uint8_t> &payload) const override;
20
21 virtual bool TrySetPayload(
22 const std::vector<uint8_t> &payload,
23 uint32_t payloadLength) override;
24
25 public:
27
34 uint8_t protocolVersion,
35 uint16_t sourceAddress,
36 uint16_t targetAddress,
37 const std::vector<uint8_t> &userData);
38
45 uint8_t protocolVersion,
46 uint16_t sourceAddress,
47 uint16_t targetAddress,
48 std::vector<uint8_t> &&userData);
49
52 uint16_t GetSourceAddress() const noexcept;
53
56 uint16_t GetTargetAddress() const noexcept;
57
60 void GetUserData(std::vector<uint8_t> &userData) const;
61 };
62}
63
64#endif
Diagnostic message (e.g., an UDS message)
Definition: diag_message.h:10
DiagMessage(uint8_t protocolVersion, uint16_t sourceAddress, uint16_t targetAddress, std::vector< uint8_t > &&userData)
Constructor.
virtual bool TrySetPayload(const std::vector< uint8_t > &payload, uint32_t payloadLength) override
Try to set message payload.
void GetUserData(std::vector< uint8_t > &userData) const
Get user data.
uint16_t GetTargetAddress() const noexcept
Get message target address.
uint16_t GetSourceAddress() const noexcept
Get message source address.
DiagMessage(uint8_t protocolVersion, uint16_t sourceAddress, uint16_t targetAddress, const std::vector< uint8_t > &userData)
Constructor.
void GetPayload(std::vector< uint8_t > &payload) const override
Get message payload.
DoIP generic message.
Definition: message.h:12