QpDaoBase::QpDaoBase(const QMetaObject &metaObject, QObject *parent) : QObject(parent), d(new QpDaoBaseData) { d->sqlDataAccessObjectHelper = QpSqlDataAccessObjectHelper::forDatabase(Qp::database()); d->metaObject = QpMetaObject(metaObject); }
/****************************************************************************** * QpMetaObject */ QpMetaObject QpMetaObject::registerMetaObject(const QMetaObject &metaObject) { QString className(metaObject.className()); auto it = MetaObjectsForName()->find(className); if (it != MetaObjectsForName()->end()) { return it.value(); } QpMetaObject result = QpMetaObject(metaObject); MetaObjects()->append(result); const QMetaObject *objectInClassHierarchy = &metaObject; do { QpMetaObject qpmo = QpMetaObject(*objectInClassHierarchy); MetaObjectsForName()->insert(qpmo.classNameWithoutNamespace(), result); MetaObjectsForName()->insert(qpmo.className(), result); objectInClassHierarchy = objectInClassHierarchy->superClass(); } while (objectInClassHierarchy->className() != QObject::staticMetaObject.className()); return result; }