1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-25 02:04:23 +00:00

Added handy new function parseXMLIfTagMatches(), and refactored a lot of old code that was parsing XML in a more clunky way

This commit is contained in:
jules 2019-05-19 08:13:20 +01:00
parent 3b36c3e198
commit 0fb8c8e82a
20 changed files with 130 additions and 148 deletions

View file

@ -178,11 +178,10 @@ void ProjucerAnalyticsDestination::stopLoggingEvents()
//==============================================================================
void ProjucerAnalyticsDestination::saveUnloggedEvents (const std::deque<AnalyticsEvent>& eventsToSave)
{
XmlDocument previouslySavedEvents (savedEventsFile);
std::unique_ptr<XmlElement> xml (previouslySavedEvents.getDocumentElement());
auto xml = parseXMLIfTagMatches (savedEventsFile, "events");
if (xml.get() == nullptr || xml->getTagName() != "events")
xml.reset (new XmlElement ("events"));
if (xml == nullptr)
xml = std::make_unique<XmlElement> ("events");
for (auto& event : eventsToSave)
{
@ -214,10 +213,9 @@ void ProjucerAnalyticsDestination::saveUnloggedEvents (const std::deque<Analytic
void ProjucerAnalyticsDestination::restoreUnloggedEvents (std::deque<AnalyticsEvent>& restoredEventQueue)
{
XmlDocument savedEvents (savedEventsFile);
std::unique_ptr<XmlElement> xml (savedEvents.getDocumentElement());
auto xml = parseXMLIfTagMatches (savedEventsFile, "events");
if (xml.get() == nullptr || xml->getTagName() != "events")
if (xml == nullptr)
return;
auto numEvents = xml->getNumChildElements();