aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/generator/keiluv/keiluvworkspacewriter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/generator/keiluv/keiluvworkspacewriter.cpp')
-rw-r--r--src/plugins/generator/keiluv/keiluvworkspacewriter.cpp61
1 files changed, 11 insertions, 50 deletions
diff --git a/src/plugins/generator/keiluv/keiluvworkspacewriter.cpp b/src/plugins/generator/keiluv/keiluvworkspacewriter.cpp
index e646a1122..9070a2542 100644
--- a/src/plugins/generator/keiluv/keiluvworkspacewriter.cpp
+++ b/src/plugins/generator/keiluv/keiluvworkspacewriter.cpp
@@ -28,70 +28,31 @@
**
****************************************************************************/
-#include "keiluvproperty.h"
-#include "keiluvpropertygroup.h"
-#include "keiluvworkspace.h"
#include "keiluvworkspacewriter.h"
-#include <ostream>
-
namespace qbs {
KeiluvWorkspaceWriter::KeiluvWorkspaceWriter(std::ostream *device)
- : m_device(device)
-{
- m_writer.reset(new QXmlStreamWriter(&m_buffer));
- m_writer->setAutoFormatting(true);
-}
-
-bool KeiluvWorkspaceWriter::write(const KeiluvWorkspace *workspace)
+ : gen::xml::WorkspaceWriter(device)
{
- m_buffer.clear();
- m_writer->writeStartDocument();
- workspace->accept(this);
- m_writer->writeEndDocument();
- if (m_writer->hasError())
- return false;
- m_device->write(&*std::begin(m_buffer), m_buffer.size());
- return m_device->good();
}
-void KeiluvWorkspaceWriter::visitStart(const KeiluvWorkspace *workspace)
+void KeiluvWorkspaceWriter::visitStart(const gen::xml::Workspace *workspace)
{
Q_UNUSED(workspace)
- m_writer->writeStartElement(QStringLiteral("ProjectWorkspace"));
- m_writer->writeAttribute(QStringLiteral("xmlns:xsi"),
- QStringLiteral("http://www.w3.org/2001/XMLSchema-instance"));
- m_writer->writeAttribute(QStringLiteral("xsi:noNamespaceSchemaLocation"),
- QStringLiteral("project_mpw.xsd"));
+ writer()->writeStartElement(QStringLiteral("ProjectWorkspace"));
+ writer()->writeAttribute(
+ QStringLiteral("xmlns:xsi"),
+ QStringLiteral("http://www.w3.org/2001/XMLSchema-instance"));
+ writer()->writeAttribute(
+ QStringLiteral("xsi:noNamespaceSchemaLocation"),
+ QStringLiteral("project_mpw.xsd"));
}
-void KeiluvWorkspaceWriter::visitEnd(const KeiluvWorkspace *workspace)
+void KeiluvWorkspaceWriter::visitEnd(const gen::xml::Workspace *workspace)
{
Q_UNUSED(workspace)
- m_writer->writeEndElement();
-}
-
-void KeiluvWorkspaceWriter::visitStart(const KeiluvProperty *property)
-{
- const QString stringValue = property->value().toString();
- m_writer->writeTextElement(QString::fromLatin1(property->name()), stringValue);
-}
-
-void KeiluvWorkspaceWriter::visitEnd(const KeiluvProperty *property)
-{
- Q_UNUSED(property)
-}
-
-void KeiluvWorkspaceWriter::visitStart(const KeiluvPropertyGroup *propertyGroup)
-{
- m_writer->writeStartElement(QString::fromLatin1(propertyGroup->name()));
-}
-
-void KeiluvWorkspaceWriter::visitEnd(const KeiluvPropertyGroup *propertyGroup)
-{
- Q_UNUSED(propertyGroup)
- m_writer->writeEndElement();
+ writer()->writeEndElement();
}
} // namespace qbs