summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel/qtmocconstants.h
blob: 54c3f8844e758888b0d52f74005bbcbc13969e64 (plain)
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
// Copyright (C) 2024 Intel Corporation.// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only#ifndef QTMOCCONSTANTS_H#define QTMOCCONSTANTS_H//// W A R N I N G// -------------//// This file is not part of the Qt API. It exists to be used by the code that// moc generates. This file will not change quickly, but it over the long term,// it will likely change or even be removed.//// We mean it.//#include <QtCore/qflags.h>#include <QtCore/qtconfigmacros.h>#include <QtCore/qtypes.h> QT_BEGIN_NAMESPACE namespace QtMocConstants {// revision 7 is Qt 5.0 everything lower is not supported// revision 8 is Qt 5.12: It adds the enum name to QMetaEnum// revision 9 is Qt 6.0: It adds the metatype of properties and methods// revision 10 is Qt 6.2: The metatype of the metaobject is stored in the metatypes array// and metamethods store a flag stating whether they are const// revision 11 is Qt 6.5: The metatype for void is stored in the metatypes array// revision 12 is Qt 6.6: It adds the metatype for enums// revision 13 is Qt 6.9: Adds support for 64-bit QFlags and moves the method revisionenum{ OutputRevision =13};// Used by moc, qmetaobjectbuilder and qdbusenum PropertyFlags : uint { Invalid =0x00000000, Readable =0x00000001, Writable =0x00000002, Resettable =0x00000004, EnumOrFlag =0x00000008, Alias =0x00000010,// Reserved for future usage = 0x00000020, StdCppSet =0x00000100, Constant =0x00000400, Final =0x00000800, Designable =0x00001000, Scriptable =0x00004000, Stored =0x00010000, User =0x00100000, Required =0x01000000, Bindable =0x02000000,};inline constexpr PropertyFlags DefaultPropertyFlags { Readable | Designable | Scriptable | Stored };enum MethodFlags : uint { AccessPrivate =0x00, AccessProtected =0x01, AccessPublic =0x02, AccessMask =0x03,// mask MethodMethod =0x00, MethodSignal =0x04, MethodSlot =0x08, MethodConstructor =0x0c, MethodTypeMask =0x0c, MethodCompatibility =0x10, MethodCloned =0x20, MethodScriptable =0x40, MethodRevisioned =0x80, MethodIsConst =0x100,// no use case for volatile so far};enum MetaObjectFlag : uint { DynamicMetaObject =0x01,// is derived from QAbstractDynamicMetaObject RequiresVariantMetaObject =0x02, PropertyAccessInStaticMetaCall =0x04,// since Qt 5.5, property code is in the static metacall AllocatedMetaObject =0x08,// meta object was allocated in dynamic memory (and may be freed)};enum MetaDataFlags : uint { IsUnresolvedType =0x80000000, TypeNameIndexMask =0x7FFFFFFF, IsUnresolvedSignal =0x70000000,};enum EnumFlags : uint { EnumIsFlag =0x1, EnumIsScoped =0x2, EnumIs64Bit =0x40,};}// namespace QtMocConstants QT_END_NAMESPACE #endif// QTMOCCONSTANTS_H
close