本文整理汇总了C++中Handle::IntegerValue方法的典型用法代码示例。如果您正苦于以下问题:C++ Handle::IntegerValue方法的具体用法?C++ Handle::IntegerValue怎么用?C++ Handle::IntegerValue使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Handle
的用法示例。
在下文中一共展示了Handle::IntegerValue方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Undefined
Handle<Value> js_haptics_vibrate(const Arguments &args) {
Handle<Object> opts = Handle<Object>::Cast(args[0]);
Handle<Value> milliseconds = opts->Get(STRING_CACHE_milliseconds);
if ( milliseconds->IsUndefined() ) {
Handle<Object> pattern = Handle<Array>::Cast( opts->Get(STRING_CACHE_pattern) );
int repeat = opts->Get(STRING_CACHE_repeat)->Int32Value();
int patternLen = pattern->Get(STRING_CACHE_length)->Int32Value();
long long* patternArr = (long long*)malloc(sizeof(long long) * patternLen);
for ( int i = 0; i < patternLen; i++ ) {
patternArr[i] = pattern->Get(Number::New(i))->IntegerValue();
}
haptics_vibrate(patternArr, repeat, patternLen);
free(patternArr);
} else {
haptics_vibrate(milliseconds->IntegerValue());
}
return Undefined();
}
示例2: printV8Value
void printV8Value(Handle<Value> value, bool force=false)
{
Logging::Level level = force ? Logging::ERROR : Logging::INFO;
if (!Logging::shouldShow(level)) return;
HandleScope handleScope;
if (value.IsEmpty())
Logging::log(level, "Empty handle\r\n");
else if (value->IsInt32())
Logging::log(level, "INT: %d\r\n", value->IntegerValue());
else if (value->IsNull())
Logging::log(level, "NULL (null)\r\n");
else if (value->IsUndefined())
Logging::log(level, "VOID (undefined)\r\n");
else if (value->IsBoolean())
Logging::log(level, "BOOLEAN: %d\r\n", value->BooleanValue());
else if (value->IsNumber())
Logging::log(level, "NUMBER: %f\r\n", value->NumberValue());
else if (value->IsString())
Logging::log(level, "STRING: ?\r\n");
else if (value->IsObject())
Logging::log(level, "OBJECT (object)\r\n");
else
Logging::log(level, "Uncertain V8 value\n");
}
示例3: UserGetLength
int ArrayConv::UserGetLength(JNIEnv *jniEnv, Handle<Object> val, int *length) {
HandleScope scope;
TryCatch tryCatch;
Handle<Value> vLength = val->Get(sLength);
if(vLength.IsEmpty()) return ErrorNotfound;
if(tryCatch.HasCaught()) return ErrorJS;
*length = (int)vLength->IntegerValue();
return OK;
}
示例4: context_scope
Handle<Object> XML::GetChild(const Arguments& args) {
HandleScope scope;
Shell *shell = Shell::Instance();
Context::Scope context_scope(shell->globalContext);
Handle<Value> arg = args[0];
int64_t index = arg->IntegerValue();
XMLElement *childElement = (XMLElement *)getChild(index);
Handle<Object> newObject = childElement->registerObject();
return(scope.Close(newObject));
}
示例5: NODE_THROW
Handle<Value> LayerFields::reorder(const Arguments& args)
{
HandleScope scope;
Handle<Object> parent = args.This()->GetHiddenValue(String::NewSymbol("parent_"))->ToObject();
Layer *layer = ObjectWrap::Unwrap<Layer>(parent);
if (!layer->get()) {
return NODE_THROW("Layer object already destroyed");
}
OGRFeatureDefn *def = layer->get()->GetLayerDefn();
if (!def) {
return NODE_THROW("Layer has no layer definition set");
}
Handle<Array> field_map = Array::New(0);
NODE_ARG_ARRAY(0, "field map", field_map);
int n = def->GetFieldCount();
OGRErr err = 0;
if ((int)field_map->Length() != n) {
return NODE_THROW("Array length must match field count");
}
int *field_map_array = new int[n];
for (int i = 0; i < n; i++) {
Handle<Value> val = field_map->Get(i);
if (!val->IsNumber()) {
delete [] field_map_array;
return NODE_THROW("Array must only contain integers");
}
int key = val->IntegerValue();
if (key < 0 || key >= n) {
delete [] field_map_array;
return NODE_THROW("Values must be between 0 and field count - 1");
}
field_map_array[i] = key;
}
err = layer->get()->ReorderFields(field_map_array);
delete [] field_map_array;
if (err) {
return NODE_THROW_OGRERR(err);
}
return Undefined();
}
示例6: ToJavaString
int Conv::ToJavaString(JNIEnv *jniEnv, Handle<Value> val, jstring *jVal) {
Handle<String> vString;
Handle<Value> empty, vRes;
jstring ob;
char buf[64];
switch(GetNaturalType(val)) {
default: {
if(val->IsObject()) {
/* call ToString() in javascript */
Handle<Object> oVal = val->ToObject();
Handle<Value> vToString = oVal->Get(sToString);
if(!vToString.IsEmpty() && vToString->IsFunction()) {
Handle<Function> fToString = Handle<Function>::Cast(vToString);
vRes = fToString->CallAsFunction(oVal, 0, &empty);
if(!vRes.IsEmpty() && (vRes->IsString() || vRes->IsStringObject())) {
return ToJavaString(jniEnv, vRes->ToString(), jVal);
}
}
}
return ErrorType;
}
case TYPE_UNDEFINED:
case TYPE_NULL:
*jVal = 0;
return OK;
case TYPE_BOOL:
return ToJavaString(jniEnv, (val->BooleanValue() ? "true" : "false"), jVal);
case TYPE_INT:
sprintf(buf, "%d", val->Int32Value());
return ToJavaString(jniEnv, buf, jVal);
case TYPE_LONG:
sprintf(buf, "%lld", val->IntegerValue());
return ToJavaString(jniEnv, buf, jVal);
case TYPE_DOUBLE:
sprintf(buf, "%g", val->NumberValue());
return ToJavaString(jniEnv, buf, jVal);
case TYPE_STRING:
return ToJavaString(jniEnv, val->ToString(), (jstring *)jVal);
}
if(ob) {
*jVal = ob;
return OK;
}
if(jniEnv->ExceptionCheck())
jniEnv->ExceptionClear();
return ErrorVM;
}
示例7: setTextAlign
int NativeAbstractTextControlObject::setTextAlign(TiObject* obj)
{
Handle<Value> value = obj->getValue();
int alignment;
if (!value->IsNumber()) {
QString s = V8ValueToQString(value);
if (s == "left") {
alignment = Ti::UI::TEXT_ALIGNMENT_LEFT;
} else if (s == "center") {
alignment = Ti::UI::TEXT_ALIGNMENT_CENTER;
} else if (s == "right") {
alignment = Ti::UI::TEXT_ALIGNMENT_RIGHT;
} else {
return NATIVE_ERROR_INVALID_ARG;
}
} else {
alignment = value->IntegerValue();
}
switch (alignment)
{
case Ti::UI::TEXT_ALIGNMENT_LEFT:
textControl_->textStyle()->setTextAlign(bb::cascades::TextAlign::Left);
break;
case Ti::UI::TEXT_ALIGNMENT_CENTER:
textControl_->textStyle()->setTextAlign(bb::cascades::TextAlign::Center);
break;
case Ti::UI::TEXT_ALIGNMENT_RIGHT:
textControl_->textStyle()->setTextAlign(bb::cascades::TextAlign::Right);
break;
default:
return NATIVE_ERROR_INVALID_ARG;
}
return NATIVE_ERROR_OK;
}
开发者ID:richardmadison,项目名称:titanium_mobile_blackberry,代码行数:37,代码来源:NativeAbstractTextControlObject.cpp
示例8: ToJavaObject
int Conv::ToJavaObject(JNIEnv *jniEnv, Handle<Value> val, int expectedType, jobject *jVal) {
/* empty, null and undefined convert to null for any nullable type */
if((expectedType >= TYPE__OB_START) && (val.IsEmpty() || val->IsNull() || val->IsUndefined())) {
*jVal = 0;
return OK;
}
if(isSequence(expectedType))
return ToJavaSequence(jniEnv, val, getComponentType(expectedType), (jarray *)jVal);
if(isArray(expectedType))
return arrayConv->ToJavaArray(jniEnv, val, getComponentType(expectedType), jVal);
if(isMap(expectedType))
return ToJavaMap(jniEnv, val, getComponentType(expectedType), jVal);
if(isInterface(expectedType))
return ToJavaInterface(jniEnv, val, getClassId(expectedType), jVal);
if(isDict(expectedType))
return ToJavaDict(jniEnv, val, getClassId(expectedType), jVal);
HandleScope scope;
jobject ob;
switch(expectedType) {
default:
return ErrorType;
case TYPE_BOOL: {
bool isVoid = val.IsEmpty() ? false : val->BooleanValue();
ob = jniEnv->CallStaticObjectMethod(jni.anode.js.JSValue_Bool.class_, jni.anode.js.JSValue_Bool.ctor, isVoid);
break;
}
case TYPE_BYTE:
case TYPE_INT: {
jint intValue = val.IsEmpty() ? 0 : val->Int32Value();
ob = jniEnv->CallStaticObjectMethod(jni.anode.js.JSValue_Long.class_, jni.anode.js.JSValue_Long.ctor, (jlong)intValue);
break;
}
case TYPE_LONG: {
jlong longValue = val.IsEmpty() ? 0 : val->IntegerValue();
ob = jniEnv->CallStaticObjectMethod(jni.anode.js.JSValue_Long.class_, jni.anode.js.JSValue_Long.ctor, longValue);
break;
}
case TYPE_DOUBLE: {
jdouble doubleValue = val.IsEmpty() ? 0 : val->NumberValue();
ob = jniEnv->CallStaticObjectMethod(jni.anode.js.JSValue_Double.class_, jni.anode.js.JSValue_Double.ctor, doubleValue);
break;
}
case TYPE_STRING:
return ToJavaString(jniEnv, val, (jstring *)jVal);
case TYPE_DATE:
return ToJavaDate(jniEnv, val, jVal);
case TYPE_OBJECT:
return ToNaturalJavaObject(jniEnv, val, jVal);
case TYPE_OBJECT|TYPE_BOOL: {
bool isVoid = val->BooleanValue();
ob = jniEnv->NewObject(jni.java.lang.Boolean.class_, jni.java.lang.Boolean.ctor, isVoid);
break;
}
case TYPE_OBJECT|TYPE_BYTE: {
jbyte byteValue = val->Int32Value();
ob = jniEnv->NewObject(jni.java.lang.Byte.class_, jni.java.lang.Byte.ctor, byteValue);
break;
}
case TYPE_OBJECT|TYPE_INT: {
jint intValue = val->Int32Value();
ob = jniEnv->NewObject(jni.java.lang.Integer.class_, jni.java.lang.Integer.ctor, intValue);
break;
}
case TYPE_OBJECT|TYPE_LONG: {
jlong longValue = val->IntegerValue();
ob = jniEnv->NewObject(jni.java.lang.Long.class_, jni.java.lang.Long.ctor, longValue);
break;
}
case TYPE_OBJECT|TYPE_DOUBLE: {
jdouble doubleValue = val->NumberValue();
ob = jniEnv->NewObject(jni.java.lang.Double.class_, jni.java.lang.Double.ctor, doubleValue);
break;
}
}
if(ob) {
*jVal = ob;
return OK;
}
if(jniEnv->ExceptionCheck())
jniEnv->ExceptionClear();
return ErrorVM;
}
示例9: ToNaturalJavaObject
int Conv::ToNaturalJavaObject(JNIEnv *jniEnv, Handle<Value> val, jobject *jVal) {
HandleScope scope;
jobject ob = 0;
int result = 0;
switch(GetNaturalType(val)) {
default:
return ErrorInvalid;
case TYPE_UNDEFINED:
case TYPE_NULL:
*jVal = 0;
return OK;
case TYPE_BOOL:
ob = jniEnv->NewObject(jni.java.lang.Boolean.class_, jni.java.lang.Boolean.ctor, val->BooleanValue());
break;
case TYPE_INT:
ob = jniEnv->NewObject(jni.java.lang.Integer.class_, jni.java.lang.Integer.ctor, (jint)val->IntegerValue());
break;
case TYPE_LONG:
ob = jniEnv->NewObject(jni.java.lang.Long.class_, jni.java.lang.Long.ctor, val->IntegerValue());
break;
case TYPE_DOUBLE:
ob = jniEnv->NewObject(jni.java.lang.Double.class_, jni.java.lang.Double.ctor, val->NumberValue());
break;
case TYPE_STRING:
return ToJavaString(jniEnv, val->ToString(), (jstring *)jVal);
break;
case TYPE_DATE:
ob = jniEnv->NewObject(jni.java.util.Date.class_, jni.java.util.Date.ctor, val->NumberValue());
break;
case TYPE_FUNCTION: {
Handle<Function> fVal = Handle<Function>::Cast(val->ToObject());
result = UnwrapObject(jniEnv, fVal, sObjectHiddenKey, jVal);
if(result == ErrorNotfound)
result = WrapV8Object(jniEnv, fVal, jVal);
break;
}
case TYPE_ARRAY: {
Handle<Array> aVal = Handle<Array>::Cast(val->ToObject());
result = UnwrapObject(jniEnv, aVal, arrayConv->getHiddenKey(), jVal);
if(result == ErrorNotfound)
result = arrayConv->WrapV8Array(jniEnv, aVal, jVal);
break;
}
case TYPE_OBJECT: {
Handle<Object> oVal = Handle<Object>::Cast(val->ToObject());
result = UnwrapObject(jniEnv, oVal, sObjectHiddenKey, jVal);
if(result == ErrorNotfound)
result = WrapV8Object(jniEnv, oVal, jVal);
break;
}
}
if(jniEnv->ExceptionCheck()) {
jniEnv->ExceptionClear();
return ErrorVM;
}
if(ob) {
*jVal = ob;
return OK;
}
return result;
}
示例10:
size_t Get<size_t> (Handle<Value> value) {
return value->IntegerValue();
}