本文整理汇总了C++中MojObject::toBytes方法的典型用法代码示例。如果您正苦于以下问题:C++ MojObject::toBytes方法的具体用法?C++ MojObject::toBytes怎么用?C++ MojObject::toBytes使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MojObject
的用法示例。
在下文中一共展示了MojObject::toBytes方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: writeObj
MojErr MojDbKindState::writeObj(const MojChar* key, const MojObject& val, MojDbStorageDatabase* db,
MojDbStorageTxn* txn, MojRefCountedPtr<MojDbStorageItem>& oldItem)
{
MojAssert(key && db && txn);
MojAssertMutexLocked(m_lock);
// reconstitute obj
MojObject obj;
if (oldItem.get()) {
MojErr err = oldItem->toObject(obj, *m_kindEngine, false);
MojErrCheck(err);
}
MojErr err = obj.put(key, val);
MojErrCheck(err);
// we directly use the storage engine apis because the higher-level apis depend on the kind state.
MojBuffer buf;
err = obj.toBytes(buf);
MojErrCheck(err);
txn->quotaEnabled(false);
if (oldItem.get()) {
err = db->update(m_kindId, buf, oldItem.get(), txn);
MojErrCheck(err);
} else {
err = db->insert(m_kindId, buf, txn);
MojErrCheck(err);
// get old item so we can update it next time
err = db->get(m_kindId, txn, false, oldItem);
MojErrCheck(err);
}
txn->quotaEnabled(true);
return MojErrNone;
}