--- /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 <e32base.h>
+
+#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