SerializableSectionPairRowSingleValue.cpp 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. /*
  2. * Author: Patrick-Christopher Mattulat
  3. * Company: Lynar Studios
  4. * E-Mail: webmaster@lynarstudios.com
  5. * Created: 2023-02-11
  6. * Changed: 2023-02-11
  7. *
  8. * */
  9. #include <ls-std/core/evaluator/EmptyStringArgumentEvaluator.hpp>
  10. #include <ls-std/core/evaluator/NullPointerArgumentEvaluator.hpp>
  11. #include <ls-std/io/section-pair/SerializableSectionPairRowSingleValue.hpp>
  12. ls::std::io::SerializableSectionPairRowSingleValue::SerializableSectionPairRowSingleValue(const ::std::shared_ptr<ls::std::io::SectionPairRowSingleValue> &_value)
  13. {
  14. this->_setValue(_value);
  15. }
  16. ls::std::io::SerializableSectionPairRowSingleValue::~SerializableSectionPairRowSingleValue() = default;
  17. ::std::shared_ptr<ls::std::io::SectionPairRowSingleValue> ls::std::io::SerializableSectionPairRowSingleValue::getValue()
  18. {
  19. return this->value;
  20. }
  21. ls::std::core::type::byte_field ls::std::io::SerializableSectionPairRowSingleValue::marshal()
  22. {
  23. return this->value->get();
  24. }
  25. void ls::std::io::SerializableSectionPairRowSingleValue::unmarshal(const ls::std::core::type::byte_field &_data)
  26. {
  27. ls::std::core::EmptyStringArgumentEvaluator{_data}.evaluate();
  28. this->value->set(_data);
  29. }
  30. void ls::std::io::SerializableSectionPairRowSingleValue::_setValue(const ::std::shared_ptr<ls::std::io::SectionPairRowSingleValue> &_value)
  31. {
  32. ls::std::core::NullPointerArgumentEvaluator{_value, "model reference for SerializableSectionPairRowSingleValue is null!"}.evaluate();
  33. this->value = _value;
  34. }