/** 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 settings manager abstract interface**/#ifndef __MPENGCONTACTLISTSETTINGSMANAGER_H__#define __MPENGCONTACTLISTSETTINGSMANAGER_H__// INCLUDES#include <e32base.h>// FORWARD DECLARATIONSclass CPEngContactListSettings;class MDesCArray;class MPEngContactListSettingsObserver;class CPEngContactListModBase;// CLASS DECLARATION/** * Contact lists settings manager abstract interface. * * @since 3.0 */class MPEngContactListSettingsManager { public: /** * Get Contact list settings * * @since 3.0 * * @param aContactList name of the contact list * @return contact list settings or NULL if no settings * for given list. */ virtual CPEngContactListSettings* ContactListSettingsOrNull( const TDesC& aContactList ) = 0; /** * Add contact list settings observer * * @since 3.0 * * @param aObserver contact list settings observer */ virtual void AddContactListSettingsObserverL( const MPEngContactListSettingsObserver* aObserver ) = 0; /** * Remove contact list settings observer * * @since 3.0 * * @param aObserver contact list settings observer */ virtual void RemoveContactListSettingsObserver( const MPEngContactListSettingsObserver* aObserver ) = 0; /** * Remove model from the array of loaded models. * * @since 3.0 * @param aModel contact list model to be removed */ virtual void RemoveModel( CPEngContactListModBase* aModel ) = 0; /** * Get domain of the logged user, * * KNullDesC if domain was not defined by user nor * neither provided by the server * * @since 3.0 * @return The user domain or empty descriptor. */ virtual const TDesC& UserDomain() const = 0; /** * Store contact list settings * * @since 3.0 */ virtual void StoreSettingsL() = 0; /** * Gets reference to the store entry size * Size can be modified through this reference * @since 3.0 * @return store size reference */ virtual TInt& StoreSize( ) = 0; protected: /** * Virtual inline destructor. * Protected to prohibite deletion through interface. */ virtual ~MPEngContactListSettingsManager() {}; };#endif // __MPENGCONTACTLISTSETTINGSMANAGER_H__// End of File