aboutsummaryrefslogtreecommitdiffstats
path: root/libpyside/dynamicqmetaobject.h
diff options
context:
space:
mode:
authorHugo Parente Lima <hugo.pl@gmail.com>2010-10-06 14:49:12 -0300
committerHugo Parente Lima <hugo.pl@gmail.com>2010-10-07 11:44:07 -0300
commit15b0e9aa2b16109aa293ab446a8edc533af56658 (patch)
tree85028a568e1cc9c4b5dd95aae4c9f3f4025ece6d /libpyside/dynamicqmetaobject.h
parent6b8d262b4067bffd4e5a9611c07b862aa64d2538 (diff)
Add a d-pointer to DynamicMetaObject.
This break the ABI.
Diffstat (limited to 'libpyside/dynamicqmetaobject.h')
-rw-r--r--libpyside/dynamicqmetaobject.h54
1 files changed, 4 insertions, 50 deletions
diff --git a/libpyside/dynamicqmetaobject.h b/libpyside/dynamicqmetaobject.h
index 22387a6e3..b2f018eda 100644
--- a/libpyside/dynamicqmetaobject.h
+++ b/libpyside/dynamicqmetaobject.h
@@ -26,59 +26,18 @@
#include "pysidemacros.h"
#include <Python.h>
#include <QMetaObject>
-#include <QLinkedList>
-#include <QByteArray>
-#include <QSharedPointer>
-
-#define PYSIDE_SLOT_LIST_ATTR "_slots"
-
-class QObject;
namespace PySide
{
-class MethodData
-{
-public:
- MethodData(){}
- MethodData(const char* signature, const char* type);
- void clear();
- bool isValid() const;
- QByteArray signature() const;
- QByteArray type() const;
- bool operator==(const MethodData& other) const;
- bool operator==(const char* other) const;
-
-private:
- QSharedPointer<QByteArray> m_signature;
- QSharedPointer<QByteArray> m_type;
-};
-
-class PropertyData
-{
-public:
- PropertyData();
- PropertyData(const char*name, PyObject *data);
- QByteArray name() const;
- QByteArray type() const;
- uint flags() const;
- bool isValid() const;
- bool operator==(const PropertyData& other) const;
- bool operator==(const char* name) const;
-
-private:
- QByteArray m_name;
- PyObject* m_data;
-};
-
class PYSIDE_API DynamicQMetaObject : public QMetaObject
{
public:
DynamicQMetaObject(const char* className, const QMetaObject* metaObject);
~DynamicQMetaObject();
- void addSignal(const char* signal, const char* type=0);
- void addSlot(const char* slot, const char* type=0);
+ void addSignal(const char* signal, const char* type = 0);
+ void addSlot(const char* slot, const char* type = 0);
void addProperty(const char* property, PyObject* data);
void removeSignal(uint idex);
@@ -89,13 +48,8 @@ public:
static DynamicQMetaObject* createBasedOn(PyObject* obj, PyTypeObject* type, const QMetaObject* base);
private:
- QLinkedList<MethodData> m_signals;
- QLinkedList<MethodData> m_slots;
- QLinkedList<PropertyData> m_properties;
- QByteArray m_className;
-
- void updateMetaObject();
- void writeMethodsData(QLinkedList<MethodData>& methods, unsigned int **data, QList<QByteArray> *strings, int *index, int max_count, int null_index, int flags);
+ class DynamicQMetaObjectPrivate;
+ DynamicQMetaObjectPrivate* m_d;
};
PYSIDE_API inline void deleteDynamicQMetaObject(void* data)