kjsembed
value_binding.h File Reference
#include <kjs/object.h>
#include <kjs/interpreter.h>
#include "static_binding.h"
#include "pointer.h"
Go to the source code of this file.
Classes | |
class | KJSEmbed::ValueBinding |
class | KJSEmbed::ValueFactory |
Namespaces | |
namespace | KJSEmbed |
Macros | |
#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) |
Macro Definition Documentation
◆ END_VALUE_METHOD
#define END_VALUE_METHOD |
Value:
imp->setValue(value); \
} \
else { \
KJS::throwError(exec, KJS::GeneralError, "Problem in ValueBinding here");\
}\
return result; \
}
End a variant method started by START_VALUE_METHOD.
Definition at line 53 of file value_binding.h.
◆ KJSO_VALUE_DERIVED_BINDING_CTOR
#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.
◆ KJSO_VALUE_SIMPLE_BINDING_CTOR
#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.
◆ START_VALUE_METHOD
#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 ) \
{ \
A simple variant syle method.
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.
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Mon Feb 20 2023 00:00:00 by doxygen 1.9.6 written by Dimitri van Heesch, © 1997-2006
Documentation copyright © 1996-2023 The KDE developers.
Generated on Mon Feb 20 2023 00:00:00 by doxygen 1.9.6 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.