Kross
object.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef KROSS_OBJECT_H
00021 #define KROSS_OBJECT_H
00022
00023 #include <QtCore/QString>
00024 #include <QtCore/QStringList>
00025 #include <QtCore/QMap>
00026 #include <QtCore/QVariant>
00027 #include <QtCore/QSharedData>
00028
00029 #include "krossconfig.h"
00030 #include "errorinterface.h"
00031
00032 #include <ksharedptr.h>
00033
00034 namespace Kross {
00035
00069 class KROSSCORE_EXPORT Object : public QSharedData, public ErrorInterface
00070 {
00071 public:
00072
00076 typedef KSharedPtr<Object> Ptr;
00077
00081 explicit Object();
00082
00086 Object(const Object &other);
00087
00091 virtual ~Object();
00092
00102 virtual QVariant callMethod(const QString& name,
00103 const QVariantList& args = QVariantList());
00104
00110 virtual QStringList methodNames();
00111
00116 virtual void virtual_hook(int id, void* ptr);
00117
00118 private:
00120 class Private;
00122 Private* const d;
00123 };
00124 }
00125
00126 Q_DECLARE_METATYPE(Kross::Object::Ptr)
00127
00128 #endif
00129