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

#ifndef QPROTOBUF_FIELD_MASK_H
#define QPROTOBUF_FIELD_MASK_H

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

#include <QtCore/qbytearray.h>
#include <QtCore/qstring.h>
#include "protobufwellknowntypes_exports.qpb.h"

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


namespace google::protobuf {
class FieldMask;
using FieldMaskRepeated = QList<FieldMask>;
namespace FieldMask_QtProtobufNested {
enum class QtProtobufFieldEnum;
} // namespace FieldMask_QtProtobufNested


class FieldMask_QtProtobufData;
class QPB_PROTOBUFWELLKNOWNTYPES_EXPORT FieldMask : public QProtobufMessage
{
    Q_PROTOBUF_OBJECT
    Q_PROPERTY(QStringList paths READ paths WRITE setPaths SCRIPTABLE true)

public:
    using QtProtobufFieldEnum = FieldMask_QtProtobufNested::QtProtobufFieldEnum;
    FieldMask();
    ~FieldMask();
    FieldMask(const FieldMask &other);
    FieldMask &operator =(const FieldMask &other);
    FieldMask(FieldMask &&other) noexcept;
    FieldMask &operator =(FieldMask &&other) noexcept;

    QStringList paths() const;
    QStringList &paths();
    void setPaths(const QStringList &paths);
    static void registerTypes();

private:
    friend QPB_PROTOBUFWELLKNOWNTYPES_EXPORT bool comparesEqual(const FieldMask &lhs, const FieldMask &rhs) noexcept;
    friend bool operator==(const FieldMask &lhs, const FieldMask &rhs) noexcept
    {
        return comparesEqual(lhs, rhs);
    }
    friend bool operator!=(const FieldMask &lhs, const FieldMask &rhs) noexcept
    {
        return !comparesEqual(lhs, rhs);
    }
    QExplicitlySharedDataPointer<FieldMask_QtProtobufData> dptr;
};
namespace FieldMask_QtProtobufNested {
Q_NAMESPACE_EXPORT(QPB_PROTOBUFWELLKNOWNTYPES_EXPORT)

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

} // namespace FieldMask_QtProtobufNested
} // namespace google::protobuf

Q_DECLARE_METATYPE(google::protobuf::FieldMask)
#endif // QPROTOBUF_FIELD_MASK_H
