--- /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 <e32base.h>
+#include <badesca.h>
+
+// 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<TInt>* 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