1// Copyright (C) 2023 basysKom GmbH, opensource@basyskom.com
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#include "enumeratedtype.h"
5#include "enumeratedvalue.h"
6#include "visitor.h"
7
8#include <QtCore/qdebug.h>
9
10EnumeratedType::EnumeratedType(const QString &name, quint32 lengthInBits)
11 : XmlElement(name)
12 , m_lengthInBits(lengthInBits)
13{}
14
15EnumeratedType::~EnumeratedType()
16{
17 qDeleteAll(c: m_values);
18}
19
20quint32 EnumeratedType::lengthInBits() const
21{
22 return m_lengthInBits;
23}
24
25void EnumeratedType::setLengthInBits(quint32 lengthInBits)
26{
27 m_lengthInBits = lengthInBits;
28}
29
30void EnumeratedType::addValue(EnumeratedValue *enumeratedValue)
31{
32 m_values.push_back(t: enumeratedValue);
33}
34
35void EnumeratedType::print() const
36{
37 XmlElement::print();
38 qDebug() << "LengthInBits: " << m_lengthInBits;
39 for (int i = 0; i < m_values.size(); i++)
40 m_values.at(i)->print();
41}
42
43void EnumeratedType::accept(Visitor *visitor)
44{
45 visitor->visit(enumteratedType: this);
46 for (auto &enumeratedValues : m_values)
47 enumeratedValues->accept(visitor);
48}
49
50QList<EnumeratedValue *> EnumeratedType::values() const
51{
52 return m_values;
53}
54
55void EnumeratedType::setValues(const QList<EnumeratedValue *> &values)
56{
57 m_values = values;
58}
59

Provided by KDAB

Privacy Policy
Learn Advanced QML with KDAB
Find out more

source code of qtopcua/tools/datatypecodegenerator/enumeratedtype.cpp