diff -r 8b2d6d0384b0 -r d9aefe59d544 camerauis/cameraapp/generic/inc/camrarray.h --- a/camerauis/cameraapp/generic/inc/camrarray.h Tue Feb 02 00:01:39 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,103 +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: -* -*/ - - -#ifndef CAM_RARRAY_H -#define CAM_RARRAY_H - -class CCamRArray : public CBase - { - public: - - CCamRArray( TUint32* aArray, TInt aSize ) - : iReferenced ( NULL ), - iReferenceCount( 0 ), - iArray( aArray ), - iSize ( aSize ) - {}; - - CCamRArray( CCamRArray& aOther ) - { - CCamRArray::MakeCopy( aOther, *this ); - }; - - public: - - void Attach() - { - ++iReferenceCount; - }; - - void Detach() - { - if( --iReferenceCount <= 0 ) - delete this; - } - - inline TUint32& operator[]( TInt aIndex ) - { - return iArray[aIndex]; - }; - - inline const TUint32& operator[]( TInt aIndex ) const - { - return iArray[aIndex]; - }; - - inline TInt Size() const - { - return iSize; - }; - - private: - - static void MakeCopy( CCamRArray& aFrom, CCamRArray& aTo ) - { - aTo.iArray = aFrom.iArray; - aTo.iSize = aFrom.iSize; - - for( TInt i = 1; i < aTo.Size(); i++) - { - TInt tempp = aTo[i]; - TInt tempp2 = aFrom[i]; - } - - aFrom.Attach(); // aTo is one reference more. - aTo.iReferenced = &aFrom; // Used to detach aTo from aFrom - } - - ~CCamRArray() - { - if( iReferenced ) - iReferenced->Detach(); - else - delete [] iArray; - - iArray = NULL; - iSize = 0; - }; - - private: - - TInt iReferenceCount; - CCamRArray* iReferenced; - - TUint32* iArray; - TInt iSize; - }; - -#endif