本文整理汇总了C++中v8::Handle类的典型用法代码示例。如果您正苦于以下问题:C++ Handle类的具体用法?C++ Handle怎么用?C++ Handle使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Handle类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: installV8TestInterface3Template
static void installV8TestInterface3Template(v8::Handle<v8::FunctionTemplate> functionTemplate, v8::Isolate* isolate)
{
functionTemplate->ReadOnlyPrototype();
v8::Local<v8::Signature> defaultSignature;
defaultSignature = V8DOMConfiguration::installDOMClassTemplate(functionTemplate, "TestInterface3", v8::Local<v8::FunctionTemplate>(), V8TestInterface3::internalFieldCount,
0, 0,
0, 0,
0, 0,
isolate);
v8::Local<v8::ObjectTemplate> instanceTemplate = functionTemplate->InstanceTemplate();
ALLOW_UNUSED_LOCAL(instanceTemplate);
v8::Local<v8::ObjectTemplate> prototypeTemplate = functionTemplate->PrototypeTemplate();
ALLOW_UNUSED_LOCAL(prototypeTemplate);
functionTemplate->InstanceTemplate()->SetIndexedPropertyHandler(TestInterface3V8Internal::indexedPropertyGetterCallback, TestInterface3V8Internal::indexedPropertySetterCallback, 0, TestInterface3V8Internal::indexedPropertyDeleterCallback, indexedPropertyEnumerator<TestInterface3>);
functionTemplate->InstanceTemplate()->SetNamedPropertyHandler(TestInterface3V8Internal::namedPropertyGetterCallback, TestInterface3V8Internal::namedPropertySetterCallback, TestInterface3V8Internal::namedPropertyQueryCallback, TestInterface3V8Internal::namedPropertyDeleterCallback, TestInterface3V8Internal::namedPropertyEnumeratorCallback);
// Custom toString template
functionTemplate->Set(v8AtomicString(isolate, "toString"), V8PerIsolateData::from(isolate)->toStringTemplate());
}
开发者ID:335969568,项目名称:Blink-1,代码行数:20,代码来源:V8TestInterface3.cpp
示例2: installV8TestInterfaceGarbageCollectedTemplate
static void installV8TestInterfaceGarbageCollectedTemplate(v8::Handle<v8::FunctionTemplate> functionTemplate, v8::Isolate* isolate)
{
functionTemplate->ReadOnlyPrototype();
v8::Local<v8::Signature> defaultSignature;
defaultSignature = V8DOMConfiguration::installDOMClassTemplate(functionTemplate, "TestInterfaceGarbageCollected", V8EventTarget::domTemplate(isolate), V8TestInterfaceGarbageCollected::internalFieldCount,
V8TestInterfaceGarbageCollectedAttributes, WTF_ARRAY_LENGTH(V8TestInterfaceGarbageCollectedAttributes),
0, 0,
V8TestInterfaceGarbageCollectedMethods, WTF_ARRAY_LENGTH(V8TestInterfaceGarbageCollectedMethods),
isolate);
functionTemplate->SetCallHandler(V8TestInterfaceGarbageCollected::constructorCallback);
functionTemplate->SetLength(1);
v8::Local<v8::ObjectTemplate> instanceTemplate = functionTemplate->InstanceTemplate();
ALLOW_UNUSED_LOCAL(instanceTemplate);
v8::Local<v8::ObjectTemplate> prototypeTemplate = functionTemplate->PrototypeTemplate();
ALLOW_UNUSED_LOCAL(prototypeTemplate);
// Custom toString template
functionTemplate->Set(v8AtomicString(isolate, "toString"), V8PerIsolateData::from(isolate)->toStringTemplate());
}
开发者ID:335969568,项目名称:Blink-1,代码行数:20,代码来源:V8TestInterfaceGarbageCollected.cpp
示例3: toUInt32
uint32_t toUInt32(v8::Handle<v8::Value> value, bool& ok)
{
ok = true;
// Fast case. The value is already a 32-bit unsigned integer.
if (value->IsUint32())
return value->Uint32Value();
if (value->IsInt32()) {
int32_t result = value->Int32Value();
if (result >= 0)
return result;
}
// Can the value be converted to a number?
v8::Local<v8::Number> numberObject = value->ToNumber();
if (numberObject.IsEmpty()) {
ok = false;
return 0;
}
// Does the value convert to nan or to an infinity?
double numberValue = numberObject->Value();
if (isnan(numberValue) || isinf(numberValue)) {
ok = false;
return 0;
}
// Can the value be converted to a 32-bit unsigned integer?
v8::Local<v8::Uint32> uintValue = value->ToUint32();
if (uintValue.IsEmpty()) {
ok = false;
return 0;
}
return uintValue->Value();
}
开发者ID:anger123520,项目名称:qtwebkit-23_from_gitorious,代码行数:37,代码来源:V8Binding.cpp
示例4: v8StringToWebCoreString
StringType v8StringToWebCoreString(v8::Handle<v8::String> v8String, ExternalMode external)
{
{
// This portion of this function is very hot in certain Dromeao benchmarks.
v8::String::Encoding encoding;
v8::String::ExternalStringResourceBase* resource = v8String->GetExternalStringResourceBase(&encoding);
if (LIKELY(!!resource)) {
WebCoreStringResourceBase* base;
if (encoding == v8::String::ONE_BYTE_ENCODING)
base = static_cast<WebCoreStringResource8*>(resource);
else
base = static_cast<WebCoreStringResource16*>(resource);
return StringTraits<StringType>::fromStringResource(base);
}
}
int length = v8String->Length();
if (UNLIKELY(!length))
return StringType("");
bool oneByte = v8String->ContainsOnlyOneByte();
StringType result(oneByte ? StringTraits<StringType>::template fromV8String<V8StringOneByteTrait>(v8String, length) : StringTraits<StringType>::template fromV8String<V8StringTwoBytesTrait>(v8String, length));
if (external != Externalize || !v8String->CanMakeExternal())
return result;
if (result.is8Bit()) {
WebCoreStringResource8* stringResource = new WebCoreStringResource8(result);
if (UNLIKELY(!v8String->MakeExternal(stringResource)))
delete stringResource;
} else {
WebCoreStringResource16* stringResource = new WebCoreStringResource16(result);
if (UNLIKELY(!v8String->MakeExternal(stringResource)))
delete stringResource;
}
return result;
}
开发者ID:kjthegod,项目名称:WebKit,代码行数:37,代码来源:V8StringResource.cpp
示例5: InitAll
void InitAll(v8::Handle<v8::Object> exports)
{
exports->Set(NanNew<v8::String>("foo"),
NanNew<v8::FunctionTemplate>(Foo)->GetFunction());
}
开发者ID:vratisdev,项目名称:module1,代码行数:5,代码来源:Frontend.cpp
示例6: v8NonStringValueToAtomicWebCoreString
static AtomicString v8NonStringValueToAtomicWebCoreString(v8::Handle<v8::Value> object)
{
ASSERT(!object->IsString());
return AtomicString(v8NonStringValueToWebCoreString(object));
}
开发者ID:anger123520,项目名称:qtwebkit-23_from_gitorious,代码行数:5,代码来源:V8Binding.cpp
示例7: initJsApi
void JsVlcPlayer::initJsApi( const v8::Handle<v8::Object>& exports )
{
node::AtExit( [] ( void* ) { JsVlcPlayer::closeAll(); } );
JsVlcInput::initJsApi();
JsVlcAudio::initJsApi();
JsVlcVideo::initJsApi();
JsVlcSubtitles::initJsApi();
JsVlcPlaylist::initJsApi();
using namespace v8;
Isolate* isolate = Isolate::GetCurrent();
HandleScope scope( isolate );
Local<FunctionTemplate> constructorTemplate = FunctionTemplate::New( isolate, jsCreate );
constructorTemplate->SetClassName( String::NewFromUtf8( isolate, "VlcPlayer", v8::String::kInternalizedString ) );
Local<ObjectTemplate> protoTemplate = constructorTemplate->PrototypeTemplate();
Local<ObjectTemplate> instanceTemplate = constructorTemplate->InstanceTemplate();
instanceTemplate->SetInternalFieldCount( 1 );
protoTemplate->Set( String::NewFromUtf8( isolate, "RV32", v8::String::kInternalizedString ),
Integer::New( isolate, static_cast<int>( PixelFormat::RV32 ) ),
static_cast<v8::PropertyAttribute>( ReadOnly | DontDelete ) );
protoTemplate->Set( String::NewFromUtf8( isolate, "I420", v8::String::kInternalizedString ),
Integer::New( isolate, static_cast<int>( PixelFormat::I420 ) ),
static_cast<v8::PropertyAttribute>( ReadOnly | DontDelete ) );
protoTemplate->Set( String::NewFromUtf8( isolate, "NothingSpecial", v8::String::kInternalizedString ),
Integer::New( isolate, libvlc_NothingSpecial ),
static_cast<v8::PropertyAttribute>( ReadOnly | DontDelete ) );
protoTemplate->Set( String::NewFromUtf8( isolate, "Opening", v8::String::kInternalizedString ),
Integer::New( isolate, libvlc_Opening ),
static_cast<v8::PropertyAttribute>( ReadOnly | DontDelete ) );
protoTemplate->Set( String::NewFromUtf8( isolate, "Buffering", v8::String::kInternalizedString ),
Integer::New( isolate, libvlc_Buffering ),
static_cast<v8::PropertyAttribute>( ReadOnly | DontDelete ) );
protoTemplate->Set( String::NewFromUtf8( isolate, "Playing", v8::String::kInternalizedString ),
Integer::New( isolate, libvlc_Playing ),
static_cast<v8::PropertyAttribute>( ReadOnly | DontDelete ) );
protoTemplate->Set( String::NewFromUtf8( isolate, "Paused", v8::String::kInternalizedString ),
Integer::New( isolate, libvlc_Paused ),
static_cast<v8::PropertyAttribute>( ReadOnly | DontDelete ) );
protoTemplate->Set( String::NewFromUtf8( isolate, "Stopped", v8::String::kInternalizedString ),
Integer::New( isolate, libvlc_Stopped ),
static_cast<v8::PropertyAttribute>( ReadOnly | DontDelete ) );
protoTemplate->Set( String::NewFromUtf8( isolate, "Ended", v8::String::kInternalizedString ),
Integer::New( isolate, libvlc_Ended ),
static_cast<v8::PropertyAttribute>( ReadOnly | DontDelete ) );
protoTemplate->Set( String::NewFromUtf8( isolate, "Error", v8::String::kInternalizedString ),
Integer::New( isolate, libvlc_Error ),
static_cast<v8::PropertyAttribute>( ReadOnly | DontDelete ) );
SET_CALLBACK_PROPERTY( instanceTemplate, "onFrameSetup", CB_FrameSetup );
SET_CALLBACK_PROPERTY( instanceTemplate, "onFrameReady", CB_FrameReady );
SET_CALLBACK_PROPERTY( instanceTemplate, "onFrameCleanup", CB_FrameCleanup );
SET_CALLBACK_PROPERTY( instanceTemplate, "onMediaChanged", CB_MediaPlayerMediaChanged );
SET_CALLBACK_PROPERTY( instanceTemplate, "onNothingSpecial", CB_MediaPlayerNothingSpecial );
SET_CALLBACK_PROPERTY( instanceTemplate, "onOpening", CB_MediaPlayerOpening );
SET_CALLBACK_PROPERTY( instanceTemplate, "onBuffering", CB_MediaPlayerBuffering );
SET_CALLBACK_PROPERTY( instanceTemplate, "onPlaying", CB_MediaPlayerPlaying );
SET_CALLBACK_PROPERTY( instanceTemplate, "onPaused", CB_MediaPlayerPaused );
SET_CALLBACK_PROPERTY( instanceTemplate, "onForward", CB_MediaPlayerForward );
SET_CALLBACK_PROPERTY( instanceTemplate, "onBackward", CB_MediaPlayerBackward );
SET_CALLBACK_PROPERTY( instanceTemplate, "onEncounteredError", CB_MediaPlayerEncounteredError );
SET_CALLBACK_PROPERTY( instanceTemplate, "onEndReached", CB_MediaPlayerEndReached );
SET_CALLBACK_PROPERTY( instanceTemplate, "onStopped", CB_MediaPlayerStopped );
SET_CALLBACK_PROPERTY( instanceTemplate, "onTimeChanged", CB_MediaPlayerTimeChanged );
SET_CALLBACK_PROPERTY( instanceTemplate, "onPositionChanged", CB_MediaPlayerPositionChanged );
SET_CALLBACK_PROPERTY( instanceTemplate, "onSeekableChanged", CB_MediaPlayerSeekableChanged );
SET_CALLBACK_PROPERTY( instanceTemplate, "onPausableChanged", CB_MediaPlayerPausableChanged );
SET_CALLBACK_PROPERTY( instanceTemplate, "onLengthChanged", CB_MediaPlayerLengthChanged );
SET_RO_PROPERTY( instanceTemplate, "playing", &JsVlcPlayer::playing );
SET_RO_PROPERTY( instanceTemplate, "length", &JsVlcPlayer::length );
SET_RO_PROPERTY( instanceTemplate, "state", &JsVlcPlayer::state );
SET_RO_PROPERTY( instanceTemplate, "input", &JsVlcPlayer::input );
SET_RO_PROPERTY( instanceTemplate, "audio", &JsVlcPlayer::audio );
SET_RO_PROPERTY( instanceTemplate, "video", &JsVlcPlayer::video );
SET_RO_PROPERTY( instanceTemplate, "subtitles", &JsVlcPlayer::subtitles );
SET_RO_PROPERTY( instanceTemplate, "playlist", &JsVlcPlayer::playlist );
SET_RO_PROPERTY( instanceTemplate, "videoFrame", &JsVlcPlayer::getVideoFrame );
SET_RO_PROPERTY( instanceTemplate, "events", &JsVlcPlayer::getEventEmitter );
SET_RW_PROPERTY( instanceTemplate, "pixelFormat", &JsVlcPlayer::pixelFormat, &JsVlcPlayer::setPixelFormat );
SET_RW_PROPERTY( instanceTemplate, "position", &JsVlcPlayer::position, &JsVlcPlayer::setPosition );
SET_RW_PROPERTY( instanceTemplate, "time", &JsVlcPlayer::time, &JsVlcPlayer::setTime );
SET_RW_PROPERTY( instanceTemplate, "volume", &JsVlcPlayer::volume, &JsVlcPlayer::setVolume );
SET_RW_PROPERTY( instanceTemplate, "mute", &JsVlcPlayer::muted, &JsVlcPlayer::setMuted );
NODE_SET_PROTOTYPE_METHOD( constructorTemplate, "play", jsPlay );
SET_METHOD( constructorTemplate, "pause", &JsVlcPlayer::pause );
SET_METHOD( constructorTemplate, "togglePause", &JsVlcPlayer::togglePause );
SET_METHOD( constructorTemplate, "stop", &JsVlcPlayer::stop );
SET_METHOD( constructorTemplate, "toggleMute", &JsVlcPlayer::toggleMute );
//.........这里部分代码省略.........
开发者ID:EdZava,项目名称:WebChimera.js,代码行数:101,代码来源:JsVlcPlayer.cpp
示例8: TRI_AddGlobalFunctionVocbase
void TRI_AddGlobalFunctionVocbase (v8::Handle<v8::Context> context,
const char* const name,
v8::Handle<v8::Function> func) {
// all global functions are read-only
context->Global()->Set(TRI_V8_SYMBOL(name), func, v8::ReadOnly);
}
开发者ID:aboleab,项目名称:ArangoDB,代码行数:6,代码来源:v8-globals.cpp
示例9: XGetter
namespace tut
{
static v8::Handle<v8::ObjectTemplate> global;
static v8::HandleScope handle_scope;
static v8::Handle<v8::Context> context;
//local variables accessible inside script
static char username[1024];
static int x;
struct try_javascript_try_v8_embeded_data
{
//get the value of x variable inside javascript
static v8::Handle<v8::Value> XGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) {
return v8::Number::New(x);
}
//set the value of x variable inside javascript
static void XSetter(v8::Local<v8::String> name,v8::Local<v8::Value> value,const v8::AccessorInfo& info) {
x = value->Int32Value();
}
//get the value of username variable inside javascript
static v8::Handle<v8::Value> userGetter(v8::Local<v8::String> name,const v8::AccessorInfo& info) {
return v8::String::New((char*)&username,strlen((char*)&username));
}
//set the value of username variable inside javascript
static void userSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value,const v8::AccessorInfo& info) {
v8::Local<v8::String> s = value->ToString();
s->WriteAscii((char*)&username);
}
//convert unsigned int to value
static v8::Local<v8::Value> v8_uint32(unsigned int x) {
return v8::Uint32::New(x);
}
// Add two numbers
static v8::Handle<v8::Value> Plus(const v8::Arguments& args)
{
unsigned int A = args[0]->Uint32Value();
unsigned int B = args[1]->Uint32Value();
return v8_uint32(A + B);
}
// The callback that is invoked by v8 whenever the JavaScript 'print'
// function is called. Prints its arguments on stdout separated by
// spaces and ending with a newline.
static v8::Handle<v8::Value> Print(const v8::Arguments& args) {
bool first = true;
for (int i = 0; i < args.Length(); i++)
{
v8::HandleScope handle_scope;
if (first)
{
first = false;
}
else
{
printf(" ");
}
//convert the args[i] type to normal char* string
v8::String::AsciiValue str(args[i]);
printf("%s", *str);
}
printf("\n");
//returning Undefined is the same as returning void...
return v8::Undefined();
}
// Executes a string within the current v8 context.
static bool ExecuteString(v8::Handle<v8::String> source,v8::Handle<v8::String> name) {
//access global context within this scope
v8::Context::Scope context_scope(context);
//exception handler
v8::TryCatch try_catch;
//compile script to binary code - JIT
v8::Handle<v8::Script> script = v8::Script::Compile(source, name);
bool print_result = true;
//check if we got problems on compilation
if (script.IsEmpty()) {
// Print errors that happened during compilation.
v8::String::AsciiValue error(try_catch.Exception());
printf("%s\n", *error);
return false;
}
else
{
//no errors , let's continue
v8::Handle<v8::Value> result = script->Run();
//check if execution ended with errors
if(result.IsEmpty()) {
// Print errors that happened during execution.
v8::String::AsciiValue error(try_catch.Exception());
printf("%s\n", *error);
return false;
} else {
if (print_result && !result->IsUndefined()) {
// If all went well and the result wasn't undefined then print
// the returned value.
v8::String::AsciiValue str(result);
printf("script result [%s]\n", *str);
//.........这里部分代码省略.........
开发者ID:piaoger,项目名称:PlayScripts,代码行数:101,代码来源:Try_V8_Embedded_Demo.cpp
示例10: hasInternalField
static bool hasInternalField(v8::Handle<v8::Value> value)
{
if (value.IsEmpty() || !value->IsObject())
return false;
return v8::Handle<v8::Object>::Cast(value)->InternalFieldCount();
}
开发者ID:windyuuy,项目名称:opera,代码行数:6,代码来源:V8DOMWrapper.cpp
示例11:
void V8DOMConfiguration::batchConfigureCallbacks(v8::Handle<v8::ObjectTemplate> prototype, v8::Handle<v8::Signature> signature, v8::PropertyAttribute attributes, const BatchedCallback* callbacks, size_t callbackCount, v8::Isolate*)
{
for (size_t i = 0; i < callbackCount; ++i)
prototype->Set(v8::String::NewSymbol(callbacks[i].name), v8::FunctionTemplate::New(callbacks[i].callback, v8Undefined(), signature), attributes);
}
开发者ID:,项目名称:,代码行数:5,代码来源:
示例12: Init
void Init (v8::Handle<v8::Object> target) {
target->Set(
NanNew<v8::String>("r")
, NanNew<v8::FunctionTemplate>(ReturnString)->GetFunction()
);
}
开发者ID:liujiaqiid,项目名称:nan,代码行数:6,代码来源:multifile1.cpp
示例13: Init
void Init (v8::Handle<v8::Object> target) {
target->Set(
NanSymbol("r")
, v8::FunctionTemplate::New(ReturnValue)->GetFunction()
);
}
开发者ID:4ver,项目名称:nan,代码行数:6,代码来源:returnvalue.cpp
示例14: CreateTemplateDefaultFields
void JSVideoFrame::CreateTemplateDefaultFields(v8::Handle<v8::ObjectTemplate> templ) {
templ->Set(JSPROP_NAME("getContext"), v8::FunctionTemplate::New(JSGetContext), JSPROP_READONLY);
templ->Set(JSPROP_NAME("getSimpleContext"), v8::FunctionTemplate::New(JSGetSimpleContext), JSPROP_READONLY);
}
开发者ID:Xenoveritas,项目名称:jsvsynth,代码行数:4,代码来源:JSVideoFrame.cpp
示例15: GetTmMSecs
uint64 TNodeJsUtil::GetTmMSecs(v8::Handle<v8::Date>& Date) {
return GetCppTimestamp(int64(Date->NumberValue()));
}
开发者ID:amrsobhy,项目名称:qminer,代码行数:3,代码来源:nodeutil.cpp
示例16: notHandledByInterceptor
v8::Local<v8::Value> V8Proxy::runScript(v8::Handle<v8::Script> script, bool isInlineCode)
{
if (script.IsEmpty())
return notHandledByInterceptor();
/// M: add for systrace
TRACE_METHOD()
V8GCController::checkMemoryUsage();
// Compute the source string and prevent against infinite recursion.
if (m_recursion >= kMaxRecursionDepth) {
v8::Local<v8::String> code = v8ExternalString("throw RangeError('Recursion too deep')");
// FIXME: Ideally, we should be able to re-use the origin of the
// script passed to us as the argument instead of using an empty string
// and 0 baseLine.
script = compileScript(code, "", TextPosition0::minimumPosition());
}
if (handleOutOfMemory())
ASSERT(script.IsEmpty());
if (script.IsEmpty())
return notHandledByInterceptor();
// Save the previous value of the inlineCode flag and update the flag for
// the duration of the script invocation.
bool previousInlineCode = inlineCode();
setInlineCode(isInlineCode);
// Run the script and keep track of the current recursion depth.
v8::Local<v8::Value> result;
v8::TryCatch tryCatch;
tryCatch.SetVerbose(true);
{
// See comment in V8Proxy::callFunction.
m_frame->keepAlive();
m_recursion++;
result = script->Run();
m_recursion--;
}
// Release the storage mutex if applicable.
didLeaveScriptContext();
if (handleOutOfMemory())
ASSERT(result.IsEmpty());
// Handle V8 internal error situation (Out-of-memory).
if (tryCatch.HasCaught()) {
ASSERT(result.IsEmpty());
return notHandledByInterceptor();
}
if (result.IsEmpty())
return notHandledByInterceptor();
// Restore inlineCode flag.
setInlineCode(previousInlineCode);
if (v8::V8::IsDead())
handleFatalErrorInV8();
return result;
}
开发者ID:besk,项目名称:MT6589_kernel_source,代码行数:64,代码来源:V8Proxy.cpp
示例17: TStreamAggr
///////////////////////////////
// QMiner-JavaScript-Stream-Aggr
TNodeJsStreamAggr::TNodeJsStreamAggr(TWPt<TQm::TBase> _Base, const TStr& _AggrNm, v8::Handle<v8::Object> TriggerVal) : TStreamAggr(_Base, _AggrNm) {
v8::Isolate* Isolate = v8::Isolate::GetCurrent();
v8::HandleScope HandleScope(Isolate);
// Every stream aggregate should implement these two
QmAssertR(TriggerVal->Has(v8::String::NewFromUtf8(Isolate, "onAdd")), "TNodeJsStreamAggr constructor, name: " + _AggrNm + ", type: javaScript. Missing onAdd callback. Possible reason: type of the aggregate was not specified and it defaulted to javaScript.");
QmAssertR(TriggerVal->Has(v8::String::NewFromUtf8(Isolate, "saveJson")), "TNodeJsStreamAggr constructor, name: " + _AggrNm + ", type: javaScript. Missing saveJson callback. Possible reason: type of the aggregate was not specified and it defaulted to javaScript.");
v8::Handle<v8::Value> _OnAddFun = TriggerVal->Get(v8::String::NewFromUtf8(Isolate, "onAdd"));
QmAssert(_OnAddFun->IsFunction());
OnAddFun.Reset(Isolate, v8::Handle<v8::Function>::Cast(_OnAddFun));
if (TriggerVal->Has(v8::String::NewFromUtf8(Isolate, "onUpdate"))) {
v8::Handle<v8::Value> _OnUpdateFun = TriggerVal->Get(v8::String::NewFromUtf8(Isolate, "onUpdate"));
QmAssert(_OnUpdateFun->IsFunction());
OnUpdateFun.Reset(Isolate, v8::Handle<v8::Function>::Cast(_OnUpdateFun));
}
if (TriggerVal->Has(v8::String::NewFromUtf8(Isolate, "onDelete"))) {
v8::Handle<v8::Value> _OnDeleteFun = TriggerVal->Get(v8::String::NewFromUtf8(Isolate, "onDelete"));
QmAssert(_OnDeleteFun->IsFunction());
OnDeleteFun.Reset(Isolate, v8::Handle<v8::Function>::Cast(_OnDeleteFun));
}
v8::Handle<v8::Value> _SaveJsonFun = TriggerVal->Get(v8::String::NewFromUtf8(Isolate, "saveJson"));
QmAssert(_SaveJsonFun->IsFunction());
SaveJsonFun.Reset(Isolate, v8::Handle<v8::Function>::Cast(_SaveJsonFun));
// StreamAggr::_Save
if (TriggerVal->Has(v8::String::NewFromUtf8(Isolate, "save"))) {
v8::Handle<v8::Value> _Save = TriggerVal->Get(v8::String::NewFromUtf8(Isolate, "save"));
QmAssert(_Save->IsFunction());
SaveFun.Reset(Isolate, v8::Handle<v8::Function>::Cast(_Save));
}
// StreamAggr::_Load
if (TriggerVal->Has(v8::String::NewFromUtf8(Isolate, "load"))) {
v8::Handle<v8::Value> _Load = TriggerVal->Get(v8::String::NewFromUtf8(Isolate, "load"));
QmAssert(_Load->IsFunction());
LoadFun.Reset(Isolate, v8::Handle<v8::Function>::Cast(_Load));
}
// IInt
if (TriggerVal->Has(v8::String::NewFromUtf8(Isolate, "getInt"))) {
v8::Handle<v8::Value> _GetInt = TriggerVal->Get(v8::String::NewFromUtf8(Isolate, "getInt"));
QmAssert(_GetInt->IsFunction());
GetIntFun.Reset(Isolate, v8::Handle<v8::Function>::Cast(_GetInt));
}
// IFlt
if (TriggerVal->Has(v8::String::NewFromUtf8(Isolate, "getFlt"))) {
v8::Handle<v8::Value> _GetFlt = TriggerVal->Get(v8::String::NewFromUtf8(Isolate, "getFlt"));
QmAssert(_GetFlt->IsFunction());
GetFltFun.Reset(Isolate, v8::Handle<v8::Function>::Cast(_GetFlt));
}
// ITm
if (TriggerVal->Has(v8::String::NewFromUtf8(Isolate, "getTm"))) {
v8::Handle<v8::Value> _GetTm = TriggerVal->Get(v8::String::NewFromUtf8(Isolate, "getTm"));
QmAssert(_GetTm->IsFunction());
GetTmMSecsFun.Reset(Isolate, v8::Handle<v8::Function>::Cast(_GetTm));
}
// IFltTmIO
if (TriggerVal->Has(v8::String::NewFromUtf8(Isolate, "getInFlt"))) {
v8::Handle<v8::Value> _GetInFlt = TriggerVal->Get(v8::String::NewFromUtf8(Isolate, "getInFlt"));
QmAssert(_GetInFlt->IsFunction());
GetInFltFun.Reset(Isolate, v8::Handle<v8::Function>::Cast(_GetInFlt));
}
if (TriggerVal->Has(v8::String::NewFromUtf8(Isolate, "getInTm"))) {
v8::Handle<v8::Value> _GetInTm = TriggerVal->Get(v8::String::NewFromUtf8(Isolate, "getInTm"));
QmAssert(_GetInTm->IsFunction());
GetInTmMSecsFun.Reset(Isolate, v8::Handle<v8::Function>::Cast(_GetInTm));
}
if (TriggerVal->Has(v8::String::NewFromUtf8(Isolate, "getOutFltV"))) {
v8::Handle<v8::Value> _GetOutFltV = TriggerVal->Get(v8::String::NewFromUtf8(Isolate, "getOutFltV"));
QmAssert(_GetOutFltV->IsFunction());
GetOutFltVFun.Reset(Isolate, v8::Handle<v8::Function>::Cast(_GetOutFltV));
}
if (TriggerVal->Has(v8::String::NewFromUtf8(Isolate, "getOutTmV"))) {
v8::Handle<v8::Value> _GetOutTmV = TriggerVal->Get(v8::String::NewFromUtf8(Isolate, "getOutTmV"));
QmAssert(_GetOutTmV->IsFunction());
GetOutTmMSecsVFun.Reset(Isolate, v8::Handle<v8::Function>::Cast(_GetOutTmV));
}
if (TriggerVal->Has(v8::String::NewFromUtf8(Isolate, "getN"))) {
v8::Handle<v8::Value> _GetN = TriggerVal->Get(v8::String::NewFromUtf8(Isolate, "getN"));
QmAssert(_GetN->IsFunction());
GetNFun.Reset(Isolate, v8::Handle<v8::Function>::Cast(_GetN));
}
// IFltVec
if (TriggerVal->Has(v8::String::NewFromUtf8(Isolate, "getFltLen"))) {
v8::Handle<v8::Value> _GetFltLen = TriggerVal->Get(v8::String::NewFromUtf8(Isolate, "getFltLen"));
QmAssert(_GetFltLen->IsFunction());
GetFltLenFun.Reset(Isolate, v8::Handle<v8::Function>::Cast(_GetFltLen));
}
if (TriggerVal->Has(v8::String::NewFromUtf8(Isolate, "getFltAt"))) {
v8::Handle<v8::Value> _GetFltAt = TriggerVal->Get(v8::String::NewFromUtf8(Isolate, "getFltAt"));
QmAssert(_GetFltAt->IsFunction());
GetFltAtFun.Reset(Isolate, v8::Handle<v8::Function>::Cast(_GetFltAt));
}
if (TriggerVal->Has(v8::String::NewFromUtf8(Isolate, "getFltV"))) {
v8::Handle<v8::Value> _GetFltV = TriggerVal->Get(v8::String::NewFromUtf8(Isolate, "getFltV"));
QmAssert(_GetFltV->IsFunction());
//.........这里部分代码省略.........
开发者ID:Zala,项目名称:qminer,代码行数:101,代码来源:qm_nodejs_streamaggr.cpp
示例18: LongSet
void ArrayType::LongSet(ArrayType *arr, JNIEnv *jniEnv, jobject ob, uint32_t index, v8::Handle<v8::Value> elt) {
jniEnv->CallVoidMethod(ob, arr->setElement, index, (jlong)elt->IntegerValue());
}
开发者ID:CodeFridge,项目名称:anode,代码行数:3,代码来源:ArrayConv.cpp
示例19: DoubleSet
void ArrayType::DoubleSet(ArrayType *arr, JNIEnv *jniEnv, jobject ob, uint32_t index, v8::Handle<v8::Value> elt) {
jniEnv->CallVoidMethod(ob, arr->setElement, index, (jdouble)elt->NumberValue());
}
开发者ID:CodeFridge,项目名称:anode,代码行数:3,代码来源:ArrayConv.cpp
示例20: TRI_AddGlobalVariableVocbase
void TRI_AddGlobalVariableVocbase (v8::Handle<v8::Context> context,
const char* const name,
v8::Handle<v8::Value> value) {
// all global functions are read-only
context->Global()->Set(TRI_V8_SYMBOL(name), value, v8::ReadOnly);
}
开发者ID:aboleab,项目名称:ArangoDB,代码行数:6,代码来源:v8-globals.cpp
注:本文中的v8::Handle类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论