/* This file is autogenerated. DO NOT CHANGE. All changes will be lost */

#ifndef Q_PROTOBUF_repeatedmessages_H
#define Q_PROTOBUF_repeatedmessages_H

#include <QtCore/QObject>
#include <QtCore/QMetaType>
#include <QtCore/QList>

#include <QtProtobuf/qprotobufobject.h>
#include <QtProtobuf/qprotobuflazymessagepointer.h>

#include <memory>

#include <QByteArray>
#include <QString>
#include "basicmessages.qpb.h"


namespace qtprotobufnamespace::tests {
class RepeatedStringMessage;
using RepeatedStringMessageRepeated = QList<std::shared_ptr<RepeatedStringMessage>>;
class RepeatedDoubleMessage;
using RepeatedDoubleMessageRepeated = QList<std::shared_ptr<RepeatedDoubleMessage>>;
class RepeatedBytesMessage;
using RepeatedBytesMessageRepeated = QList<std::shared_ptr<RepeatedBytesMessage>>;
class RepeatedFloatMessage;
using RepeatedFloatMessageRepeated = QList<std::shared_ptr<RepeatedFloatMessage>>;
class RepeatedComplexMessage;
using RepeatedComplexMessageRepeated = QList<std::shared_ptr<RepeatedComplexMessage>>;
class RepeatedSIntMessage;
using RepeatedSIntMessageRepeated = QList<std::shared_ptr<RepeatedSIntMessage>>;
class RepeatedIntMessage;
using RepeatedIntMessageRepeated = QList<std::shared_ptr<RepeatedIntMessage>>;
class RepeatedUIntMessage;
using RepeatedUIntMessageRepeated = QList<std::shared_ptr<RepeatedUIntMessage>>;
class RepeatedSInt64Message;
using RepeatedSInt64MessageRepeated = QList<std::shared_ptr<RepeatedSInt64Message>>;
class RepeatedInt64Message;
using RepeatedInt64MessageRepeated = QList<std::shared_ptr<RepeatedInt64Message>>;
class RepeatedUInt64Message;
using RepeatedUInt64MessageRepeated = QList<std::shared_ptr<RepeatedUInt64Message>>;
class RepeatedFixedIntMessage;
using RepeatedFixedIntMessageRepeated = QList<std::shared_ptr<RepeatedFixedIntMessage>>;
class RepeatedSFixedIntMessage;
using RepeatedSFixedIntMessageRepeated = QList<std::shared_ptr<RepeatedSFixedIntMessage>>;
class RepeatedFixedInt64Message;
using RepeatedFixedInt64MessageRepeated = QList<std::shared_ptr<RepeatedFixedInt64Message>>;
class RepeatedSFixedInt64Message;
using RepeatedSFixedInt64MessageRepeated = QList<std::shared_ptr<RepeatedSFixedInt64Message>>;
class RepeatedBoolMessage;
using RepeatedBoolMessageRepeated = QList<std::shared_ptr<RepeatedBoolMessage>>;

class  RepeatedStringMessage : public QObject
{
    Q_OBJECT
    Q_PROTOBUF_OBJECT
    Q_PROPERTY(QStringList testRepeatedString READ testRepeatedString WRITE setTestRepeatedString NOTIFY testRepeatedStringChanged SCRIPTABLE true)

public:
    enum QtProtobufFieldEnum {
        TestRepeatedStringProtoFieldNumber = 1,
    };
    Q_ENUM(QtProtobufFieldEnum)

    RepeatedStringMessage(QObject *parent = nullptr);
    ~RepeatedStringMessage() override;
    RepeatedStringMessage(const RepeatedStringMessage &other);
    RepeatedStringMessage &operator =(const RepeatedStringMessage &other);
    RepeatedStringMessage(RepeatedStringMessage &&other) noexcept;
    RepeatedStringMessage &operator =(RepeatedStringMessage &&other) noexcept;
    bool operator ==(const RepeatedStringMessage &other) const;
    bool operator !=(const RepeatedStringMessage &other) const;

