Showing the changes to Source/Libraries/TimeSeriesPlatformLibrary/Data/DataSet.cpp (1 of 20 files). Show all
Unified · Split
| @@ -136,10 +136,15 @@ void DataSet::ReadXml(const string& fileName) · 135 unmodified lines | |||
| 136 | } | 136 | } |
| 137 | 137 | ||
| 138 | void DataSet::ReadXml(const vector<uint8_t>& buffer) | 138 | void DataSet::ReadXml(const vector<uint8_t>& buffer) |
| 139 | { | ||
| 140 | ReadXml(buffer.data(), buffer.size()); | ||
| 141 | } | ||
| 142 | |||
| 143 | void DataSet::ReadXml(const uint8_t* buffer, uint32_t length) | ||
| 139 | { | 144 | { |
| 140 | xml_document document; | 145 | xml_document document; |
| 141 | 146 | ||
| 142 | const xml_parse_result result = document.load_buffer_inplace(const_cast<uint8_t*>(buffer.data()), buffer.size()); | 147 | const xml_parse_result result = document.load_buffer_inplace(const_cast<uint8_t*>(buffer), length); |
| 143 | 148 | ||
| 144 | if (result.status != xml_parse_status::status_ok) | 149 | if (result.status != xml_parse_status::status_ok) |
| 145 | throw DataSetException("Failed to load XML from buffer: " + string(result.description())); | 150 | throw DataSetException("Failed to load XML from buffer: " + string(result.description())); |
| @@ -147,6 +152,11 @@ void DataSet::ReadXml(const vector<uint8_t>& buffer) · 1 unmodified line | |||
| 147 | ParseXml(document); | 152 | ParseXml(document); |
| 148 | } | 153 | } |
| 149 | 154 | ||
| 155 | void DataSet::ReadXml(const pugi::xml_document& document) | ||
| 156 | { | ||
| 157 | ParseXml(document); | ||
| 158 | } | ||
| 159 | |||
| 150 | void DataSet::WriteXml(const string& fileName, const string& dataSetName) const | 160 | void DataSet::WriteXml(const string& fileName, const string& dataSetName) const |
| 151 | { | 161 | { |
| 152 | xml_document document; | 162 | xml_document document; |
| @@ -162,6 +172,11 @@ void DataSet::WriteXml(vector<uint8_t>& buffer, const string& dataSetName) const · 9 unmodified lines | |||
| 162 | document.save(writer, " "); | 172 | document.save(writer, " "); |
| 163 | } | 173 | } |
| 164 | 174 | ||
| 175 | void DataSet::WriteXml(pugi::xml_document& document, const std::string& dataSetName) const | ||
| 176 | { | ||
| 177 | GenerateXml(document, dataSetName); | ||
| 178 | } | ||
| 179 | |||
| 165 | DataSetPtr DataSet::FromXml(const std::string& fileName) | 180 | DataSetPtr DataSet::FromXml(const std::string& fileName) |
| 166 | { | 181 | { |
| 167 | DataSetPtr dataSet = NewSharedPtr<DataSet>(); | 182 | DataSetPtr dataSet = NewSharedPtr<DataSet>(); |
| @@ -176,6 +191,19 @@ DataSetPtr DataSet::FromXml(const std::vector<uint8_t>& buffer) · 8 unmodified lines | |||
| 176 | return dataSet; | 191 | return dataSet; |
| 177 | } | 192 | } |
| 178 | 193 | ||
| 194 | DataSetPtr DataSet::FromXml(const uint8_t* buffer, uint32_t length) | ||
| 195 | { | ||
| 196 | DataSetPtr dataSet = NewSharedPtr<DataSet>(); | ||
| 197 | dataSet->ReadXml(buffer, length); | ||
| 198 | return dataSet;} | ||
| 199 | |||
| 200 | DataSetPtr DataSet::FromXml(const pugi::xml_document& document) | ||
| 201 | { | ||
| 202 | DataSetPtr dataSet = NewSharedPtr<DataSet>(); | ||
| 203 | dataSet->ReadXml(document); | ||
| 204 | return dataSet; | ||
| 205 | } | ||
| 206 | |||
| 179 | void DataSet::ParseXml(const xml_document& document) | 207 | void DataSet::ParseXml(const xml_document& document) |
| 180 | { | 208 | { |
| 181 | // Find root node | 209 | // Find root node |