1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
#include "db.h"
#include <QMetaEnum>
#include <QDebug>
#include <QDataStream>
Db::Db()
{
// qDebug() << "Db::Db()" << this;
}
Db::~Db()
{
// qDebug() << "Db::~Db()" << this;
}
void Db::metaInit()
{
qRegisterMetaType<Db*>("Db*");
qRegisterMetaTypeStreamOperators<Db*>("Db*");
}
QString Db::flagsToString(Db::Flags flags)
{
int idx = staticMetaObject.indexOfEnumerator("Flag");
if (idx == -1)
return QString();
QMetaEnum en = staticMetaObject.enumerator(idx);
return en.valueToKeys(static_cast<int>(flags));
}
QDataStream &operator <<(QDataStream &out, const Db* myObj)
{
out << reinterpret_cast<quint64>(myObj);
return out;
}
QDataStream &operator >>(QDataStream &in, Db*& myObj)
{
quint64 ptr;
in >> ptr;
myObj = reinterpret_cast<Db*>(ptr);
return in;
}
QDebug operator<<(QDebug dbg, const Db* db)
{
dbg.nospace() << "<DB:" << (db ? db->getName() : 0x0) << ">";
return dbg.space();
}
|