    QStringList testRepeatedString() const {
        return m_testRepeatedString;
    }

    QStringList &testRepeatedString() {
        return m_testRepeatedString;
    }

    void setTestRepeatedString(const QStringList &testRepeatedString);
    static void registerTypes();

Q_SIGNALS:
    void testRepeatedStringChanged();

private:
    QStringList m_testRepeatedString;
};


class  RepeatedDoubleMessage : public QObject
{
    Q_OBJECT
    Q_PROTOBUF_OBJECT
    Q_PROPERTY(QtProtobuf::doubleList testRepeatedDouble READ testRepeatedDouble WRITE setTestRepeatedDouble NOTIFY testRepeatedDoubleChanged SCRIPTABLE true)

public:
    enum QtProtobufFieldEnum {
        TestRepeatedDoubleProtoFieldNumber = 1,
    };
    Q_ENUM(QtProtobufFieldEnum)

    RepeatedDoubleMessage(QObject *parent = nullptr);
    ~RepeatedDoubleMessage() override;
    RepeatedDoubleMessage(const RepeatedDoubleMessage &other);
    RepeatedDoubleMessage &operator =(const RepeatedDoubleMessage &other);
    RepeatedDoubleMessage(RepeatedDoubleMessage &&other) noexcept;
    RepeatedDoubleMessage &operator =(RepeatedDoubleMessage &&other) noexcept;
    bool operator ==(const RepeatedDoubleMessage &other) const;
    bool operator !=(const RepeatedDoubleMessage &other) const;

    QtProtobuf::doubleList testRepeatedDouble() const {
        return m_testRepeatedDouble;
    }

    QtProtobuf::doubleList &testRepeatedDouble() {
        return m_testRepeatedDouble;
    }

    void setTestRepeatedDouble(const QtProtobuf::doubleList &testRepeatedDouble) {
        if (m_testRepeatedDouble != testRepeatedDouble) {
            m_testRepeatedDouble = testRepeatedDouble;
            testRepeatedDoubleChanged();
        }
    }

    static void registerTypes();

Q_SIGNALS:
    void testRepeatedDoubleChanged();

private:
    QtProtobuf::doubleList m_testRepeatedDouble;
};


class  RepeatedBytesMessage : public QObject
{
    Q_OBJECT
    Q_PROTOBUF_OBJECT
    Q_PROPERTY(QByteArrayList testRepeatedBytes READ testRepeatedBytes WRITE setTestRepeatedBytes NOTIFY testRepeatedBytesChanged SCRIPTABLE true)

public:
    enum QtProtobufFieldEnum {
        TestRepeatedBytesProtoFieldNumber = 1,
    };
    Q_ENUM(QtProtobufFieldEnum)

    RepeatedBytesMessage(QObject *parent = nullptr);
    ~RepeatedBytesMessage() override;
    RepeatedBytesMessage(const RepeatedBytesMessage &other);
    RepeatedBytesMessage &operator =(const RepeatedBytesMessage &other);
    RepeatedBytesMessage(RepeatedBytesMessage &&other) noexcept;
    RepeatedBytesMessage &operator =(RepeatedBytesMessage &&other) noexcept;
    bool operator ==(const RepeatedBytesMessage &other) const;
    bool operator !=(const RepeatedBytesMessage &other) const;

    QByteArrayList testRepeatedBytes() const {
        return m_testRepeatedBytes;
    }

    QByteArrayList &testRepeatedBytes() {
        return m_testRepeatedBytes;
    }

    void setTestRepeatedBytes(const QByteArrayList &testRepeatedBytes);
    static void registerTypes();

Q_SIGNALS:
    void testRepeatedBytesChanged();

private:
    QByteArrayList m_testRepeatedBytes;
};


class  RepeatedFloatMessage : public QObject
{
    Q_OBJECT
    Q_PROTOBUF_OBJECT
    Q_PROPERTY(QtProtobuf::floatList testRepeatedFloat READ testRepeatedFloat WRITE setTestRepeatedFloat NOTIFY testRepeatedFloatChanged SCRIPTABLE true)

public:
    enum QtProtobufFieldEnum {
        TestRepeatedFloatProtoFieldNumber = 1,
    };
    Q_ENUM(QtProtobufFieldEnum)

