// Copyright (C) 2015 basysKom GmbH, opensource@basyskom.com // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only #ifndef QOPCUAMULTIDIMENSIONALARRAY_H #define QOPCUAMULTIDIMENSIONALARRAY_H #include #include #include #include QT_BEGIN_NAMESPACE class QOpcUaMultiDimensionalArrayData; class Q_OPCUA_EXPORT QOpcUaMultiDimensionalArray { public: QOpcUaMultiDimensionalArray(); QOpcUaMultiDimensionalArray(const QOpcUaMultiDimensionalArray &other); QOpcUaMultiDimensionalArray &operator=(const QOpcUaMultiDimensionalArray &rhs); QOpcUaMultiDimensionalArray(const QVariantList &valueArray, const QList &arrayDimensions); QOpcUaMultiDimensionalArray(const QList &arrayDimensions); ~QOpcUaMultiDimensionalArray(); QVariantList valueArray() const; QVariantList &valueArrayRef(); void setValueArray(const QVariantList &valueArray); int arrayIndex(const QList &indices) const; QVariant value(const QList &indices) const; bool setValue(const QList &indices, const QVariant &value); bool isValid() const; QList arrayDimensions() const; void setArrayDimensions(const QList &arrayDimensions); bool operator==(const QOpcUaMultiDimensionalArray &other) const; operator QVariant() const; private: QSharedDataPointer data; }; QT_END_NAMESPACE Q_DECLARE_METATYPE(QOpcUaMultiDimensionalArray) #endif // QOPCUAMULTIDIMENSIONALARRAY_H