bool TestCase::serialize(base::Blob& blob) { if (!base::TObject::serialize(blob)) { return false; } base::StructuredData sd("TestCase", blob.getString()); sd.addArray("commands"); base::TObjectTree::Children& cmds = children_->getChildren(); base::TObjectTree::Children::iterator it; for (it = cmds.begin(); it != cmds.end(); ++it) { TObject* tObj = (*it)->getValue(); if (tObj) { base::Blob cmdBlob(""); tObj->serialize(cmdBlob); base::StructuredData sdcmd("command", cmdBlob.getString()); sd.add("commands.", sdcmd); } } return sd.serialize(blob); }