kjsembed
slotproxy.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
00021
00022
00023 #ifndef SLOTPROXY_H
00024 #define SLOTPROXY_H
00025
00026 #include <QtCore/QObject>
00027 #include <QtCore/QByteRef>
00028 #include <kjs/object.h>
00029 #include "kjsembed.h"
00030
00031 namespace KJS
00032 {
00033 class Interpreter;
00034 class Value;
00035 class List;
00036 class ExecState;
00037 }
00038
00039 namespace KJSEmbed
00040 {
00041 class KJSEMBED_EXPORT SlotProxy : public QObject
00042 {
00043 public:
00044 SlotProxy(KJS::JSObject *obj, KJS::Interpreter *interpreter, QObject *parent, const QByteArray &signature);
00045 ~SlotProxy();
00046
00047 QMetaObject staticMetaObject;
00048 const QMetaObject *metaObject() const;
00049 void *qt_metacast(const char *_clname);
00050 int qt_metacall(QMetaObject::Call _c, int _id, void **_a);
00051
00052 private:
00053 KJS::JSValue *callMethod( const QByteArray & methodName, void **_a );
00054 KJS::List convertArguments(KJS::ExecState *exec, void **_a );
00055 QByteArray m_signature;
00056 uint m_data[16];
00057 QByteArray m_stringData;
00058 KJS::Interpreter *m_interpreter;
00059 KJS::JSObject *m_object;
00060 QVariant m_tmpResult;
00061 };
00062 }
00063 #endif
00064
00065