diff -r e5618cc85d74 -r 6c158198356e javamanager/javabackup/midp2backup/src.s60/mediaidupdater.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/javamanager/javabackup/midp2backup/src.s60/mediaidupdater.h Thu Aug 19 09:48:13 2010 +0300 @@ -0,0 +1,74 @@ +/* +* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: MediaIdUpdater +* +*/ + + +#ifndef MEDIAIDUPDATER_H +#define MEDIAIDUPDATER_H + +#include +#include + +namespace java +{ +namespace storage +{ + class JavaStorage; +} +namespace backup +{ + +/** +* MediaIdUpdater is responsible for ensuring that java storage contains +* valid media ids after restore. +* Media id may change in following situations: +* - memory card is formatted between backup and restore +* - another memory card is used during restore than originally +*/ + +class MediaIdUpdater +{ +public: + MediaIdUpdater(); + virtual ~MediaIdUpdater(); + + /** + * Updates media ids to valid values if needed + * Note: this method must be called after java storage is restored + */ + virtual void update(); + +protected: + virtual std::set getPresentMediaIds(); + virtual std::set getPresentRemovableDriveMediaIds(); + virtual std::set removePresentMediaIds(const std::set& aStorageIds, + const std::set& aPresentIds); + virtual bool isMediaIdUpdateNeeded(const std::set& aInvalidIds, + const std::set& aValidIds); + virtual std::set getMediaIdsFromStorage(); + virtual void updateMediaIds(const std::set& aInvalidIds, + const std::set& aValidIds); + + virtual void open(); + virtual void close(); + + java::storage::JavaStorage* mStorage; +}; + +} // namespace backup +} // namespace java + +#endif // MEDIAIDUPDATER_H