void CJavaDebugAgentSettings::LoadL(RReadStream* aStream) { // Read in and verify the signature for (TInt k=0; k<KPrefsFileSignature().Length(); k++) { TUint8 sig = aStream->ReadUint8L(); if (sig != KPrefsFileSignature()[k]) { User::Leave(KErrCorrupt); } } // Read individual settings for (;;) { TInt len = 0; TRAPD(err, len = aStream->ReadInt32L()); if (err != KErrNone) { if (err == KErrEof) break; User::Leave(err); } if (len < 4) User::Leave(KErrCorrupt); TParam* param = FindParam(aStream->ReadInt32L()); if (param) { param->ReadL(aStream, len-4); } else { aStream->ReadL(len-4); } } }