diff -r 6ca72c0fe49a -r a941bc465d9f PECengine/ListLibrary2/ContactListSrc/CPEngContactListManager.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/PECengine/ListLibrary2/ContactListSrc/CPEngContactListManager.h Wed Sep 01 12:31:13 2010 +0100 @@ -0,0 +1,181 @@ +/* +* Copyright (c) 2005 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: Contact lists manager +* +*/ + +#ifndef __CPENGCONTACTLISTMANAGER_H__ +#define __CPENGCONTACTLISTMANAGER_H__ + + +// INCLUDES +#include "CPEngContactListManagerBase.h" +#include "MPEngContactListManager.h" +#include + + +// FORWARD DECLARATIONS +class MPEngContactList; +class CPEngContactListModBase; + + +// CLASS DECLARATION + +/** + * Contact List manager + * Used to maintain contact lists. + * + * @lib PEngListLib2 + * @since 3.0 + */ +NONSHARABLE_CLASS( CPEngContactListManager ) : + public CPEngContactListManagerBase, + public MPEngContactListManager + { +public: // Two-phased constructors and destructor + + /** + * Two-phased constructor. + */ + static CPEngContactListManager* NewL( + MPEngListLibFactory& aFactory, + const CPEngSessionSlotId& aSessionSlot ); + + /** + * Two-phased constructor. + */ + static CPEngContactListManager* NewLC( + MPEngListLibFactory& aFactory, + const CPEngSessionSlotId& aSessionSlot ); + + /** + * Destructor + */ + virtual ~CPEngContactListManager(); + + +public: // Functions from MPEngContactListManager + + /** + * Decrease reference count + * @see + */ + void Close(); + + + /** + * Retrieves contact list model + * @see + */ + MPEngContactListAdvance& ContactListL( const TDesC& aContactList ); + + + /** + * List of all contact lists + * @see + */ + const MDesCArray& AllContactListsL() const; + + + /** + * Active contact list. + * @see + */ + const MDesCArray& SynchronizedContactLists( ) const; + + + /** + * Contact list settings model + * @see + */ + MPEngContactListProperties& ContactListSettingsL( const TDesC& aContacList ); + + + /** + * Set Default contact list + * @see + */ + void SetAsDefaultCntListL( const TDesC& aContactList ); + + + /** + * Create new contact list. + * @see + */ + MPEngContactListProperties& CreateContactListL( + const TDesC& aContactList, + TPEngContactListBaseSettings& aBaseSettings ); + + /** + * Delete contact list + * @see + */ + void DeleteContactListL( const TDesC& aContactList ); + + + /** + * Change contact list type + * @see + */ + void ChangeContactListTypeL( const TDesC& aContactList, + TPEngContactListType aContactListType ); + + + /** + * Release contact list model from the memory + * @see + */ + void ReleaseCntListModel( const TDesC& aContactList ); + + + +private: // Overwrittent form CPEngContactListManagerBase + + /** + * Handle settings update + */ + void HandleSettingsUpdateL(); + + + +private: // constructors + + /** + * C++ constructor. + */ + CPEngContactListManager( MPEngListLibFactory& aFactory ); + + + /** + * By default Symbian 2nd phase constructor is private. + */ + void ConstructL( const CPEngSessionSlotId& aSessionSlot ); + + +private: // Data + + /// OWN: All contact lists + CPtrC16Array iAllLists; + + /// OWN: Contact lists which synhronized + CPtrC16Array iSynchronizedLists; + }; + +#endif // __CPENGCONTACTLISTMANAGER_H__ + +// End of File + + + +