wvuing/ImUtils/Inc/CAArrayUtils.h
changeset 0 094583676ce7
--- /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