    RepeatedFloatMessage(QObject *parent = nullptr);
    ~RepeatedFloatMessage() override;
    RepeatedFloatMessage(const RepeatedFloatMessage &other);
    RepeatedFloatMessage &operator =(const RepeatedFloatMessage &other);
    RepeatedFloatMessage(RepeatedFloatMessage &&other) noexcept;
    RepeatedFloatMessage &operator =(RepeatedFloatMessage &&other) noexcept;
    bool operator ==(const RepeatedFloatMessage &other) const;
    bool operator !=(const RepeatedFloatMessage &other) const;

    QtProtobuf::floatList testRepeatedFloat() const {
        return m_testRepeatedFloat;
    }

    QtProtobuf::floatList &testRepeatedFloat() {
        return m_testRepeatedFloat;
    }

    void setTestRepeatedFloat(const QtProtobuf::floatList &testRepeatedFloat) {
        if (m_testRepeatedFloat != testRepeatedFloat) {
            m_testRepeatedFloat = testRepeatedFloat;
            testRepeatedFloatChanged();
        }
    }

    static void registerTypes();

Q_SIGNALS:
    void testRepeatedFloatChanged();

private:
    QtProtobuf::floatList m_testRepeatedFloat;
};


class  RepeatedComplexMessage : public QObject
{
    Q_OBJECT
    Q_PROTOBUF_OBJECT
    Q_PROPERTY(qtprotobufnamespace::tests::ComplexMessageRepeated testRepeatedComplexData READ testRepeatedComplex WRITE setTestRepeatedComplex NOTIFY testRepeatedComplexChanged SCRIPTABLE true)

public:
    enum QtProtobufFieldEnum {
        TestRepeatedComplexProtoFieldNumber = 1,
    };
    Q_ENUM(QtProtobufFieldEnum)

    RepeatedComplexMessage(QObject *parent = nullptr);
    ~RepeatedComplexMessage() override;
    RepeatedComplexMessage(const RepeatedComplexMessage &other);
    RepeatedComplexMessage &operator =(const RepeatedComplexMessage &other);
    RepeatedComplexMessage(RepeatedComplexMessage &&other) noexcept;
    RepeatedComplexMessage &operator =(RepeatedComplexMessage &&other) noexcept;
    bool operator ==(const RepeatedComplexMessage &other) const;
    bool operator !=(const RepeatedComplexMessage &other) const;

    ComplexMessageRepeated testRepeatedComplex() const {
        return m_testRepeatedComplex;
    }

    ComplexMessageRepeated &testRepeatedComplex() {
        return m_testRepeatedComplex;
    }

    void setTestRepeatedComplex(const ComplexMessageRepeated &testRepeatedComplex);
    static void registerTypes();

Q_SIGNALS:
    void testRepeatedComplexChanged();

private:
    ComplexMessageRepeated m_testRepeatedComplex;
};


class  RepeatedSIntMessage : public QObject
{
    Q_OBJECT
    Q_PROTOBUF_OBJECT
    Q_PROPERTY(QtProtobuf::sint32List testRepeatedInt READ testRepeatedInt WRITE setTestRepeatedInt NOTIFY testRepeatedIntChanged SCRIPTABLE true)

public:
    enum QtProtobufFieldEnum {
        TestRepeatedIntProtoFieldNumber = 1,
    };
    Q_ENUM(QtProtobufFieldEnum)

    RepeatedSIntMessage(QObject *parent = nullptr);
    ~RepeatedSIntMessage() override;
    RepeatedSIntMessage(const RepeatedSIntMessage &other);
    RepeatedSIntMessage &operator =(const RepeatedSIntMessage &other);
    RepeatedSIntMessage(RepeatedSIntMessage &&other) noexcept;
    RepeatedSIntMessage &operator =(RepeatedSIntMessage &&other) noexcept;
    bool operator ==(const RepeatedSIntMessage &other) const;
    bool operator !=(const RepeatedSIntMessage &other) const;

