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 #include "../include/serviceentry_impl.hpp"
7 #include "../../message/include/deserializer.hpp"
8 #include "../../message/include/serializer.hpp"
9 
10 namespace vsomeip_v3 {
11 namespace sd {
12 
serviceentry_impl()13 serviceentry_impl::serviceentry_impl() {
14     minor_version_ = 0;
15 }
16 
~serviceentry_impl()17 serviceentry_impl::~serviceentry_impl() {
18 }
19 
get_minor_version() const20 minor_version_t serviceentry_impl::get_minor_version() const {
21     return minor_version_;
22 }
23 
set_minor_version(minor_version_t _version)24 void serviceentry_impl::set_minor_version(minor_version_t _version) {
25     minor_version_ = _version;
26 }
27 
serialize(vsomeip_v3::serializer * _to) const28 bool serviceentry_impl::serialize(vsomeip_v3::serializer *_to) const {
29     bool is_successful = entry_impl::serialize(_to);
30 
31     is_successful = is_successful
32             && _to->serialize(static_cast<uint8_t>(major_version_));
33     is_successful = is_successful
34             && _to->serialize(static_cast<uint32_t>(ttl_), true);
35     is_successful = is_successful
36             && _to->serialize(static_cast<uint32_t>(minor_version_));
37 
38     return is_successful;
39 }
40 
deserialize(vsomeip_v3::deserializer * _from)41 bool serviceentry_impl::deserialize(vsomeip_v3::deserializer *_from) {
42     bool is_successful = entry_impl::deserialize(_from);
43 
44     uint8_t tmp_major_version(0);
45     is_successful = is_successful && _from->deserialize(tmp_major_version);
46     major_version_ = static_cast<major_version_t>(tmp_major_version);
47 
48     uint32_t tmp_ttl(0);
49     is_successful = is_successful && _from->deserialize(tmp_ttl, true);
50     ttl_ = static_cast<ttl_t>(tmp_ttl);
51 
52     uint32_t tmp_minor_version(0);
53     is_successful = is_successful && _from->deserialize(tmp_minor_version);
54     minor_version_ = static_cast<minor_version_t>(tmp_minor_version);
55 
56     return is_successful;
57 }
58 
59 } // namespace sd
60 } // namespace vsomeip_v3
61