libdoip  0.1.0
DoIP (Diagnostics over Internet Protocol) ISO 13400 C++17 Library
LambdaUdsHandler.h
Go to the documentation of this file.
1 #ifndef LAMBDAUDSHANDLER_H
2 #define LAMBDAUDSHANDLER_H
3 
4 #include "IUdsServiceHandler.h"
5 #include <functional>
6 
7 namespace doip::uds {
8 
10 public:
11  using Fn = std::function<UdsResponse(const ByteArray &)>;
12  explicit LambdaUdsHandler(Fn fn) : m_fn(std::move(fn)) {}
13  UdsResponse handle(const ByteArray &request) override { return m_fn(request); }
14 
15 private:
16  Fn m_fn;
17 };
18 
19 } // namespace doip::uds
20 
21 #endif // LAMBDAUDSHANDLER_H
UdsResponse handle(const ByteArray &request) override
std::function< UdsResponse(const ByteArray &)> Fn
std::pair< UdsResponseCode, ByteArray > UdsResponse
A dynamic array of bytes with utility methods for network protocol handling.
Definition: ByteArray.h:60