Serializer.cpp 593 B

12345678910111213141516171819202122232425262728
  1. /*
  2. * Copyright (c) 2021, Jan de Visser <jan@de-visser.net>
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #include <LibSQL/Serializer.h>
  7. namespace SQL {
  8. void Serializer::serialize(DeprecatedString const& text)
  9. {
  10. serialize<u32>((u32)text.length());
  11. if (!text.is_empty())
  12. write((u8 const*)text.characters(), text.length());
  13. }
  14. void Serializer::deserialize_to(DeprecatedString& text)
  15. {
  16. auto length = deserialize<u32>();
  17. if (length > 0) {
  18. text = DeprecatedString(reinterpret_cast<char const*>(read(length)), length);
  19. } else {
  20. text = "";
  21. }
  22. }
  23. }