serviceproviders/sapi_applicationmanager/inc/appinfomap.h
changeset 5 989d2f495d90
child 23 50974a8b132e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/serviceproviders/sapi_applicationmanager/inc/appinfomap.h	Fri Jul 03 15:51:24 2009 +0100
@@ -0,0 +1,140 @@
+/*
+* Copyright (c) 2007-2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "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:  Implements CLiwMap type
+*
+*/
+
+
+#ifndef __CAPPINFOMAP_H
+#define __CAPPINFOMAP_H
+
+#include <Liwgenericparam.h> 
+
+class MInfoMap;
+
+/**
+ *  This class implements the abstract methods of CLiwIterable   
+ *  class so that the user may iterate over the result 
+ *  
+ *  @since Series60 v3.2
+ */
+NONSHARABLE_CLASS( CAppInfoMap ) : public CLiwMap
+    {
+
+public:
+       
+    /**
+     * Two-phased constructor.
+     * @param aIter holds a reference to the item list 
+     * @return A pointer of type CAppItemsList
+     */
+     static CAppInfoMap* NewL( MInfoMap* aIter );
+    
+    /**
+    * Destructor.
+    */
+    ~CAppInfoMap();
+
+    /**
+    * Inserts a key-value pair element to the map collection. A default
+    * implementation is provided in \c CLiwDefaultMap.
+    *  
+    * @param aKey the key to be stored
+    * @param aValue the value associated with the key to be stored
+    *
+    * @see CLiwDefaultMap::InsertL
+   */
+    virtual void InsertL(const TDesC8& aKey, const TLiwVariant& aValue);
+ 
+    /**
+    * Finds a value stored in the map collection based on the key. 
+    *  
+    * @param aKey the key to be searched
+    * @param aFndValue the value associated with the found key
+    *
+    * @return false if there is no key stored; true otherwise
+    *
+    */
+    virtual TBool FindL(const TDesC8& aKey, TLiwVariant& aFndValue) const;
+  
+    /**
+    * Returns the number of key-value pair stored in the map collection. 
+    *  
+    * @return the number of key-value pair stored in the map collection
+    *
+    */
+    virtual TInt Count() const ;
+  
+    /**
+    * Returns the key stored at the passed index. 
+    *  
+    * @param aIndex the index of the key to be found
+    * @param aFndKey the key found at the passed index
+    *
+    * @return true if a key-value entry is found at the passed index;
+    * false otherwise
+    *
+    * 
+    */
+    virtual TBool AtL(TInt aIndex, TDes8& aFndKey) const;
+  
+    /**
+    * Removes a key from the map collection. A default
+    * implementation is provided in \c CLiwDefaultMap.
+    *  
+    * @param aKey the key to be removed from the map
+    *
+    */
+    
+    
+    /**
+    * Removes a key from the map collection. A default
+    * implementation is provided in \c CLiwDefaultMap.
+    *  
+    * @param aKey the key to be removed from the map
+    *
+    * @see CLiwDefaultMap::Remove
+   */
+    virtual void Remove(const TDesC8& aKey);
+  
+    /**
+    * Default implementation of equality operator.
+    *  
+    * @param aMap the map to be compared
+    *
+    * @see CLiwDefaultMap::operator==
+    * 
+    */
+    virtual TBool operator==(const CLiwMap& aMap) const;
+
+private:
+    
+     /**
+     * Parameterised constructor
+     * @since  Series60 v3.2
+     * @param  aIter holds a reference to the item list model
+     */
+    
+     CAppInfoMap( MInfoMap* aIter );
+    
+private: // data
+
+     /**
+     * A pointer to Iterator of core class
+     */
+     MInfoMap* iMap;
+   
+    };
+
+#endif // __CAPPINFOMAP_H