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