1 // Copyright (C) 2014-2017 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_CFG_E2E_HPP_
7 #define VSOMEIP_V3_CFG_E2E_HPP_
8 
9 #include <map>
10 #include <string>
11 #include <vector>
12 
13 #include <vsomeip/primitive_types.hpp>
14 
15 namespace vsomeip_v3 {
16 namespace cfg {
17 
18 struct e2e {
19     typedef std::map<std::string, std::string> custom_parameters_t;
20 
e2evsomeip_v3::cfg::e2e21     e2e() :
22         variant(""),
23         profile(""),
24         service_id(0),
25         event_id(0) {
26     }
27 
e2evsomeip_v3::cfg::e2e28     e2e(std::string _variant, std::string _profile, service_t _service_id,
29         event_t _event_id, custom_parameters_t&& _custom_parameters) :
30         variant(_variant),
31         profile(_profile),
32         service_id(_service_id),
33         event_id(_event_id),
34         custom_parameters(_custom_parameters) {
35     }
36 
37     // common config
38     std::string variant;
39     std::string profile;
40     service_t service_id;
41     event_t event_id;
42 
43     // custom parameters
44     custom_parameters_t custom_parameters;
45 };
46 
47 } // namespace cfg
48 } // namespace vsomeip_v3
49 
50 #endif // VSOMEIP_V3_CFG_E2E_HPP_
51