SerializableSectionPairRowProvider.cpp 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. /*
  2. * Author: Patrick-Christopher Mattulat
  3. * Company: Lynar Studios
  4. * E-Mail: webmaster@lynarstudios.com
  5. * Created: 2023-02-17
  6. * Changed: 2023-02-17
  7. *
  8. * */
  9. #include "SerializableSectionPairRowProvider.hpp"
  10. test::io::SerializableSectionPairRowProvider::SerializableSectionPairRowProvider() = default;
  11. test::io::SerializableSectionPairRowProvider::~SerializableSectionPairRowProvider() = default;
  12. ::std::shared_ptr<ls::std::io::SerializableSectionPairRow> test::io::SerializableSectionPairRowProvider::createListValueForMarshal(const ::std::string &_newLine)
  13. {
  14. ls::std::io::SerializableSectionPairParameter parameter{};
  15. parameter.setNewLine(_newLine);
  16. ::std::shared_ptr<ls::std::io::SectionPairRow> row = ::std::make_shared<ls::std::io::SectionPairRow>("favourite-colors", ls::std::io::SectionPairRowEnumType::SECTION_PAIR_ROW_LIST_VALUE);
  17. parameter.setValue(row);
  18. ::std::shared_ptr<ls::std::io::SectionPairRowListValue> listValue = ::std::dynamic_pointer_cast<ls::std::io::SectionPairRowListValue>(row->getValue());
  19. listValue->add("blue");
  20. listValue->add("red");
  21. listValue->add("purple");
  22. return ::std::make_shared<ls::std::io::SerializableSectionPairRow>(parameter);
  23. }
  24. ::std::shared_ptr<ls::std::io::SerializableSectionPairRow> test::io::SerializableSectionPairRowProvider::createListValueForUnmarshal(const ::std::string &_newLine)
  25. {
  26. ls::std::io::SerializableSectionPairParameter parameter{};
  27. parameter.setNewLine(_newLine);
  28. ::std::shared_ptr<ls::std::io::SectionPairRow> row = ::std::make_shared<ls::std::io::SectionPairRow>("tmp-key", ls::std::io::SectionPairRowEnumType::SECTION_PAIR_ROW_LIST_VALUE);
  29. parameter.setValue(row);
  30. return ::std::make_shared<ls::std::io::SerializableSectionPairRow>(parameter);
  31. }
  32. ::std::shared_ptr<ls::std::io::SerializableSectionPairRow> test::io::SerializableSectionPairRowProvider::createSingleValueForMarshal(const ::std::string &_newLine)
  33. {
  34. ls::std::io::SerializableSectionPairParameter parameter{};
  35. parameter.setNewLine(_newLine);
  36. ::std::shared_ptr<ls::std::io::SectionPairRow> row = ::std::make_shared<ls::std::io::SectionPairRow>("favourite-color", ls::std::io::SectionPairRowEnumType::SECTION_PAIR_ROW_SINGLE_VALUE);
  37. parameter.setValue(row);
  38. ::std::shared_ptr<ls::std::io::SectionPairRowSingleValue> singleValue = ::std::dynamic_pointer_cast<ls::std::io::SectionPairRowSingleValue>(row->getValue());
  39. singleValue->set("blue");
  40. return ::std::make_shared<ls::std::io::SerializableSectionPairRow>(parameter);
  41. }
  42. ::std::shared_ptr<ls::std::io::SerializableSectionPairRow> test::io::SerializableSectionPairRowProvider::createSingleValueForUnmarshal(const ::std::string &_newLine)
  43. {
  44. ls::std::io::SerializableSectionPairParameter parameter{};
  45. parameter.setNewLine(_newLine);
  46. ::std::shared_ptr<ls::std::io::SectionPairRow> row = ::std::make_shared<ls::std::io::SectionPairRow>("tmp-key", ls::std::io::SectionPairRowEnumType::SECTION_PAIR_ROW_SINGLE_VALUE);
  47. parameter.setValue(row);
  48. return ::std::make_shared<ls::std::io::SerializableSectionPairRow>(parameter);
  49. }