File indexing completed on 2024-05-19 04:23:36

0001 // SPDX-FileCopyrightText: 2012-2013 Jesper K. Pedersen <jesper.pedersen@kdab.com>
0002 // SPDX-FileCopyrightText: 2013-2023 Johannes Zarl-Zierl <johannes@zarl-zierl.at>
0003 //
0004 // SPDX-License-Identifier: GPL-2.0-or-later
0005 
0006 #include "ElementWriter.h"
0007 
0008 #include <QXmlStreamWriter>
0009 
0010 DB::ElementWriter::ElementWriter(QXmlStreamWriter &writer, const QString &elementName, bool writeAtOnce)
0011     : m_writer(writer)
0012     , m_elementName(elementName)
0013     , m_haveWrittenStartTag(writeAtOnce)
0014 {
0015     if (writeAtOnce)
0016         m_writer.writeStartElement(m_elementName);
0017 }
0018 
0019 void DB::ElementWriter::writeStartElement()
0020 {
0021     if (m_haveWrittenStartTag)
0022         return;
0023 
0024     m_haveWrittenStartTag = true;
0025     m_writer.writeStartElement(m_elementName);
0026 }
0027 
0028 DB::ElementWriter::~ElementWriter()
0029 {
0030     if (m_haveWrittenStartTag)
0031         m_writer.writeEndElement();
0032 }
0033 // vi:expandtab:tabstop=4 shiftwidth=4: