diff -r 000000000000 -r 72b543305e3a email/imum/Utils/Inc/IMASCenRepControl.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/email/imum/Utils/Inc/IMASCenRepControl.h Thu Dec 17 08:44:11 2009 +0200 @@ -0,0 +1,304 @@ +/* +* 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: IMASCenRepControl.h +* +*/ + + +#ifndef CIMASCENREPCONTROL_H +#define CIMASCENREPCONTROL_H + +// INCLUDES +#include + +#include "IMASAccountControl.h" + +// CONSTANTS +// MACROS +// DATA TYPES +// FUNCTION PROTOTYPES +// FORWARD DECLARATIONS +class CRepository; + +// CLASS DECLARATION + +/** +* +* @lib +* @since S60 3.0 +*/ +class CIMASCenRepControl : public CBase + { + public: // Constructors and destructor + + /** + * Creates object from CIMASCenRepControl and leaves it to cleanup stack + * @since S60 3.0 + * @return, Constructed object + */ + static CIMASCenRepControl* NewLC(); + + /** + * Create object from CIMASCenRepControl + * @since S60 3.0 + * @return, Constructed object + */ + static CIMASCenRepControl* NewL(); + + /** + * Destructor + * @since S60 3.0 + */ + virtual ~CIMASCenRepControl(); + + public: // New functions + + /** + * + * @since S60 3.0 + */ + void SetActiveCentralRepository( + CRepository& aRepository ); + + /** + * + * @since S60 3.0 + */ + void SetActiveBaseKey( + const TUint32 aAccountId, + const TUid& aProtocol ); + + /** + * + * @since S60 3.0 + */ + void SetActiveBaseKey( + const TUint32 aExtendedAccountId ); + + /** + * + * @since S60 3.0 + */ + void SetActiveDefaultDataKey(); + + /** + * + * @since S60 3.0 + */ + void CreateToAccountL( + const TUint32 aSetting, + const TDesC& aString ); + + /** + * + * @since S60 3.0 + */ + void CreateToAccountL( + const TUint32 aSetting, + const TInt aValue ); + + /** + * + * @since S60 3.0 + */ + void CreateToAccountL( + const TInt aSettingHigh, + const TInt aSettingLow, + const TInt64 aValue ); + + /** + * + * @since S60 3.0 + */ + void DeleteFromAccountL( + const TInt aSetting ) const; + + /** + * + * @since S60 3.0 + */ + void DeleteFromAccountL( + const TInt aSettingHigh, + const TInt aSettingLow ) const; + + /** + * + * @since S60 3.0 + */ + void SetToAccountL( + const TUint32 aSetting, + const TDesC& aString ); + /** + * + * @since S60 3.0 + */ + void SetToAccountL( + const TUint32 aSetting, + const TInt aValue ); + + /** + * + * @since S60 3.0 + */ + void SetToAccountL( + const TInt aSettingHigh, + const TInt aSettingLow, + const TInt64 aSetting ); + + /** + * + * @since S60 3.0 + */ + TInt64 GetFromAccountL( + const TInt aSettingHigh, + const TInt aSettingLow ) const; + + /** + * + * @since S60 3.0 + */ + TInt GetFromAccountL( + const TInt aSetting ) const; + + /** + * + * @since S60 3.0 + */ + void GetTextFromAccountL( + TDes& aText, + const TInt aSetting ) const; + + /** + * Get 8-bit text from central repository + * @since S60 3.2 + * @param cent-rep key for value, reference for modifiable descriptor + * @return system wide error code + */ + + void GetTextFromAccountL( + TDes8& aText, + const TInt aSetting ) const; + + // non-leaving versions of GetFromAccounts + + /** + * Get one 64-bit value from central repository + * @since S60 3.2 + * @param lower and higher part keys of 64-bit values, + * reference to TInt64 value + * @return system wide error code + */ + + TInt GetFromAccount( + const TInt aSettingHigh, + const TInt aSettingLow, + TInt64& aSettingValue ) const; + + /** + * Get one 32-bit value from central repository + * @since S60 3.2 + * @param cent-rep key for value, reference to value + * @return system wide error code + */ + TInt GetFromAccount( + const TInt aSetting, TInt& aSettingValue ) const; + + /** + * Get text from central repository + * @since S60 3.2 + * @param cent-rep key for value, reference for modifiable descriptor + * @return system wide error code + */ + TInt GetTextFromAccount( + TDes& aText, + const TInt aSetting ) const; + + /** + * Get 8-bit text from central repository + * @since S60 3.2 + * @param cent-rep key for value, reference for modifiable descriptor + * @return system wide error code + */ + TInt GetTextFromAccount( + TDes8& aText, + const TInt aSetting ) const; + + /** + * Get one 32-bit value from central repository. Creates the settings + * with default value if it does not exist. Will leave with generic + * Symbian error code if creation fails or unexpected error is + * encountered when reading setting. + * + * @param aSetting CenRep key for value. + * @param aDefaultValue Default value for settings. + * @return Value from CenRep. + */ + TInt GetFromAccountOrCreateL( + const TUint32 aSetting, + TInt aDefaultValue ); + + /** + * Get one 64-bit value from central repository. Creates the settings + * with default value if it does not exist. Will leave with generic + * Symbian error code if creation fails or unexpected error is + * encountered when reading setting. + * + * @param aSettingHigh CenRep key for high 32bit value. + * @param aSettingLow CenRep key for low 32bit value. + * @param aDefaultValue Default value for settings. + * @return Value from CenRep. + */ + TInt64 GetFromAccountOrCreateL( + const TUint32 aSettingHigh, + const TUint32 aSettingLow, + TInt64 aDefaultValue ); + + public: // Functions from base classes + + protected: // Constructors + + /** + * Default constructor for classCIMASCenRepControl + * @since S60 3.0 + * @return, Constructed object + */ + CIMASCenRepControl(); + + /** + * Symbian 2-phase constructor + * @since S60 3.0 + */ + void ConstructL(); + + protected: // New virtual functions + protected: // New functions + protected: // Functions from base classes + + private: // New virtual functions + private: // New functions + private: // Functions from base classes + + public: // Data + protected: // Data + private: // Data + + // Pointer to active Central Repository + CRepository* iCenRep; + // Currently active account + TUint32 iBaseKey; + }; + +#endif // CIMASCENREPCONTROL_H + +// End of File