    QtProtobuf::sint32List testRepeatedInt() const {
        return m_testRepeatedInt;
    }

    QtProtobuf::sint32List &testRepeatedInt() {
        return m_testRepeatedInt;
    }

    void setTestRepeatedInt(const QtProtobuf::sint32List &testRepeatedInt) {
        if (m_testRepeatedInt != testRepeatedInt) {
            m_testRepeatedInt = testRepeatedInt;
            testRepeatedIntChanged();
        }
    }

    static void registerTypes();

Q_SIGNALS:
    void testRepeatedIntChanged();

private:
    QtProtobuf::sint32List m_testRepeatedInt;
};


class  RepeatedIntMessage : public QObject
{
    Q_OBJECT
    Q_PROTOBUF_OBJECT
    Q_PROPERTY(QtProtobuf::int32List testRepeatedInt READ testRepeatedInt WRITE setTestRepeatedInt NOTIFY testRepeatedIntChanged SCRIPTABLE true)

public:
    enum QtProtobufFieldEnum {
        TestRepeatedIntProtoFieldNumber = 1,
    };
    Q_ENUM(QtProtobufFieldEnum)

    RepeatedIntMessage(QObject *parent = nullptr);
    ~RepeatedIntMessage() override;
    RepeatedIntMessage(const RepeatedIntMessage &other);
    RepeatedIntMessage &operator =(const RepeatedIntMessage &other);
    RepeatedIntMessage(RepeatedIntMessage &&other) noexcept;
    RepeatedIntMessage &operator =(RepeatedIntMessage &&other) noexcept;
    bool operator ==(const RepeatedIntMessage &other) const;
    bool operator !=(const RepeatedIntMessage &other) const;

    QtProtobuf::int32List testRepeatedInt() const {
        return m_testRepeatedInt;
    }

    QtProtobuf::int32List &testRepeatedInt() {
        return m_testRepeatedInt;
    }

    void setTestRepeatedInt(const QtProtobuf::int32List &testRepeatedInt) {
        if (m_testRepeatedInt != testRepeatedInt) {
            m_testRepeatedInt = testRepeatedInt;
            testRepeatedIntChanged();
        }
    }

    static void registerTypes();

Q_SIGNALS:
    void testRepeatedIntChanged();

private:
    QtProtobuf::int32List m_testRepeatedInt;
};


class  RepeatedUIntMessage : public QObject
{
    Q_OBJECT
    Q_PROTOBUF_OBJECT
    Q_PROPERTY(QtProtobuf::uint32List testRepeatedInt READ testRepeatedInt WRITE setTestRepeatedInt NOTIFY testRepeatedIntChanged SCRIPTABLE true)

public:
    enum QtProtobufFieldEnum {
        TestRepeatedIntProtoFieldNumber = 1,
    };
    Q_ENUM(QtProtobufFieldEnum)

    RepeatedUIntMessage(QObject *parent = nullptr);
    ~RepeatedUIntMessage() override;
    RepeatedUIntMessage(const RepeatedUIntMessage &other);
    RepeatedUIntMessage &operator =(const RepeatedUIntMessage &other);
    RepeatedUIntMessage(RepeatedUIntMessage &&other) noexcept;
    RepeatedUIntMessage &operator =(RepeatedUIntMessage &&other) noexcept;
    bool operator ==(const RepeatedUIntMessage &other) const;
    bool operator !=(const RepeatedUIntMessage &other) const;

    QtProtobuf::uint32List testRepeatedInt() const {
        return m_testRepeatedInt;
    }

    QtProtobuf::uint32List &testRepeatedInt() {
        return m_testRepeatedInt;
    }

    void setTestRepeatedInt(const QtProtobuf::uint32List &testRepeatedInt) {
        if (m_testRepeatedInt != testRepeatedInt) {
            m_testRepeatedInt = testRepeatedInt;
            testRepeatedIntChanged();
        }
    }

