本文整理汇总了C++中Handle::IsUint32方法的典型用法代码示例。如果您正苦于以下问题:C++ Handle::IsUint32方法的具体用法?C++ Handle::IsUint32怎么用?C++ Handle::IsUint32使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Handle
的用法示例。
在下文中一共展示了Handle::IsUint32方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetNaturalType
int Conv::GetNaturalType(Handle<Value> val) {
if(val.IsEmpty()) return TYPE_INVALID;
if(val->IsUndefined()) return TYPE_UNDEFINED;
if(val->IsNull()) return TYPE_NULL;
if(val->IsBoolean() || val->IsBooleanObject()) return TYPE_BOOL;
if(val->IsInt32()) return TYPE_INT;
if(val->IsUint32()) return TYPE_LONG;
if(val->IsNumber() || val->IsNumberObject()) return TYPE_DOUBLE;
if(val->IsString() || val->IsStringObject()) return TYPE_STRING;
return GetNaturalType(Handle<Object>::Cast(val));
}
示例2: applyUint32Setting
int applyUint32Setting(int (*f)(MDB_env *, T), MDB_env* e, Local<Object> options, MDB_dbi dflt, const char* keyName) {
int rc;
const Handle<Value> value = options->Get(String::NewSymbol(keyName));
if (value->IsUint32()) {
rc = f(e, value->Uint32Value());
}
else {
rc = f(e, dflt);
}
return rc;
}
示例3: rr_v82rb
VALUE rr_v82rb(Handle<Value> value) {
if (value.IsEmpty()) {
return rr_v8_value_empty();
}
if (value->IsUndefined() || value->IsNull()) {
return Qnil;
}
if (value->IsExternal()) {
return rr_reflect_v8_external(value);
}
if (value->IsUint32()) {
return UINT2NUM(value->Uint32Value());
}
if (value->IsInt32()) {
return INT2FIX(value->Int32Value());
}
if (value->IsBoolean()) {
return value->BooleanValue() ? Qtrue : Qfalse;
}
if (value->IsNumber()) {
return rb_float_new(value->NumberValue());
}
if (value->IsString()) {
return rr_reflect_v8_string(value);
}
if (value->IsFunction()) {
return rr_reflect_v8_function(value);
}
if (value->IsArray()) {
return rr_reflect_v8_array(value);
}
if (value->IsDate()) {
return rr_reflect_v8_date(value);
}
if (value->IsObject()) {
return rr_reflect_v8_object(value);
}
return rr_wrap_v8_value(value);
}
示例4: if
jsvalue JsEngine::AnyFromV8(Handle<Value> value, Handle<Object> thisArg)
{
jsvalue v;
// Initialize to a generic error.
v.type = JSVALUE_TYPE_UNKNOWN_ERROR;
v.length = 0;
v.value.str = 0;
if (value->IsNull() || value->IsUndefined()) {
v.type = JSVALUE_TYPE_NULL;
}
else if (value->IsBoolean()) {
v.type = JSVALUE_TYPE_BOOLEAN;
v.value.i32 = value->BooleanValue() ? 1 : 0;
}
else if (value->IsInt32()) {
v.type = JSVALUE_TYPE_INTEGER;
v.value.i32 = value->Int32Value();
}
else if (value->IsUint32()) {
v.type = JSVALUE_TYPE_INDEX;
v.value.i64 = value->Uint32Value();
}
else if (value->IsNumber()) {
v.type = JSVALUE_TYPE_NUMBER;
v.value.num = value->NumberValue();
}
else if (value->IsString()) {
v = StringFromV8(value);
}
else if (value->IsDate()) {
v.type = JSVALUE_TYPE_DATE;
v.value.num = value->NumberValue();
}
else if (value->IsArray()) {
Handle<Array> object = Handle<Array>::Cast(value->ToObject());
v.length = object->Length();
jsvalue* array = new jsvalue[v.length];
if (array != NULL) {
for(int i = 0; i < v.length; i++) {
array[i] = AnyFromV8(object->Get(i));
}
v.type = JSVALUE_TYPE_ARRAY;
v.value.arr = array;
}
}
else if (value->IsFunction()) {
Handle<Function> function = Handle<Function>::Cast(value);
jsvalue* array = new jsvalue[2];
if (array != NULL) {
array[0].value.ptr = new Persistent<Object>(Persistent<Function>::New(function));
array[0].length = 0;
array[0].type = JSVALUE_TYPE_WRAPPED;
if (!thisArg.IsEmpty()) {
array[1].value.ptr = new Persistent<Object>(Persistent<Object>::New(thisArg));
array[1].length = 0;
array[1].type = JSVALUE_TYPE_WRAPPED;
} else {
array[1].value.ptr = NULL;
array[1].length = 0;
array[1].type = JSVALUE_TYPE_NULL;
}
v.type = JSVALUE_TYPE_FUNCTION;
v.value.arr = array;
}
}
else if (value->IsObject()) {
Handle<Object> obj = Handle<Object>::Cast(value);
if (obj->InternalFieldCount() == 1)
v = ManagedFromV8(obj);
else
v = WrappedFromV8(obj);
}
return v;
}
示例5: GetInBindParams
/*
DESCRIPTION
Processing in binds
PARAMETERS:
Handle value, bind struct, eBaton struct
*/
void Connection::GetInBindParams (Handle<Value> v8val, Bind* bind,
eBaton* executeBaton, BindType type)
{
bind->ind = 0;
if(v8val->IsUndefined() || v8val->IsNull())
{
bind->value = NULL;
bind->ind = -1;
bind->type = dpi::DpiVarChar;
}
else if(v8val->IsString())
{
if( bind->type && bind->type != DATA_STR )
{
executeBaton->error= NJSMessages::getErrorMsg(
errBindValueAndTypeMismatch, 2);
goto exitGetInBindParams;
}
v8::String::Utf8Value str(v8val->ToString());
bind->type = dpi::DpiVarChar;
if(type == BIND_INOUT)
{
bind->len = str.length();
}
else // IN
{
bind->maxSize = bind->len = str.length();
}
DPI_SZ_TYPE size = (bind->maxSize >= bind->len ) ?
bind->maxSize : bind->len;
if(size)
{
bind->value = (char*)malloc(size);
if(str.length())
memcpy(bind->value, *str, str.length());
}
}
else if(v8val->IsInt32())
{
if( bind->type && bind->type != DATA_NUM )
{
executeBaton->error= NJSMessages::getErrorMsg(
errBindValueAndTypeMismatch, 2);
goto exitGetInBindParams;
}
bind->type = dpi::DpiInteger;
bind->maxSize = bind->len = sizeof(int);
bind->value = (int*)malloc(bind->len);
*(int*)(bind->value) = v8val->ToInt32()->Value();
}
else if(v8val->IsUint32())
{
if( bind->type && bind->type != DATA_NUM )
{
executeBaton->error= NJSMessages::getErrorMsg(
errBindValueAndTypeMismatch, 2);
goto exitGetInBindParams;
}
bind->type = dpi::DpiUnsignedInteger;
bind->maxSize = bind->len = sizeof(unsigned int);
bind->value = (unsigned int*)malloc(bind->len);
*(unsigned int*)(bind->value) = v8val->ToUint32()->Value();
}
else if(v8val->IsNumber())
{
if( bind->type && bind->type != DATA_NUM )
{
executeBaton->error= NJSMessages::getErrorMsg(errBindValueAndTypeMismatch, 2);
goto exitGetInBindParams;
}
bind->type = dpi::DpiDouble;
bind->maxSize = bind->len = sizeof(double);
bind->value = (double*)malloc(bind->len);
*(double*)(bind->value) = v8val->NumberValue();
}
else if(v8val->IsDate ())
{
if( bind->type && bind->type != DATA_DATE )
{
executeBaton->error= NJSMessages::getErrorMsg(errBindValueAndTypeMismatch, 2);
goto exitGetInBindParams;
}
/* This has to be allocated after stmt is initialized */
bind->dttmarr = NULL ;
bind->extvalue = (long double *) malloc (sizeof ( long double ) );
bind->value = (long double *)malloc (sizeof ( long double ));
bind->type = dpi::DpiTimestampLTZ;
bind->len = 0;
bind->maxSize = 0;
/* Convert v8::Date value to long double */
Connection::v8Date2OraDate ( v8val, bind);
//.........这里部分代码省略.........