BOOL LLMultiGesture::serialize(LLDataPacker& dp) const { dp.packS32(GESTURE_VERSION, "version"); dp.packU8(mKey, "key"); dp.packU32(mMask, "mask"); dp.packString(mTrigger, "trigger"); dp.packString(mReplaceText, "replace"); S32 count = (S32)mSteps.size(); dp.packS32(count, "step_count"); S32 i; for (i = 0; i < count; ++i) { LLGestureStep* step = mSteps[i]; dp.packS32(step->getType(), "step_type"); BOOL ok = step->serialize(dp); if (!ok) { return FALSE; } } return TRUE; }