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 { enum MetaObjectFlags {
DynamicMetaObject = 0x01 DynamicMetaObject = 0x01,
RequiresVariantMetaObject = 0x02
}; };
class QMutex; class QMutex;

View file

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