{#
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;
}