diff -r 000000000000 -r 72b543305e3a email/imum/Utils/Inc/ImumInSettingsDataCollectionImpl.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/email/imum/Utils/Inc/ImumInSettingsDataCollectionImpl.h Thu Dec 17 08:44:11 2009 +0200 @@ -0,0 +1,292 @@ +/* +* Copyright (c) 2002 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: ImumInSettingsDataCollectionImpl.h +* +*/ + + +#ifndef CIMUMINSETTINGSDATACOLLECTIONIMPL_H +#define CIMUMINSETTINGSDATACOLLECTIONIMPL_H + +// INCLUDES +#include +#include + +// CONSTANTS +// MACROS +// DATA TYPES +// FUNCTION PROTOTYPES +class CImumInSettingsDataArray; +class CImumMboxDefaultData; +class CImumInSettingsDataValidator; + +// FORWARD DECLARATIONS +// CLASS DECLARATION + +/** +* +* @lib +* @since S60 3.2 +*/ +class CImumInSettingsDataCollectionImpl : + public CBase, + public MImumInSettingsDataCollection + { + public: // Constructors and destructor + + /** + * Creates object from CImumInSettingsDataCollectionImpl and leaves it to cleanup stack + * @since S60 3.2 + * @return, Constructed object + */ + static CImumInSettingsDataCollectionImpl* NewLC( + const TUid& aProtocol, + const MImumInSettingsDataCollection* aDefaultData, + CImumInSettingsDataValidator& aValidator ); + + /** + * Create object from CImumInSettingsDataCollectionImpl + * @since S60 3.2 + * @return, Constructed object + */ + static CImumInSettingsDataCollectionImpl* NewL( + const TUid& aProtocol, + const MImumInSettingsDataCollection* aDefaultData, + CImumInSettingsDataValidator& aValidator ); + + /** + * Destructor + * @since S60 3.2 + */ + virtual ~CImumInSettingsDataCollectionImpl(); + + public: // New functions + + /** + * + * + * @since S60 v3.2 + * @leave &(leavedesc)s + */ + void ValidateL(); + + /** + * + * + * @since S60 v3.2 + * @param + * @return + */ + void ResetAll(); + + /** + * + * + * @since S60 v3.2 + * @param + */ + void Log(); + + /** + * Makes identical copy of the object and returns the implementation + * + * @since S60 v3.2 + * @return Clone of implementation object + * @leave + */ + CImumInSettingsDataCollectionImpl* DoCloneL() const; + + public: // Functions from base classes + + /** + * + * @since S60 3.2 + * @param + * @return + */ + TInt SetAttr( const TUint aAttributeKey, const TInt aValue ); + + /** + * + * @since S60 3.2 + * @param + * @return + */ + TInt SetAttr( const TUint aAttributeKey, const TInt64 aValue ); + + /** + * + * @since S60 3.2 + * @param + * @return + */ + TInt SetAttr( const TUint aAttributeKey, const TMsvId aId ); + + /** + * + * @since S60 3.2 + * @param + * @return + */ + TInt SetAttr( const TUint aAttributeKey, const TDesC& aText ); + + /** + * + * @since S60 3.2 + * @param + * @return + */ + TInt SetAttr( const TUint aAttributeKey, const TDesC8& aText ); + + /** + * + * @since S60 3.2 + * @param + * @return + */ + TInt GetAttr( const TUint aAttributeKey, TInt& aValue ) const; + + /** + * + * @since S60 3.2 + * @param + * @return + */ + TInt GetAttr( const TUint aAttributeKey, TInt64& aValue ) const; + + /** + * + * @since S60 3.2 + * @param + * @return + */ + TInt GetAttr( const TUint aAttributeKey, TMsvId& aId ) const; + + /** + * + * @since S60 3.2 + * @param + * @return + */ + TInt GetAttr( const TUint aAttributeKey, TDes& aText ) const; + + /** + * + * @since S60 3.2 + * @param + * @return + */ + TInt GetAttr( const TUint aAttributeKey, TDes8& aText ) const; + + /** + * + * @since S60 3.2 + * @param aSettingsData + * @return + */ + TBool operator!=( const MImumDaSettingsDataCollection& aConnectionSettings ) const; + TBool operator!=( const MImumInSettingsDataCollection& aConnectionSettings ) const; + + /** + * + * @since S60 3.2 + * @param aSettingsData + * @return + */ + TBool operator==( const MImumDaSettingsDataCollection& aConnectionSettings ) const; + TBool operator==( const MImumInSettingsDataCollection& aConnectionSettings ) const; + + /** + * + * @since S60 3.2 + * @param aAttributeKey + * @return + */ + void Reset( const TUint aAttributeKey ); + + /** + * + * @since S60 3.2 + * @param aSettingsData + * @return + */ + TInt Copy( const MImumDaSettingsDataCollection& aConnectionSettings ); + TInt Copy( const MImumInSettingsDataCollection& aConnectionSettings ); + + /** + * Makes identical copy of the object and returns the API class. + * + * @since S60 v3.2 + * @return Clone of implementation object + * @leave + */ + MImumInSettingsDataCollection* CloneL() const; + + protected: // Constructors + + /** + * Default constructor for classCImumInSettingsDataCollectionImpl + * @since S60 3.2 + * @return, Constructed object + */ + CImumInSettingsDataCollectionImpl( + const TUid& aProtocol, + const MImumInSettingsDataCollection* aDefaultData, + CImumInSettingsDataValidator& aValidator ); + + /** + * Symbian 2-phase constructor + * @since S60 3.2 + */ + void ConstructL( + const TUid& aProtocol ); + + protected: // New virtual functions + protected: // New functions + protected: // Functions from base classes + + private: // New virtual functions + private: // New functions + + /** + * + * + * @since S60 v3.2 + * @param + * @leave &(leavedesc)s + */ + void SettingsDataCollectionExceptionL( + const TInt aErrorCode ) const; + + private: // Functions from base classes + + public: // Data + protected: // Data + private: // Data + + // + const MImumInSettingsDataCollection* iDefaultData; + // + TUid iProtocol; + // + CImumInSettingsDataValidator& iValidator; + // Owned: + CImumInSettingsDataArray* iSettings; + }; + +#include "ImumInSettingsDataCollectionImpl.inl" + +#endif // CIMUMINSETTINGSDATACOLLECTIONIMPL_H + +// End of File