{# Copyright (C) 2020 Embedded AMS B.V. - All Rights Reserved This file is part of Embedded Proto. Embedded Proto is open source software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3 of the license. Embedded Proto is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Embedded Proto. If not, see . For commercial and closed source application please visit: . Embedded AMS B.V. Info: info at EmbeddedProto dot com Postal address: Johan Huizingalaan 763a 1066 VH, Amsterdam the Netherlands #} if(::EmbeddedProto::WireFormatter::WireType::{{field.get_wire_type_str()}} == wire_type) { uint32_t size; return_value = ::EmbeddedProto::WireFormatter::DeserializeVarint(buffer, size); ::EmbeddedProto::ReadBufferSection bufferSection(buffer, size); if(::EmbeddedProto::Error::NO_ERRORS == return_value) { return_value = mutable_{{field.get_name()}}().deserialize(bufferSection); } {% if field.oneof is not none %} if(::EmbeddedProto::Error::NO_ERRORS != return_value) { clear_{{field.get_name()}}(); } {% endif %} } else { // Wire type does not match field. return_value = ::EmbeddedProto::Error::INVALID_WIRETYPE; }