diff -r 000000000000 -r 094583676ce7 wvuing/ImUtils/Inc/CAArrayUtils.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wvuing/ImUtils/Inc/CAArrayUtils.h Thu Dec 17 08:41:52 2009 +0200 @@ -0,0 +1,104 @@ +/* +* 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: Helper class for arrays + * +*/ + + + +#ifndef CAARRAYUTILS_H +#define CAARRAYUTILS_H + +// INCLUDES +#include +#include + +// CLASS DECLARATION + +/** + * This class gives some helper functions + * + * @lib chat.app + * @since 1.2s + */ +// This is not a C-class although it begins with a CA +class CAArrayUtils // CSI: 51 #see above + { + public: // New functions + + /** + * This method compares two arrays and if there are same data selection + * array contains indexes that are same + * @since + * @param aSource1 Array that contains values that are compared to + * aSource2 + * @param aSource2 Array that contains values that are compared to + * aSource1 + * @return Integer array that contains indexes of selected items + */ + IMPORT_C static CArrayFixFlat* SetSelectionsLC( const CDesCArray& aSource1, + const CDesCArray& aSource2 ); + + /** + * Creates the CDesCArray from the source. + * Ownership is transferred to caller! + * @since + * @param aSource Array to be copied + * @return Array containing the same elements as source array + */ + IMPORT_C static CDesCArray* CloneArrayLC( const MDesCArray& aSource ); + + /** + * Creates the CDesCArray containing the items from arrayDiff that + * are not on arrayTest + * Ownership is transferred to caller! + * @since + * @param aArrayDiff Array whose differences are copied + * @param aArrayTest Array to be tested on + * @return Array containing the differences + */ + IMPORT_C static CDesCArray* CreateDiffLC( const CDesCArray& aArrayDiff, + const CDesCArray& aArrayTest ); + /** + * Appends aSource array to aDest + * @since + * @param aSource Source array + * @param aDest Destination array + */ + IMPORT_C static void AppendArrayL( const CDesCArray& aSource, CDesCArray& aDest ); + + /** + * Appends aPtr to aDest array, if aPtr not found from aDest array + * @since + * @param aDest Destination array + * @param aPtr to be added text + * @return ETrue if aPtr was appended ( not found ), else EFalse + */ + IMPORT_C static TBool AppendIfNotFoundL( CDesCArray& aDest, const TDesC& aPtr ); + + /** + * Removes aPtr from aDest array, if aPtr found from aDest array + * @since + * @param aDest Destination array + * @param aPtr to be removed text + * @return ETrue if aPtr was removed ( found ), else EFalse + */ + IMPORT_C static TBool DeleteIfFound( CDesCArray& aDest, const TDesC& aPtr ); + + + }; + +#endif // CAARRAYUTILS_H + +// End of File