diff -r 000000000000 -r 094583676ce7 wvuing/wvuiprocess/Inc/CCAServerContactsArrayPC.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wvuing/wvuiprocess/Inc/CCAServerContactsArrayPC.h Thu Dec 17 08:41:52 2009 +0200 @@ -0,0 +1,239 @@ +/* +* 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: Declares server contacts array +* +*/ + + + +#ifndef CCASERVERCONTACTSARRAYPC_H +#define CCASERVERCONTACTSARRAYPC_H + +// INCLUDES +#include +#include +#include "ChatDefinitions.h" //KTab +#include "MCAServerContactsArrayPC.h" + +// FORWARD DECLARATIONS + +class MCAStoredContact; + + +// CLASS DECLARATION + +/** +* This class is decorated array for list box +* +* @lib wvuiprocessng.dll +* @since 3.1 +*/ + +class CCAServerContactsArrayPC : public CBase, + public MCAServerContactsArrayPC + { + public: // Constructors and destructor + + /** + * Two-phased constructor. Leaves with KErrArgument if any of the + * arguments are NULL or they have different number of items. + * Ownership of arguments are transferred only if construction of + * the object is fully successfull. + * @param aNickNames list of nicknames. Takes the ownership. + * @param aWVIds list of WV-ids. Takes the ownership. + * @param aIconTabulator Tabulator which is put before identification + * when returning MdcaPoint + * @param aShowContactExistInPhoneIcon Tells if icon should be shown + * on D-column, when contact + * already exists in phone. + * @return New instance of server contacts array + */ + static CCAServerContactsArrayPC* NewL( CDesCArray* aNickNames, + CDesCArray* aWVIds, + const TDesC& aIconTabulator = KTab, + CDesCArray* aIdentifications = NULL, + TBool aShowContactExistInPhoneIcon = EFalse + ); + + /** + * Two-phased constructor. + * Ownership of arguments are not transferred. + * @param aContacts List of the contacts + * @param aIconTabulator Tabulator which is put before identification + * when returning MdcaPoint + * @param aShowContactExistInPhoneIcon Tells if icon should be shown + * on D-column, when contact + * already exists in phone. + * @return New instance of server contacts array + */ + static CCAServerContactsArrayPC* NewL( + RPointerArray& aContacts, + const TDesC& aIconTabulator = KTab, + TBool aShowContactExistInPhoneIcon = EFalse ); + + /** + * Destructor. + */ + virtual ~CCAServerContactsArrayPC(); + + public: // Functions from MDesCArray + + /** + * From MDesCArray Returns the number of descriptor + * elements in a descriptor array + * @return The number of descriptor elements in a descriptor array + */ + virtual TInt MdcaCount() const; + + public: // Functions from MDesCArray + + /** + * From MDesCArray Indexes into a descriptor array + * @param aIndex The position of the descriptor element within a + * descriptor array. The position is relative to zero; i.e. zero + * implies the first descriptor element in a descriptor array. + * @return A 16 bit non-modifiable pointer descriptor representing the + * descriptor element located at position aIndex within a + * descriptor array. + */ + virtual TPtrC MdcaPoint( TInt aIndex ) const; + + public: // New functions + + + + /* + * Inlined function separated in own file. + * + * inline const TCAServerContact& operator [] (TInt aIndex) const + * { return iServerContacts[ aIndex ]; } + */ + //const TCAServerContact& operator [] (TInt aIndex) const + //{ return iServerContacts[ aIndex ]; } +#include "CCAServerContactsArrayPC.inl" + + /** + * Sorts the array + */ + virtual void Sort(); + + /** + * Adds an item to iNickNames and iWVIds arrays. + * @param aNickName nickname of the contact. can be KNullDesC + * @param aWVId WV id of contact. mandatory + */ + virtual void AddL( const TDesC& aNickName, const TDesC& aWVId ); + + /** + * Remove an item from given index + */ + virtual void Remove( TInt aIndex ); + + /** + * Returns an index of given contact or KErrNotFound + */ + TInt Find( const TDesC& aWVId ) const; + + /** + * Returns the array of wv ids + */ + const MDesCArray& WVIDArray() const; + + /** + * Returns single contact from servercontacts array. + * @param aIndex + * @param aFindBoxTxt - Text in the findPane (Added for Fixing + + */ + const TCAServerContact* WVIdL( TInt aIndex, + const TDesC& aFindBoxTxt = KNullDesC ) const; + + /** + * Returns the array of nicknames + * corresponds to WVIDArray + */ + const MDesCArray& NickNameArray() const; + + /** + * Replaces the existitn nicknemes,wvids with the new ones. + * @param aNickNames: New set of nickenames to be set with. + * @param aWVIds: New set of wvid's to be set with. + */ + void ReplaceL( CDesCArray* aNickNames, + CDesCArray* aWVIds, + const TDesC& aIconTabulator, + CDesCArray* aIdentifications = NULL ); + + private: + + /** + * C++ default constructor. + * @param aShowContactExistInPhoneIcon Tells if icon should be shown on + * D-column, when contact + * already exists in phone. + */ + CCAServerContactsArrayPC( TBool aShowContactExistInPhoneIcon ); + + /** + * By default Symbian OS constructor is private. + * @param aNickNames list of nicknames. Takes the ownership. + * @param aWVIds list of WV-ids. Takes the ownership. + * @see NewL + */ + void ConstructL( CDesCArray* aNickNames, + CDesCArray* aWVIds, + const TDesC& aIconTabulator, + CDesCArray* aIdentifications = NULL ); + + /** + * By default Symbian OS constructor is private. + * @see NewL + */ + void ConstructL( RPointerArray& aContacts, + const TDesC& aIconTabulator ); + + /** + * common parts of the ConstructL methods + * @see ConstructL + */ + void CommonConstructL( const TDesC& aIconTabulator ); + + private: // Data + + //Owns. Array of nicknames. + CDesCArray* iNickNames; + + //Owns. Array of identifications. + CDesCArray* iIdentifications; + + //Owns. Array of wvid's + CDesCArray* iWVIds; + + //Array of server contacts. + RArray iServerContacts; + + //owns + HBufC* iLine; + + HBufC* iIconTabulator; + + // helper variable to know when contact existence in phone + // should be checked, and related icon shown in D-column of listbox + TBool iShowContactExistInPhoneIcon; + + }; + +#endif // CCASERVERCONTACTSARRAY_H + +// End of File