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

#ifndef QPROTOBUF_NOPACKAGEEXTERNAL_H
#define QPROTOBUF_NOPACKAGEEXTERNAL_H

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

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

#include <QtCore/qbytearray.h>
#include <QtCore/qstring.h>

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

#include <memory>

#if defined(QT_SHARED) || !defined(QT_STATIC)
#  if defined(QT_BUILD_TST_QTPROTOBUFGEN_NOPACKAGE_QML_GEN_LIB)
#    define QPB_TST_QTPROTOBUFGEN_NOPACKAGE_QML_GEN_EXPORT Q_DECL_EXPORT
#  else
#    define QPB_TST_QTPROTOBUFGEN_NOPACKAGE_QML_GEN_EXPORT Q_DECL_IMPORT
#  endif
#else
#  define QPB_TST_QTPROTOBUFGEN_NOPACKAGE_QML_GEN_EXPORT
#endif

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


class SimpleIntMessageExt_QtProtobufData;
class QPB_TST_QTPROTOBUFGEN_NOPACKAGE_QML_GEN_EXPORT SimpleIntMessageExt : public QProtobufMessage
{
    Q_GADGET
    Q_PROTOBUF_OBJECT
    Q_DECLARE_PROTOBUF_SERIALIZERS(SimpleIntMessageExt)
    QML_VALUE_TYPE(simpleIntMessageExt)
    Q_PROPERTY(QtProtobuf::int32 testFieldInt_p READ testFieldInt WRITE setTestFieldInt SCRIPTABLE false)
    Q_PROPERTY(int testFieldInt READ testFieldInt_p WRITE setTestFieldInt_p SCRIPTABLE true)

public:
    using QtProtobufFieldEnum = SimpleIntMessageExt_QtProtobufNested::QtProtobufFieldEnum;
    SimpleIntMessageExt();
    ~SimpleIntMessageExt();
    SimpleIntMessageExt(const SimpleIntMessageExt &other);
    SimpleIntMessageExt &operator =(const SimpleIntMessageExt &other);
    SimpleIntMessageExt(SimpleIntMessageExt &&other) noexcept;
    SimpleIntMessageExt &operator =(SimpleIntMessageExt &&other) noexcept;
    bool operator ==(const SimpleIntMessageExt &other) const;
    bool operator !=(const SimpleIntMessageExt &other) const;

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

private:
    int testFieldInt_p() const;
    void setTestFieldInt_p(const int &testFieldInt);
    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

Q_DECLARE_METATYPE(SimpleIntMessageExt)
#endif // QPROTOBUF_NOPACKAGEEXTERNAL_H
