本文整理汇总了C++中v8::Handle::Has方法的典型用法代码示例。如果您正苦于以下问题:C++ Handle::Has方法的具体用法?C++ Handle::Has怎么用?C++ Handle::Has使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类v8::Handle
的用法示例。
在下文中一共展示了Handle::Has方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Value
static Value v8ValueToValue(v8::Handle<v8::Value> v8Value)
{
v8::HandleScope scope;
if (v8Value->IsArray()) {
List<Value> value;
const v8::Handle<v8::Array> v8Array = v8::Handle<v8::Array>::Cast(v8Value);
const uint32_t size = v8Array->Length();
for (uint32_t i = 0; i < size; ++i) {
if (v8Array->Has(i))
value.append(v8ValueToValue(v8Array->Get(i)));
else
value.append(Value());
}
return Value(value);
} else if (v8Value->IsObject()) {
Map<String, Value> value;
const v8::Handle<v8::Object> v8Object = v8Value->ToObject();
const v8::Handle<v8::Array> props = v8Object->GetPropertyNames();
const uint32_t size = props->Length();
for (uint32_t i = 0; i < size; ++i) {
assert(props->Has(i));
const v8::Handle<v8::Value> name = props->Get(i);
value[String(*v8::String::Utf8Value(name))] = v8ValueToValue(v8Object->Get(name));
}
return Value(value);
} else if (v8Value->IsBoolean()) {
return Value(v8Value->BooleanValue());
} else if (v8Value->IsInt32() || v8Value->IsUint32()) {
return Value(v8Value->Int32Value());
} else if (v8Value->IsNumber()) {
return Value(v8Value->NumberValue());
} else if (v8Value->IsString()) {
return Value(String(*v8::String::Utf8Value(v8Value)));
} else {
error() << "Unexpected v8 value type in JSONParser";
}
// undefined or null?
return Value();
}
示例2: HandleScope
///////////////////////////////
// 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());
//.........这里部分代码省略.........