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/deserializer.hpp"
7 #include "../include/message_impl.hpp"
8 
9 namespace vsomeip_v3 {
10 namespace sd {
11 
deserializer(std::uint32_t _shrink_buffer_threshold)12 deserializer::deserializer(std::uint32_t _shrink_buffer_threshold)
13         : vsomeip_v3::deserializer(_shrink_buffer_threshold) {
14 }
15 
deserializer(uint8_t * _data,std::size_t _length,std::uint32_t _shrink_buffer_threshold)16 deserializer::deserializer(uint8_t *_data, std::size_t _length,
17                            std::uint32_t _shrink_buffer_threshold)
18         : vsomeip_v3::deserializer(_data, _length, _shrink_buffer_threshold) {
19 }
20 
deserializer(const deserializer & _other)21 deserializer::deserializer(const deserializer &_other)
22         : vsomeip_v3::deserializer(_other) {
23 }
24 
~deserializer()25 deserializer::~deserializer() {
26 }
27 
deserialize_sd_message()28 message_impl * deserializer::deserialize_sd_message() {
29     message_impl* deserialized_message = new message_impl;
30     if (0 != deserialized_message) {
31         if (false == deserialized_message->deserialize(this)) {
32             delete deserialized_message;
33             deserialized_message = 0;
34         }
35     }
36 
37     return deserialized_message;
38 }
39 
40 } // namespace sd
41 } // namespace vsomeip_v3
42