    static void registerTypes();

Q_SIGNALS:
    void testRepeatedIntChanged();

private:
    QtProtobuf::uint32List m_testRepeatedInt;
};


class  RepeatedSInt64Message : public QObject
{
    Q_OBJECT
    Q_PROTOBUF_OBJECT
    Q_PROPERTY(QtProtobuf::sint64List testRepeatedInt READ testRepeatedInt WRITE setTestRepeatedInt NOTIFY testRepeatedIntChanged SCRIPTABLE true)

public:
    enum QtProtobufFieldEnum {
        TestRepeatedIntProtoFieldNumber = 1,
    };
    Q_ENUM(QtProtobufFieldEnum)

    RepeatedSInt64Message(QObject *parent = nullptr);
    ~RepeatedSInt64Message() override;
    RepeatedSInt64Message(const RepeatedSInt64Message &other);
    RepeatedSInt64Message &operator =(const RepeatedSInt64Message &other);
    RepeatedSInt64Message(RepeatedSInt64Message &&other) noexcept;
    RepeatedSInt64Message &operator =(RepeatedSInt64Message &&other) noexcept;
    bool operator ==(const RepeatedSInt64Message &other) const;
    bool operator !=(const RepeatedSInt64Message &other) const;

    QtProtobuf::sint64List testRepeatedInt() const {
        return m_testRepeatedInt;
    }

    QtProtobuf::sint64List &testRepeatedInt() {
        return m_testRepeatedInt;
    }

    void setTestRepeatedInt(const QtProtobuf::sint64List &testRepeatedInt) {
        if (m_testRepeatedInt != testRepeatedInt) {
            m_testRepeatedInt = testRepeatedInt;
            testRepeatedIntChanged();
        }
    }

    static void registerTypes();

Q_SIGNALS:
    void testRepeatedIntChanged();

private:
    QtProtobuf::sint64List m_testRepeatedInt;
};


class  RepeatedInt64Message : public QObject
{
    Q_OBJECT
    Q_PROTOBUF_OBJECT
    Q_PROPERTY(QtProtobuf::int64List testRepeatedInt READ testRepeatedInt WRITE setTestRepeatedInt NOTIFY testRepeatedIntChanged SCRIPTABLE true)

public:
    enum QtProtobufFieldEnum {
        TestRepeatedIntProtoFieldNumber = 1,
    };
    Q_ENUM(QtProtobufFieldEnum)

    RepeatedInt64Message(QObject *parent = nullptr);
    ~RepeatedInt64Message() override;
    RepeatedInt64Message(const RepeatedInt64Message &other);
    RepeatedInt64Message &operator =(const RepeatedInt64Message &other);
    RepeatedInt64Message(RepeatedInt64Message &&other) noexcept;
    RepeatedInt64Message &operator =(RepeatedInt64Message &&other) noexcept;
    bool operator ==(const RepeatedInt64Message &other) const;
    bool operator !=(const RepeatedInt64Message &other) const;

    QtProtobuf::int64List testRepeatedInt() const {
        return m_testRepeatedInt;
    }

    QtProtobuf::int64List &testRepeatedInt() {
        return m_testRepeatedInt;
    }

    void setTestRepeatedInt(const QtProtobuf::int64List &testRepeatedInt) {
        if (m_testRepeatedInt != testRepeatedInt) {
            m_testRepeatedInt = testRepeatedInt;
            testRepeatedIntChanged();
        }
    }

    static void registerTypes();

Q_SIGNALS:
    void testRepeatedIntChanged();

private:
    QtProtobuf::int64List m_testRepeatedInt;
};


class  RepeatedUInt64Message : public QObject
{
    Q_OBJECT
    Q_PROTOBUF_OBJECT
    Q_PROPERTY(QtProtobuf::uint64List testRepeatedInt READ testRepeatedInt WRITE setTestRepeatedInt NOTIFY testRepeatedIntChanged SCRIPTABLE true)

public:
    enum QtProtobufFieldEnum {
        TestRepeatedIntProtoFieldNumber = 1,
    };
    Q_ENUM(QtProtobufFieldEnum)

