void CPingAppUi::StorePreferencesL(const TPreferences &aPreferences) { CDictionaryStore *iniFile = Application()->OpenIniFileLC(iCoeEnv->FsSession()); RDictionaryWriteStream writeStream; writeStream.AssignLC(*iniFile, KUidPingApp); writeStream.WriteUint8L (aPreferences.iFlags); writeStream.WriteUint16L (aPreferences.iLastSecWait); writeStream.WriteUint16L (aPreferences.iPacketDataSize); writeStream.WriteUint16L (aPreferences.iSecWait); writeStream.WriteUint16L (aPreferences.iTotalPackets); writeStream.WriteInt16L (aPreferences.iHostname.Length()); writeStream.WriteL (aPreferences.iHostname); writeStream.WriteInt16L (aPreferences.iPattern.Length()); writeStream.WriteL (aPreferences.iPattern); #ifdef IAPSETTING writeStream.WriteUint16L (aPreferences.iIAP); #endif //.... // and whatever writeStream.CommitL(); CleanupStack::PopAndDestroy(); // write stream // in this replace XXVersionUid with another unique UID - usually the next one up from XXUid writeStream.AssignLC(*iniFile, KUidPingVersionUid); // write version 1.0 (major.minor) writeStream.WriteInt8L(1); // major writeStream.WriteInt8L(0); // minor writeStream.CommitL(); // flush CleanupStack::PopAndDestroy(); // writeStream; // commit changes to the store if (iniFile->Commit()!=KErrNone) iniFile->RevertL(); CleanupStack::PopAndDestroy(); }