add support for serializing to xml

This commit is contained in:
2023-02-27 00:34:29 +01:00
parent f664cc1a53
commit 2e455f97ac
15 changed files with 652 additions and 195 deletions

View File

@@ -5,7 +5,7 @@
*/
/*
* Copyright (c) 2008-2022, Tomasz Sowa
* Copyright (c) 2008-2023, Tomasz Sowa
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -457,6 +457,8 @@ public:
void SetPlugin(Plugin * plugin);
void SetMounts(Mounts * mounts);
void set_json_connector(morm::JSONConnector * json_connector);
void set_xml_connector(morm::XMLConnector * xml_connector);
void fields();
@@ -544,6 +546,9 @@ private:
Plugin * plugin;
Mounts * mounts;
morm::JSONConnector * json_connector;
morm::XMLConnector * xml_connector;
BinaryPage output_8bit;
BinaryPage compressed_output;
pt::WTextStream output_tmp_filtered_stream;
@@ -578,7 +583,12 @@ private:
void PrepareCsvAnswer();
void PrepareContenerizedAnswer();
void PutSeparatorIfNeeded(bool put_separator);
void SerializeField(const wchar_t * field_name);
void SerializeClosingField(const wchar_t * field_name);
void SerializeFieldJson(const wchar_t * field_name);
void SerializeFieldXml(const wchar_t * field_name);
void SerializeClosingFieldXml(const wchar_t * field_name);
void SerializeFieldCsv(const wchar_t * field_name);
void SerializeStream(const pt::WTextStream & input_stream, const wchar_t * field_name);
void SerializeStreamJson(const pt::WTextStream & input_stream, const wchar_t * field_name);
void SerializeStreamXml(const pt::WTextStream & input_stream, const wchar_t * field_name);