--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/appinstaller/AppinstUi/sisxsifplugin/inc/sisxsifuiselectioncache.h Fri Apr 16 15:05:20 2010 +0300
@@ -0,0 +1,113 @@
+/*
+* Copyright (c) 2002-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: CSisxSifUiSelectionCache saves user selections during
+* installation. Cached selections can be re-used, to avoid
+* displaying the same dialogs again.
+*/
+
+#ifndef C_SISXSIFUISELECTIONCACHE_H
+#define C_SISXSIFUISELECTIONCACHE_H
+
+#include <e32base.h>
+#include <f32file.h>
+
+
+/**
+ * Saves user selections during installation. Installer may re-use
+ * cached selections in order to avoid displaying the same prompts
+ * several times.
+ */
+class CSisxSifUiSelectionCache : public CBase
+ {
+ public: // constructor and destructor
+ static CSisxSifUiSelectionCache* NewL();
+ ~CSisxSifUiSelectionCache();
+
+ public: // new functions
+ /**
+ * Returns ETrue if language selection is currently cached, and
+ * EFalse otherwise. Language selection can be cached by using
+ * SetLanguage() method.
+ * @return TBool -- ETrue if language is cached
+ */
+ TBool LanguageCached() const;
+
+ /**
+ * Returns the language code saved earlier with SetLanguage() method.
+ * If no language has been set, then returns language code 0 (ELangTest).
+ * @return TLanguage -- the cached language, or ELangTest
+ */
+ TLanguage Language() const;
+
+ /**
+ * Caches the given language code.
+ * @param aLanguage - language to be cached
+ */
+ void SetLanguage( const TLanguage& aLanguage );
+
+ /**
+ * Returns ETrue if drive selection is currently cacehed, and EFalse
+ * otherwise. Drive selection can be cached by using SetDrive() method.
+ * @return TBool -- ETrue if drive is cached
+ */
+ TBool DriveCached() const;
+
+ /**
+ * Returns the drive saved earlier with SetDrive() method.
+ * @return TDriveUnit -- the cached drive
+ */
+ TDriveUnit Drive() const;
+
+ /**
+ * Caches the given drive.
+ * @param aLanguage -- drive to be cached
+ */
+ void SetDrive( TDriveUnit aDrive );
+
+ /**
+ * Returns ETrue if all options in aOptions array are cached, and EFalse
+ * otherwise. Options can be cached using SetOptions() method.
+ * @param aOptions -- array of options names
+ * @return TBool -- ETrue if all aOptions are cached
+ */
+ TBool OptionsCached( const RPointerArray<TDesC>& aOptions ) const;
+
+ /**
+ * Returns the options saved earlier with SetOptions() method.
+ * @param aSelections -- the cached option selections
+ */
+ void Options( RArray<TBool>& aSelections );
+
+ /**
+ * Caches the given options.
+ * @param aOptions -- array of options names
+ * @param aSelections -- array of option selections
+ */
+ void SetOptionsL( const RPointerArray<TDesC>& aOptions, const RArray<TBool>& aSelections );
+
+ private: // new functions
+ CSisxSifUiSelectionCache();
+ void ConstructL();
+
+ private: // data
+ TBool iLanguageCached;
+ TLanguage iLanguage;
+ TDriveUnit iDrive;
+ RPointerArray<HBufC> iOptions;
+ RArray<TBool> iSelections;
+ };
+
+
+#endif // C_SISXSIFUISELECTIONCACHE_H
+