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

#ifndef NOPACKAGEEXTERNAL_QPB_H
#define NOPACKAGEEXTERNAL_QPB_H

#include "tst_qtprotobufgen_nopackage_qml_gen_exports.qpb.h"

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

#include <QtQml/qqmllist.h>
#include <QtQml/qqmlregistration.h>

#include <QtCore/qbytearray.h>
#include <QtCore/qlist.h>
#include <QtCore/qmetatype.h>
#include <QtCore/qshareddata.h>
#include <QtCore/qstring.h>

class SimpleIntMessageExt;
using SimpleIntMessageExtRepeated = QList<SimpleIntMessageExt>;
namespace SimpleIntMessageExt_QtProtobufNested {
enum class QtProtobufFieldEnum;
} // namespace SimpleIntMessageExt_QtProtobufNested


class SimpleIntMessageExt_QtProtobufData;
class SimpleIntMessageExt : public QProtobufMessage
{
    Q_PROTOBUF_OBJECT_EXPORT(QPB_TST_QTPROTOBUFGEN_NOPACKAGE_QML_GEN_EXPORT)
    QML_VALUE_TYPE(simpleIntMessageExt)
    Q_PROPERTY(QtProtobuf::int32 testFieldInt READ testFieldInt WRITE setTestFieldInt SCRIPTABLE true)

public:
    using QtProtobufFieldEnum = SimpleIntMessageExt_QtProtobufNested::QtProtobufFieldEnum;
    QPB_TST_QTPROTOBUFGEN_NOPACKAGE_QML_GEN_EXPORT SimpleIntMessageExt();
    QPB_TST_QTPROTOBUFGEN_NOPACKAGE_QML_GEN_EXPORT ~SimpleIntMessageExt();
    QPB_TST_QTPROTOBUFGEN_NOPACKAGE_QML_GEN_EXPORT SimpleIntMessageExt(const SimpleIntMessageExt &other);
    QPB_TST_QTPROTOBUFGEN_NOPACKAGE_QML_GEN_EXPORT SimpleIntMessageExt &operator =(const SimpleIntMessageExt &other);
    QPB_TST_QTPROTOBUFGEN_NOPACKAGE_QML_GEN_EXPORT SimpleIntMessageExt(SimpleIntMessageExt &&other) noexcept;
    SimpleIntMessageExt &operator =(SimpleIntMessageExt &&other) noexcept
    {
        swap(other);
        return *this;
    }
    void swap(SimpleIntMessageExt &other) noexcept
    {
        QProtobufMessage::swap(other);
        dptr.swap(other.dptr);
    }

    QPB_TST_QTPROTOBUFGEN_NOPACKAGE_QML_GEN_EXPORT QtProtobuf::int32 testFieldInt() const;
    QPB_TST_QTPROTOBUFGEN_NOPACKAGE_QML_GEN_EXPORT void setTestFieldInt(QtProtobuf::int32 testFieldInt);
    QPB_TST_QTPROTOBUFGEN_NOPACKAGE_QML_GEN_EXPORT static void registerTypes();

private:
    friend QPB_TST_QTPROTOBUFGEN_NOPACKAGE_QML_GEN_EXPORT bool comparesEqual(const SimpleIntMessageExt &lhs, const SimpleIntMessageExt &rhs) noexcept;
    friend bool operator==(const SimpleIntMessageExt &lhs, const SimpleIntMessageExt &rhs) noexcept
    {
        return comparesEqual(lhs, rhs);
    }
    friend bool operator!=(const SimpleIntMessageExt &lhs, const SimpleIntMessageExt &rhs) noexcept
    {
        return !comparesEqual(lhs, rhs);
    }
    QExplicitlySharedDataPointer<SimpleIntMessageExt_QtProtobufData> dptr;
};
namespace SimpleIntMessageExt_QtProtobufNested {
Q_NAMESPACE_EXPORT(QPB_TST_QTPROTOBUFGEN_NOPACKAGE_QML_GEN_EXPORT)
QML_NAMED_ELEMENT(SimpleIntMessageExt)

enum class QtProtobufFieldEnum {
    TestFieldIntProtoFieldNumber = 1,
};
Q_ENUM_NS(QtProtobufFieldEnum)

} // namespace SimpleIntMessageExt_QtProtobufNested

#endif // NOPACKAGEEXTERNAL_QPB_H
