osncore/osncore/src/alfstringpool.cpp
changeset 17 3eca7e70b1b8
parent 3 4526337fb576
--- a/osncore/osncore/src/alfstringpool.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,126 +0,0 @@
-/*
-* Copyright (c) 2007 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:  Implementation of the common string pool for widget and the factory model class.
-*
-*/
-
-#include <stdlib.h>
-
-
-#include "osn/alfstringpool.h"
-#include "osn/alfstring.h"
-
-
-const int KPoolAllocSize = 32;
-
-namespace osncore
-    {
-class CAlfStringPoolImpl
-    {
-public:    
-    CAlfStringPoolImpl():iPool(0),iItemCount(0),iAllocCount(0)
-        {
-            
-        }
-    ~CAlfStringPoolImpl()
-        {
-        delete [] iPool;    
-        }
-    CAlfString* iPool;
-    int iItemCount;
-    int iAllocCount;
-    };    
-  
-
-//-----------------------------------------------------------------------
-// Only Method to access Strings from the String pool
-//-----------------------------------------------------------------------
-static CAlfString AppendToPool( 
-    const CAlfString& aString, 
-    CAlfStringPoolImpl*& aImpl)
-    {
-    bool found(false);
-    CAlfString ret(aString);
-    
-    //Look if this string is present then just return the corresponding RAlfString else create new one and add it to the list
-    for(int i=0;i<aImpl->iItemCount && !found;i++)
-        {
-        if( aImpl->iPool[i] == aString) //element found
-            {
-            found = true;
-            ret = aImpl->iPool[i];
-            }
-        }
-    if(!found)
-        {
-        if(aImpl->iItemCount < aImpl->iAllocCount )
-            {
-            aImpl->iPool[aImpl->iItemCount++] = aString;
-            }
-        else // // reserve more space for an array
-            {
-            CAlfString* tmp = (CAlfString*) realloc(aImpl->iPool, (sizeof (CAlfString) * KPoolAllocSize) );
-            if(tmp)
-                {
-                aImpl->iAllocCount += KPoolAllocSize;
-                aImpl->iPool = tmp;
-                
-                aImpl->iPool[aImpl->iItemCount++] = aString;     
-                }
-            else
-                {
-                User::LeaveIfNull(tmp);   
-                }    
-            }   
-        }
-    return ret;
-    }
-
-
-
-EXPORT_C  CAlfString CAlfStringPool::CreateStringL( const char* aString)
-    {
-    if(aString)
-        {
-        CAlfString tmp(aString);
-        return AppendToPool(tmp,iImpl);    
-        }
-    return CAlfString();
-    }
-
-EXPORT_C  CAlfString CAlfStringPool::CreateStringL( const CAlfString& aString)
-    {
-    return AppendToPool(aString,iImpl);
-    }
-
-EXPORT_C CAlfStringPool::CAlfStringPool():iImpl(0)
-    {
-    iImpl = new(ELeave) CAlfStringPoolImpl;
-    iImpl->iPool = new(ELeave)CAlfString[KPoolAllocSize];
-    iImpl->iAllocCount = KPoolAllocSize;
-    
-    }
-
-//-----------------------------------------------------------------------
-// Default Destructor
-//-----------------------------------------------------------------------
-EXPORT_C CAlfStringPool::~CAlfStringPool()
-    {
-    
-    delete iImpl;
-    iImpl = NULL;
-    }
-
-
-  }