    RepeatedUInt64Message(QObject *parent = nullptr);
    ~RepeatedUInt64Message() override;
    RepeatedUInt64Message(const RepeatedUInt64Message &other);
    RepeatedUInt64Message &operator =(const RepeatedUInt64Message &other);
    RepeatedUInt64Message(RepeatedUInt64Message &&other) noexcept;
    RepeatedUInt64Message &operator =(RepeatedUInt64Message &&other) noexcept;
    bool operator ==(const RepeatedUInt64Message &other) const;
    bool operator !=(const RepeatedUInt64Message &other) const;

    QtProtobuf::uint64List testRepeatedInt() const {
        return m_testRepeatedInt;
    }

    QtProtobuf::uint64List &testRepeatedInt() {
        return m_testRepeatedInt;
    }

    void setTestRepeatedInt(const QtProtobuf::uint64List &testRepeatedInt) {
        if (m_testRepeatedInt != testRepeatedInt) {
            m_testRepeatedInt = testRepeatedInt;
            testRepeatedIntChanged();
        }
    }

    static void registerTypes();

Q_SIGNALS:
    void testRepeatedIntChanged();

private:
    QtProtobuf::uint64List m_testRepeatedInt;
};


class  RepeatedFixedIntMessage : public QObject
{
    Q_OBJECT
    Q_PROTOBUF_OBJECT
    Q_PROPERTY(QtProtobuf::fixed32List testRepeatedInt READ testRepeatedInt WRITE setTestRepeatedInt NOTIFY testRepeatedIntChanged SCRIPTABLE true)

public:
    enum QtProtobufFieldEnum {
        TestRepeatedIntProtoFieldNumber = 1,
    };
    Q_ENUM(QtProtobufFieldEnum)

    RepeatedFixedIntMessage(QObject *parent = nullptr);
    ~RepeatedFixedIntMessage() override;
    RepeatedFixedIntMessage(const RepeatedFixedIntMessage &other);
    RepeatedFixedIntMessage &operator =(const RepeatedFixedIntMessage &other);
    RepeatedFixedIntMessage(RepeatedFixedIntMessage &&other) noexcept;
    RepeatedFixedIntMessage &operator =(RepeatedFixedIntMessage &&other) noexcept;
    bool operator ==(const RepeatedFixedIntMessage &other) const;
    bool operator !=(const RepeatedFixedIntMessage &other) const;

    QtProtobuf::fixed32List testRepeatedInt() const {
        return m_testRepeatedInt;
    }

    QtProtobuf::fixed32List &testRepeatedInt() {
        return m_testRepeatedInt;
    }

    void setTestRepeatedInt(const QtProtobuf::fixed32List &testRepeatedInt) {
        if (m_testRepeatedInt != testRepeatedInt) {
            m_testRepeatedInt = testRepeatedInt;
            testRepeatedIntChanged();
        }
    }

    static void registerTypes();

Q_SIGNALS:
    void testRepeatedIntChanged();

private:
    QtProtobuf::fixed32List m_testRepeatedInt;
};


class  RepeatedSFixedIntMessage : public QObject
{
    Q_OBJECT
    Q_PROTOBUF_OBJECT
    Q_PROPERTY(QtProtobuf::sfixed32List testRepeatedInt READ testRepeatedInt WRITE setTestRepeatedInt NOTIFY testRepeatedIntChanged SCRIPTABLE true)

public:
    enum QtProtobufFieldEnum {
        TestRepeatedIntProtoFieldNumber = 1,
    };
    Q_ENUM(QtProtobufFieldEnum)

    RepeatedSFixedIntMessage(QObject *parent = nullptr);
    ~RepeatedSFixedIntMessage() override;
    RepeatedSFixedIntMessage(const RepeatedSFixedIntMessage &other);
    RepeatedSFixedIntMessage &operator =(const RepeatedSFixedIntMessage &other);
    RepeatedSFixedIntMessage(RepeatedSFixedIntMessage &&other) noexcept;
    RepeatedSFixedIntMessage &operator =(RepeatedSFixedIntMessage &&other) noexcept;
    bool operator ==(const RepeatedSFixedIntMessage &other) const;
    bool operator !=(const RepeatedSFixedIntMessage &other) const;

