本文整理汇总了C++中js::MutableHandleValue::setBoolean方法的典型用法代码示例。如果您正苦于以下问题:C++ MutableHandleValue::setBoolean方法的具体用法?C++ MutableHandleValue::setBoolean怎么用?C++ MutableHandleValue::setBoolean使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类js::MutableHandleValue
的用法示例。
在下文中一共展示了MutableHandleValue::setBoolean方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: UNUSED
template<> void ScriptInterface::ToJSVal<bool>(JSContext* UNUSED(cx), JS::MutableHandleValue ret, const bool& val)
{
ret.setBoolean(val);
}
示例2: DoStep
bool DoStep(JSContext *cx, JS::HandleObject obj, JS::MutableHandleValue rval) {
sqlite3_stmt *pStmt = (sqlite3_stmt*)JL_GetPrivate(obj);
JL_ASSERT_THIS_OBJECT_STATE( pStmt );
DatabasePrivate *dbpv;
{
JS::RootedValue dbVal(cx);
JL_CHK( JL_GetReservedSlot(obj, SLOT_RESULT_DATABASE, &dbVal) );
JL_ASSERT( dbVal.isObject() );
JS::RootedObject dbValObj(cx, &dbVal.toObject());
dbpv = (DatabasePrivate*)JL_GetPrivate(dbValObj);
JL_ASSERT_OBJECT_STATE(dbpv, JL_GetClassName(dbValObj));
}
sqlite3 *db;
db = dbpv->db;
ASSERT( db == sqlite3_db_handle(pStmt) );
{
// check if bindings are up to date
JS::RootedValue bindingUpToDate(cx);
JL_CHK( JL_GetReservedSlot(obj, SLOT_RESULT_BINDING_UP_TO_DATE, &bindingUpToDate) );
if ( bindingUpToDate != JSVAL_TRUE ) {
JS::RootedValue queryArgument(cx);
JS::RootedObject queryArgumentObj(cx);
JL_CHK(jl::getSlot(cx, obj, SLOT_RESULT_QUERY_ARGUMENT_OBJECT, &queryArgumentObj));
JL_CHK(SqliteSetupBindings(cx, pStmt, queryArgumentObj, obj)); // ":" use result object. "@" is the object passed to Query()
JL_CHK( JL_SetReservedSlot(obj, SLOT_RESULT_BINDING_UP_TO_DATE, JL_TRUE) );
// doc: The sqlite3_bind_*() routines must be called AFTER sqlite3_prepare() or sqlite3_reset() and BEFORE sqlite3_step().
// Bindings are not cleared by the sqlite3_reset() routine. Unbound parameters are interpreted as NULL.
}
}
dbpv->tmpcx = cx;
int status;
status = sqlite3_step( pStmt ); // The return value will be either SQLITE_BUSY, SQLITE_DONE, SQLITE_ROW, SQLITE_ERROR, or SQLITE_MISUSE.
dbpv->tmpcx = NULL;
JL_CHK( !JL_IsExceptionPending(cx) );
switch ( status ) {
case SQLITE_ROW: // SQLITE_ROW is returned each time a new row of data is ready for processing by the caller
rval.setBoolean(true);
return true;
case SQLITE_DONE: // means that the statement has finished executing successfully. sqlite3_step() should not be called again on this virtual machine without first calling sqlite3_reset() to reset the virtual machine back to its initial state.
rval.setBoolean(false);
return true;
case SQLITE_MISUSE:
// doc. means that the this routine was called inappropriately. Perhaps it was called on a virtual machine that had already been finalized or on one that had previously returned SQLITE_ERROR or SQLITE_DONE.
// Or it could be the case that a database connection is being used by a different thread than the one it was created it.
// doc. If an interface fails with SQLITE_MISUSE, that means the interface was invoked incorrectly by the application. In that case, the error code and message may or may not be set.
JL_CHK( SqliteThrowError(cx, db) );
// case SQLITE_ERROR:
// case SQLITE_SCHEMA: // (TBD) check for another error (doc. The database schema changed)
// JL_CHK( SqliteThrowError(cx, db) );
}
// JL_REPORT_ERROR("invalid case (status:%d)", status );
JL_CHK( SqliteThrowError(cx, db) );
JL_BAD;
}
示例3: if
static void
convertValue(JSContext * jct,
JS::MutableHandleValue theData,
const yarp::os::Value & inputValue)
{
ODL_ENTER(); //####
ODL_P2("jct = ", jct, "inputValue = ", &inputValue); //####
if (inputValue.isBool())
{
theData.setBoolean(inputValue.asBool());
}
else if (inputValue.isInt())
{
theData.setInt32(inputValue.asInt());
}
else if (inputValue.isString())
{
YarpString value = inputValue.asString();
JSString * aString = JS_NewStringCopyZ(jct, value.c_str());
if (aString)
{
theData.setString(aString);
}
}
else if (inputValue.isDouble())
{
theData.setDouble(inputValue.asDouble());
}
else if (inputValue.isDict())
{
yarp::os::Property * value = inputValue.asDict();
if (value)
{
yarp::os::Bottle asList(value->toString());
convertDictionary(jct, theData, asList);
}
}
else if (inputValue.isList())
{
yarp::os::Bottle * value = inputValue.asList();
if (value)
{
yarp::os::Property asDict;
if (ListIsReallyDictionary(*value, asDict))
{
convertDictionary(jct, theData, *value);
}
else
{
convertList(jct, theData, *value);
}
}
}
else
{
// We don't know what to do with this...
theData.setNull();
}
ODL_EXIT(); //####
} // convertValue