comparison include/QObjectEntity.h @ 252:37eed70de029

More things broken than fixed. Rolling back to 263
author maxter
date Sat, 22 Aug 2009 12:50:58 +0000
parents 7664de4a55e5
children 34a37904ff77
comparison
equal deleted inserted replaced
251:739d0ee5bd91 252:37eed70de029
1 #ifndef QQOBJECTENTITY_H 1 #ifndef QQOBJECTENTITY_H
2 #define QQOBJECTENTITY_H 2 #define QQOBJECTENTITY_H
3 3
4 #include "qtd_core.h" 4 #include <cstdlib>
5 #include <qobject.h>
6 #include <iostream>
7 5
8 QTD_EXPORT(void, qtd_delete_d_qobject, (void* dPtr)) 6 class Qtd_QObjectEntity
9
10 #ifdef CPP_SHARED
11 #define qtd_delete_d_qobject qtd_get_qtd_delete_d_qobject()
12 #endif
13
14 //TODO: user data ID must be registered with QObject::registerUserData;
15 #define userDataId 0
16
17 class QtD_QObjectEntity : public QtD_Entity, public QObjectUserData
18 { 7 {
19 public: 8 public:
9 Qtd_QObjectEntity(void *d_ptr) { _d_ptr = d_ptr; }
10 void *d_entity() const { return _d_ptr; }
20 11
21 QtD_QObjectEntity(QObject *qObject, void *dId) : QtD_Entity(dId) 12 private:
22 { 13 void *_d_ptr;
23 qObject->setUserData(userDataId, this);
24 }
25
26 virtual ~QtD_QObjectEntity()
27 {
28 qtd_delete_d_qobject(dId);
29 }
30
31 inline static QtD_QObjectEntity* getQObjectEntity(const QObject *qObject)
32 {
33 return static_cast<QtD_QObjectEntity*>(qObject->userData(userDataId));
34 }
35 }; 14 };
36 15
37 #endif // QQOBJECTENTITY_H 16 #endif // QQOBJECTENTITY_H