    QtProtobuf::sfixed32List testRepeatedInt() const {
        return m_testRepeatedInt;
    }

    QtProtobuf::sfixed32List &testRepeatedInt() {
        return m_testRepeatedInt;
    }

    void setTestRepeatedInt(const QtProtobuf::sfixed32List &testRepeatedInt) {
        if (m_testRepeatedInt != testRepeatedInt) {
            m_testRepeatedInt = testRepeatedInt;
            testRepeatedIntChanged();
        }
    }

    static void registerTypes();

Q_SIGNALS:
    void testRepeatedIntChanged();

private:
    QtProtobuf::sfixed32List m_testRepeatedInt;
};


class  RepeatedFixedInt64Message : public QObject
{
    Q_OBJECT
    Q_PROTOBUF_OBJECT
    Q_PROPERTY(QtProtobuf::fixed64List testRepeatedInt READ testRepeatedInt WRITE setTestRepeatedInt NOTIFY testRepeatedIntChanged SCRIPTABLE true)

public:
    enum QtProtobufFieldEnum {
        TestRepeatedIntProtoFieldNumber = 1,
    };
    Q_ENUM(QtProtobufFieldEnum)

    RepeatedFixedInt64Message(QObject *parent = nullptr);
    ~RepeatedFixedInt64Message() override;
    RepeatedFixedInt64Message(const RepeatedFixedInt64Message &other);
    RepeatedFixedInt64Message &operator =(const RepeatedFixedInt64Message &other);
    RepeatedFixedInt64Message(RepeatedFixedInt64Message &&other) noexcept;
    RepeatedFixedInt64Message &operator =(RepeatedFixedInt64Message &&other) noexcept;
    bool operator ==(const RepeatedFixedInt64Message &other) const;
    bool operator !=(const RepeatedFixedInt64Message &other) const;

    QtProtobuf::fixed64List testRepeatedInt() const {
        return m_testRepeatedInt;
    }

    QtProtobuf::fixed64List &testRepeatedInt() {
        return m_testRepeatedInt;
    }

    void setTestRepeatedInt(const QtProtobuf::fixed64List &testRepeatedInt) {
        if (m_testRepeatedInt != testRepeatedInt) {
            m_testRepeatedInt = testRepeatedInt;
            testRepeatedIntChanged();
        }
    }

    static void registerTypes();

Q_SIGNALS:
    void testRepeatedIntChanged();

private:
    QtProtobuf::fixed64List m_testRepeatedInt;
};


class  RepeatedSFixedInt64Message : public QObject
{
    Q_OBJECT
    Q_PROTOBUF_OBJECT
    Q_PROPERTY(QtProtobuf::sfixed64List testRepeatedInt READ testRepeatedInt WRITE setTestRepeatedInt NOTIFY testRepeatedIntChanged SCRIPTABLE true)

public:
    enum QtProtobufFieldEnum {
        TestRepeatedIntProtoFieldNumber = 1,
    };
    Q_ENUM(QtProtobufFieldEnum)

    RepeatedSFixedInt64Message(QObject *parent = nullptr);
    ~RepeatedSFixedInt64Message() override;
    RepeatedSFixedInt64Message(const RepeatedSFixedInt64Message &other);
    RepeatedSFixedInt64Message &operator =(const RepeatedSFixedInt64Message &other);
    RepeatedSFixedInt64Message(RepeatedSFixedInt64Message &&other) noexcept;
    RepeatedSFixedInt64Message &operator =(RepeatedSFixedInt64Message &&other) noexcept;
    bool operator ==(const RepeatedSFixedInt64Message &other) const;
    bool operator !=(const RepeatedSFixedInt64Message &other) const;

    QtProtobuf::sfixed64List testRepeatedInt() const {
        return m_testRepeatedInt;
    }

    QtProtobuf::sfixed64List &testRepeatedInt() {
        return m_testRepeatedInt;
    }

