--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ncdengine/provider/server/inc/ncddbmaxsizemap.h Thu Dec 17 08:51:10 2009 +0200
@@ -0,0 +1,124 @@
+/*
+* Copyright (c) 2006 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: Contains CNcdDbMaxSizeMap class
+*
+*/
+
+
+#ifndef NCD_DB_MAX_SIZE_MAP
+#define NCD_DB_MAX_SIZE_MAP
+
+/**
+ * This class object acts as a map that has the client uid as the key
+ * and the db byte size as the value.
+ */
+
+#include <e32base.h>
+#include <e32cmn.h>
+
+class CNcdDbMaxSizeMap : public CBase
+ {
+
+public:
+
+ /**
+ * @param aDefaultMaxSize
+ * @return CNcdDbMaxSizeMap* Pointer to the created object
+ * of this class.
+ */
+ static CNcdDbMaxSizeMap* NewL( const TInt aDefaultMaxSize );
+
+ /**
+ * @param aDefaultMaxSize
+ * @return CNcdDbMaxSizeMap* Pointer to the created object
+ * of this class.
+ */
+ static CNcdDbMaxSizeMap* NewLC( const TInt aDefaultMaxSize );
+
+
+ /**
+ * Destructor
+ */
+ virtual ~CNcdDbMaxSizeMap();
+
+
+ /**
+ * Sets the value that corresponds to the given key.
+ * If the key already exists. Then the corresponding value
+ * will be reset. If the key does not exist. Then the new
+ * key value pair is created.
+ *
+ * @return KErrNone if value was set. Else some system error.
+ */
+ TInt SetValue( const TUid& aKey,
+ TInt aValue );
+
+
+ /**
+ * @return TInt the value that corresponds the given key.
+ * If the value corresponding the key was not found from the
+ * map, then the default value given for the constructor is
+ * returned.
+ */
+ TInt Value( const TUid& aKey ) const;
+
+
+protected:
+
+ /**
+ * Constructor
+ *
+ * @param aDefaultMaxSize
+ */
+ CNcdDbMaxSizeMap( const TInt aDefaultMaxSize );
+
+
+ /**
+ * ConstructL
+ */
+ virtual void ConstructL();
+
+
+private:
+
+ // Prevent these if not implemented
+ CNcdDbMaxSizeMap( const CNcdDbMaxSizeMap& aObject );
+ CNcdDbMaxSizeMap& operator =( const CNcdDbMaxSizeMap& aObject );
+
+
+ // Searches for the given key. And returns the index of that key.
+ // Returns KElementWasNotFound if the key was not found.
+ TInt KeyIndex( const TUid& aKey ) const;
+
+
+private: // data
+
+ // Constant value that is used if the search for the key or value
+ // did not find any actual value.
+ const TInt KElementWasNotFound;
+
+ // The default max size that is used if the key is not found
+ // and some value should be returned.
+ const TInt iDefaultMaxSize;
+
+
+ // The key can not be changed
+ RArray<const TUid> iKeyArray;
+
+ // The value of may be changed.
+ RArray<TInt> iValueArray;
+
+ };
+
+#endif // NCD_DB_MAX_SIZE_MAP
\ No newline at end of file