// static std::string WorkingSetCommon::toStatusString(const BSONObj& obj) { if (!isValidStatusMemberObject(obj)) { Status unknownStatus(ErrorCodes::UnknownError, "no details available"); return unknownStatus.toString(); } Status status(ErrorCodes::fromInt(obj.getIntField("code")), obj.getStringField("errmsg")); return status.toString(); }
// static void WorkingSetCommon::getStatusMemberObject(const WorkingSet& ws, WorkingSetID wsid, BSONObj* objOut) { invariant(objOut); // Validate ID and working set member. if (WorkingSet::INVALID_ID == wsid) { return; } WorkingSetMember* member = ws.get(wsid); if (!member->hasOwnedObj()) { return; } BSONObj obj = member->obj.value(); if (!isValidStatusMemberObject(obj)) { return; } *objOut = obj; }