flag meta objects generated by QtDBus

upstream commits:
78cf553469

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
Ivailo Monev 2016-01-09 15:32:46 +02:00
parent 3a479bd2ac
commit a396feff1d
2 changed files with 13 additions and 2 deletions

View file

@ -100,7 +100,8 @@ enum MethodFlags {
};
enum MetaObjectFlags {
DynamicMetaObject = 0x01
DynamicMetaObject = 0x01,
RequiresVariantMetaObject = 0x02
};
class QMutex;

View file

@ -130,6 +130,11 @@ private:
MethodRevisioned = 0x40
};
enum MetaObjectFlags {
DynamicMetaObject = 0x01,
RequiresVariantMetaObject = 0x02
};
QMap<QByteArray, Method> methods;
QMap<QByteArray, Property> properties;
@ -157,6 +162,8 @@ struct QDBusMetaObjectPrivate
int methodCount, methodData;
int propertyCount, propertyData;
int enumeratorCount, enumeratorData;
int constructorCount, constructorData; // since revision 2
int flags; // since revision 3
// this is specific for QDBusMetaObject:
int propertyDBusData;
@ -431,7 +438,7 @@ void QDBusMetaObjectGenerator::write(QDBusMetaObject *obj)
idata.resize(sizeof(QDBusMetaObjectPrivate) / sizeof(int));
QDBusMetaObjectPrivate *header = reinterpret_cast<QDBusMetaObjectPrivate *>(idata.data());
header->revision = 1;
header->revision = 3;
header->className = 0;
header->classInfoCount = 0;
header->classInfoData = 0;
@ -441,6 +448,9 @@ void QDBusMetaObjectGenerator::write(QDBusMetaObject *obj)
header->propertyData = header->methodData + header->methodCount * 5;
header->enumeratorCount = 0;
header->enumeratorData = 0;
header->constructorCount = 0;
header->constructorData = 0;
header->flags = RequiresVariantMetaObject;
header->propertyDBusData = header->propertyData + header->propertyCount * 3;
header->methodDBusData = header->propertyDBusData + header->propertyCount * intsPerProperty;