annotate include/QObjectEntity.h @ 354:18bd68f586c6

removed superfluous destructors
author Max Samukha <maxter@spambox.com>
date Mon, 24 May 2010 23:43:30 +0300
parents 34a37904ff77
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
e78566595089 initial import
mandel
parents:
diff changeset
1 #ifndef QQOBJECTENTITY_H
e78566595089 initial import
mandel
parents:
diff changeset
2 #define QQOBJECTENTITY_H
e78566595089 initial import
mandel
parents:
diff changeset
3
254
maxter
parents: 252
diff changeset
4 #include "qtd_core.h"
maxter
parents: 252
diff changeset
5 #include <qobject.h>
maxter
parents: 252
diff changeset
6 #include <iostream>
maxter
parents: 252
diff changeset
7
maxter
parents: 252
diff changeset
8 QTD_EXPORT(void, qtd_delete_d_qobject, (void* dPtr))
1
e78566595089 initial import
mandel
parents:
diff changeset
9
254
maxter
parents: 252
diff changeset
10 //TODO: user data ID must be registered with QObject::registerUserData;
maxter
parents: 252
diff changeset
11 #define userDataId 0
maxter
parents: 252
diff changeset
12
maxter
parents: 252
diff changeset
13 class QtD_QObjectEntity : public QtD_Entity, public QObjectUserData
1
e78566595089 initial import
mandel
parents:
diff changeset
14 {
e78566595089 initial import
mandel
parents:
diff changeset
15 public:
254
maxter
parents: 252
diff changeset
16
maxter
parents: 252
diff changeset
17 QtD_QObjectEntity(QObject *qObject, void *dId) : QtD_Entity(dId)
maxter
parents: 252
diff changeset
18 {
maxter
parents: 252
diff changeset
19 qObject->setUserData(userDataId, this);
maxter
parents: 252
diff changeset
20 }
1
e78566595089 initial import
mandel
parents:
diff changeset
21
254
maxter
parents: 252
diff changeset
22 virtual ~QtD_QObjectEntity()
maxter
parents: 252
diff changeset
23 {
maxter
parents: 252
diff changeset
24 if (dId)
maxter
parents: 252
diff changeset
25 destroyEntity();
maxter
parents: 252
diff changeset
26 }
maxter
parents: 252
diff changeset
27
maxter
parents: 252
diff changeset
28 inline void destroyEntity(QObject *qObject = NULL)
maxter
parents: 252
diff changeset
29 {
maxter
parents: 252
diff changeset
30 Q_ASSERT(dId);
354
18bd68f586c6 removed superfluous destructors
Max Samukha <maxter@spambox.com>
parents: 254
diff changeset
31 qtd_QtdObject_delete(dId);
254
maxter
parents: 252
diff changeset
32 if (qObject)
maxter
parents: 252
diff changeset
33 {
maxter
parents: 252
diff changeset
34 qObject->setUserData(userDataId, NULL);
maxter
parents: 252
diff changeset
35 dId = NULL;
maxter
parents: 252
diff changeset
36 }
maxter
parents: 252
diff changeset
37 }
maxter
parents: 252
diff changeset
38
maxter
parents: 252
diff changeset
39 inline static QtD_QObjectEntity* getQObjectEntity(const QObject *qObject)
maxter
parents: 252
diff changeset
40 {
maxter
parents: 252
diff changeset
41 return static_cast<QtD_QObjectEntity*>(qObject->userData(userDataId));
maxter
parents: 252
diff changeset
42 }
1
e78566595089 initial import
mandel
parents:
diff changeset
43 };
e78566595089 initial import
mandel
parents:
diff changeset
44
e78566595089 initial import
mandel
parents:
diff changeset
45 #endif // QQOBJECTENTITY_H