    void setTestRepeatedInt(const QtProtobuf::sfixed64List &testRepeatedInt) {
        if (m_testRepeatedInt != testRepeatedInt) {
            m_testRepeatedInt = testRepeatedInt;
            testRepeatedIntChanged();
        }
    }

    static void registerTypes();

Q_SIGNALS:
    void testRepeatedIntChanged();

private:
    QtProtobuf::sfixed64List m_testRepeatedInt;
};


class  RepeatedBoolMessage : public QObject
{
    Q_OBJECT
    Q_PROTOBUF_OBJECT
    Q_PROPERTY(QtProtobuf::boolList testRepeatedBool READ testRepeatedBool WRITE setTestRepeatedBool NOTIFY testRepeatedBoolChanged SCRIPTABLE true)

public:
    enum QtProtobufFieldEnum {
        TestRepeatedBoolProtoFieldNumber = 1,
    };
    Q_ENUM(QtProtobufFieldEnum)

    RepeatedBoolMessage(QObject *parent = nullptr);
    ~RepeatedBoolMessage() override;
    RepeatedBoolMessage(const RepeatedBoolMessage &other);
    RepeatedBoolMessage &operator =(const RepeatedBoolMessage &other);
    RepeatedBoolMessage(RepeatedBoolMessage &&other) noexcept;
    RepeatedBoolMessage &operator =(RepeatedBoolMessage &&other) noexcept;
    bool operator ==(const RepeatedBoolMessage &other) const;
    bool operator !=(const RepeatedBoolMessage &other) const;

    QtProtobuf::boolList testRepeatedBool() const {
        return m_testRepeatedBool;
    }

    QtProtobuf::boolList &testRepeatedBool() {
        return m_testRepeatedBool;
    }

    void setTestRepeatedBool(const QtProtobuf::boolList &testRepeatedBool) {
        if (m_testRepeatedBool != testRepeatedBool) {
            m_testRepeatedBool = testRepeatedBool;
            testRepeatedBoolChanged();
        }
    }

    static void registerTypes();

Q_SIGNALS:
    void testRepeatedBoolChanged();

private:
    QtProtobuf::boolList m_testRepeatedBool;
};

} // namespace qtprotobufnamespace::tests

Q_DECLARE_METATYPE(qtprotobufnamespace::tests::RepeatedStringMessage)
Q_DECLARE_METATYPE(qtprotobufnamespace::tests::RepeatedDoubleMessage)
Q_DECLARE_METATYPE(qtprotobufnamespace::tests::RepeatedBytesMessage)
Q_DECLARE_METATYPE(qtprotobufnamespace::tests::RepeatedFloatMessage)
Q_DECLARE_METATYPE(qtprotobufnamespace::tests::RepeatedComplexMessage)
Q_DECLARE_METATYPE(qtprotobufnamespace::tests::RepeatedSIntMessage)
Q_DECLARE_METATYPE(qtprotobufnamespace::tests::RepeatedIntMessage)
Q_DECLARE_METATYPE(qtprotobufnamespace::tests::RepeatedUIntMessage)
Q_DECLARE_METATYPE(qtprotobufnamespace::tests::RepeatedSInt64Message)
Q_DECLARE_METATYPE(qtprotobufnamespace::tests::RepeatedInt64Message)
Q_DECLARE_METATYPE(qtprotobufnamespace::tests::RepeatedUInt64Message)
Q_DECLARE_METATYPE(qtprotobufnamespace::tests::RepeatedFixedIntMessage)
Q_DECLARE_METATYPE(qtprotobufnamespace::tests::RepeatedSFixedIntMessage)
Q_DECLARE_METATYPE(qtprotobufnamespace::tests::RepeatedFixedInt64Message)
Q_DECLARE_METATYPE(qtprotobufnamespace::tests::RepeatedSFixedInt64Message)
Q_DECLARE_METATYPE(qtprotobufnamespace::tests::RepeatedBoolMessage)
#endif // Q_PROTOBUF_repeatedmessages_H
