1 // Copyright (C) 2014-2018 Bayerische Motoren Werke Aktiengesellschaft (BMW AG)
2 // This Source Code Form is subject to the terms of the Mozilla Public
3 // License, v. 2.0. If a copy of the MPL was not distributed with this
4 // file, You can obtain one at http://mozilla.org/MPL/2.0/.
5 
6 #ifndef VSOMEIP_V3_SD_REQUEST_HPP_
7 #define VSOMEIP_V3_SD_REQUEST_HPP_
8 
9 #include <memory>
10 
11 #include <vsomeip/primitive_types.hpp>
12 
13 namespace vsomeip_v3 {
14 
15 class endpoint;
16 
17 namespace sd {
18 
19 class request {
20 public:
21     request(major_version_t _major, minor_version_t _minor, ttl_t _ttl);
22 
23     major_version_t get_major() const;
24     void set_major(major_version_t _major);
25 
26     minor_version_t get_minor() const;
27     void set_minor(minor_version_t _minor);
28 
29     ttl_t get_ttl() const;
30     void set_ttl(ttl_t _ttl);
31 
32     uint8_t get_sent_counter() const;
33     void set_sent_counter(uint8_t _sent_counter);
34 
35 private:
36     major_version_t major_;
37     minor_version_t minor_;
38     ttl_t ttl_;
39 
40     uint8_t sent_counter_;
41 };
42 
43 } // namespace sd
44 } // namespace vsomeip_v3
45 
46 #endif // VSOMEIP_V3_SD_REQUEST_HPP_
47