kjsembed
value_binding.h File Reference
#include <kjs/object.h>
#include <kjs/interpreter.h>
#include "static_binding.h"
#include "pointer.h"
Include dependency graph for value_binding.h:

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

Go to the source code of this file.
Classes | |
class | KJSEmbed::ValueBinding |
Value binding implementation. More... | |
class | KJSEmbed::ValueFactory |
The Bindings for the KJSEmbed::ValueBinding. More... | |
Namespaces | |
namespace | KJSEmbed |
Defines | |
#define | END_VALUE_METHOD |
#define | KJSO_VALUE_DERIVED_BINDING_CTOR(NAME, JSNAME, TYPE, BASENAME) |
#define | KJSO_VALUE_SIMPLE_BINDING_CTOR(NAME, JSNAME, TYPE, BASENAME) |
#define | START_VALUE_METHOD(METHODNAME, TYPE) |
Functions | |
template<typename T > | |
KJS::JSValue * | KJSEmbed::createValue (KJS::ExecState *exec, const KJS::UString &className, const T &value) |
template<typename T > | |
T | KJSEmbed::extractValue (KJS::ExecState *exec, const KJS::List &args, int idx, const T &defaultValue=T()) |
template<typename T > | |
T | KJSEmbed::extractValue (KJS::ExecState *exec, KJS::JSValue *arg, const T &defaultValue) |
Define Documentation
#define END_VALUE_METHOD |
Value:
imp->setValue(value); \ } \ else { \ KJS::throwError(exec, KJS::GeneralError, "Problem in ValueBinding here");\ }\ return result; \ }
Definition at line 53 of file value_binding.h.
#define KJSO_VALUE_DERIVED_BINDING_CTOR | ( | NAME, | |||
JSNAME, | |||||
TYPE, | |||||
BASENAME | ) |
Value:
NAME::NAME(KJS::ExecState *exec, const char* typeName ) \ : BASENAME( exec, typeName ) \ { \ StaticBinding::publish( exec, this, NAME::methods() ); \ } \ NAME::NAME(KJS::ExecState *exec, const TYPE & value) \ : BASENAME( exec, #JSNAME ) \ { \ setValue(value); \ StaticBinding::publish( exec, this, NAME::methods() ); \ }
Definition at line 74 of file value_binding.h.
#define KJSO_VALUE_SIMPLE_BINDING_CTOR | ( | NAME, | |||
JSNAME, | |||||
TYPE, | |||||
BASENAME | ) |
Value:
NAME::NAME(KJS::ExecState *exec, const char* typeName ) \ : BASENAME( exec, typeName ) \ { \ StaticBinding::publish( exec, this, NAME::methods() ); \ } \ NAME::NAME(KJS::ExecState *exec, const TYPE & value) \ : BASENAME( exec, #JSNAME , value ) \ { \ StaticBinding::publish( exec, this, NAME::methods() ); \ }
Definition at line 62 of file value_binding.h.
#define START_VALUE_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::ValueBinding *imp = KJSEmbed::extractBindingImp<KJSEmbed::ValueBinding>(exec, self ); \ if( imp ) \ { \ TYPE value = imp->value<TYPE>();
This will extract the value, 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 39 of file value_binding.h.