kjsembed
object_binding.h File Reference
#include <kdemacros.h>
#include "static_binding.h"
#include "variant_binding.h"
#include "pointer.h"
#include "kjseglobal.h"
Include dependency graph for object_binding.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.
Namespaces | |
namespace | KJSEmbed |
Classes | |
class | KJSEmbed::ObjectBinding |
class | KJSEmbed::ObjectFactory |
Defines | |
#define | END_OBJECT_METHOD |
#define | END_STATIC_OBJECT_METHOD |
#define | START_OBJECT_METHOD(METHODNAME, TYPE) |
#define | START_STATIC_OBJECT_METHOD(METHODNAME) |
Functions | |
template<typename T> | |
KJS::JSValue * | KJSEmbed::createObject (KJS::ExecState *exec, const KJS::UString &className, const T *value, KJSEmbed::ObjectBinding::Ownership owner=KJSEmbed::ObjectBinding::JSOwned) |
template<typename T> | |
T * | KJSEmbed::extractObject (KJS::ExecState *exec, const KJS::List &args, int idx, T *defaultValue=0L) |
template<typename T> | |
T * | KJSEmbed::extractObject (KJS::ExecState *exec, KJS::JSValue *arg, T *defaultValue) |
template<typename T> | |
T | KJSEmbed::extractParameter (KJS::ExecState *exec, KJS::JSValue *arg, const T &defaultValue) |
Define Documentation
#define END_OBJECT_METHOD |
Value:
} \ else \ KJS::throwError(exec, KJS::ReferenceError, QString("O: The internal object died."));\ } \ else \ KJS::throwError(exec, KJS::GeneralError, QString("Object cast failed."));\ return result; \ }
Definition at line 57 of file object_binding.h.
#define END_STATIC_OBJECT_METHOD |
#define START_OBJECT_METHOD | ( | METHODNAME, | |||
TYPE | ) |
Value:
KJS::JSValue *METHODNAME( KJS::ExecState *exec, KJS::JSObject *self, const KJS::List &args ) \ { \ Q_UNUSED(exec);\ Q_UNUSED(self);\ Q_UNUSED(args);\ KJS::JSValue *result = KJS::jsNull(); \ KJSEmbed::ObjectBinding *imp = KJSEmbed::extractBindingImp<KJSEmbed::ObjectBinding>(exec, self ); \ if( imp ) \ { \ TYPE *object = imp->object<TYPE>(); \ if( object ) \ {
This will extract the pointer, cast it to the native type and place it in "value". Any data that should be returned from this method should be placed into "result";
Definition at line 40 of file object_binding.h.
#define START_STATIC_OBJECT_METHOD | ( | METHODNAME | ) |
Value:
KJS::JSValue *METHODNAME( KJS::ExecState *exec, KJS::JSObject *self, const KJS::List &args ) \ {\ Q_UNUSED(exec);\ Q_UNUSED(self);\ Q_UNUSED(args);\ KJS::JSValue *result = KJS::jsNull(); \
Definition at line 67 of file object_binding.h.