Ejemplo n.º 1
0
QpDaoBase::QpDaoBase(const QMetaObject &metaObject,
                     QObject *parent) :
    QObject(parent),
    d(new QpDaoBaseData)
{
    d->sqlDataAccessObjectHelper = QpSqlDataAccessObjectHelper::forDatabase(Qp::database());
    d->metaObject = QpMetaObject(metaObject);
}
Ejemplo n.º 2
0
/******************************************************************************
 * 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;
}