summaryrefslogtreecommitdiffstats
path: root/tools/repc/cppcodegenerator.cpp
blob: b23f6b3d85944af1de15ae3df5cf7d07c59e02d3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// Copyright (C) 2017 Ford Motor Company
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0

#include <qiodevice.h>
#include <qjsonarray.h>
#include <qjsonvalue.h>

#include "cppcodegenerator.h"
#include "utils.h"

QT_BEGIN_NAMESPACE

CppCodeGenerator::CppCodeGenerator(QIODevice *outputDevice)
    : m_outputDevice(outputDevice)
{
    Q_ASSERT(m_outputDevice);
}

void CppCodeGenerator::generate(const QJsonArray &classList, bool alwaysGenerateClass /* = false */)
{
    for (const QJsonValue cdef : classList)
        m_outputDevice->write(generateClass(cdef, alwaysGenerateClass));

    m_outputDevice->write("\n");
}

QT_END_NAMESPACE