FieldEnum_Serialize.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. {#
  2. Copyright (C) 2020 Embedded AMS B.V. - All Rights Reserved
  3. This file is part of Embedded Proto.
  4. Embedded Proto is open source software: you can redistribute it and/or
  5. modify it under the terms of the GNU General Public License as published
  6. by the Free Software Foundation, version 3 of the license.
  7. Embedded Proto is distributed in the hope that it will be useful,
  8. but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  10. GNU General Public License for more details.
  11. You should have received a copy of the GNU General Public License
  12. along with Embedded Proto. If not, see <https://www.gnu.org/licenses/>.
  13. For commercial and closed source application please visit:
  14. <https://EmbeddedProto.com/license/>.
  15. Embedded AMS B.V.
  16. Info:
  17. info at EmbeddedProto dot com
  18. Postal address:
  19. Johan Huizingalaan 763a
  20. 1066 VH, Amsterdam
  21. the Netherlands
  22. #}
  23. if(({{field.get_default_value()}} != {{field.get_variable_name()}}) && (::EmbeddedProto::Error::NO_ERRORS == return_value))
  24. {
  25. EmbeddedProto::uint32 value;
  26. value.set(static_cast<uint32_t>({{field.get_variable_name()}}));
  27. return_value = value.serialize_with_id(static_cast<uint32_t>(id::{{field.get_variable_id_name()}}), buffer);
  28. }