--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mmsengine/mmsserversettings/inc/mmsschedulesettingsutils.h Thu Dec 17 08:44:11 2009 +0200
@@ -0,0 +1,167 @@
+/*
+* Copyright (c) 2004 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: mmsschedulesettingsutils declaration
+*
+*/
+
+
+
+#ifndef __MMSSCHEDULESETTINGSUTILS_H
+#define __MMSSCHEDULESETTINGSUTILS_H
+
+// INCLUDES
+#include <e32base.h>
+#include <es_sock.h>
+#include <flogger.h>
+
+// USERINCLUDE FILES
+// CONSTANTS
+// Error actions are stored in 0x10 increments in CenRep
+const TUint32 KMmsErrorActionElementIncrement = 0x00000010;
+
+// MACROS
+// DATA TYPES
+// FUNCTION PROTOTYPES
+// FORWARD DECLARATIONS
+class CRepository;
+class CMsvScheduleSettings;
+class CMsvOffPeakTimes;
+class CMsvSendErrorActions;
+class CMsvSysAgentActions;
+class TMsvSendErrorAction;
+
+// CLASS DECLARATION
+/**
+* TMmsScheduleSettingsUtils is a helper class for CMmsAccount.
+* It implements the actual loading operation for schedule settings.
+* @lib mmsserversettings.lib
+* @since 3.0
+*/
+class TMmsScheduleSettingsUtils
+ {
+ public: // New functions
+
+ /**
+ * LoadScheduleSendSettingsL loads schedule settings for
+ * send operations
+ */
+ static void LoadScheduleSendSettingsL(
+ CMsvScheduleSettings& aScheduleSettings,
+ CRepository& aRepository );
+
+ /**
+ * LoadScheduleReceiveSettingsL loads schedule settings for
+ * receive operations
+ */
+ static void LoadScheduleReceiveSettingsL(
+ CMsvScheduleSettings& aScheduleSettings,
+ CRepository& aRepository );
+
+ /**
+ * LoadOffPeakSettingsL loads offpeak settings
+ * CURRENTLY OFFPEAK SETTINGS NOT USED: CONTAINS EMPTY IMPLEMENTATION
+ */
+ static void LoadOffPeakSettingsL(
+ CMsvOffPeakTimes& aOffPeakTimes,
+ CRepository& aRepository );
+
+ /**
+ * LoadSendErrorSettingsL loads error settings for send operations
+ */
+ static void LoadSendErrorSettingsL(
+ CMsvSendErrorActions& aErrorActions,
+ CRepository& aRepository );
+
+ /**
+ * LoadReceiveErrorSettingsL loads error settings for receive operations
+ */
+ static void LoadReceiveErrorSettingsL(
+ CMsvSendErrorActions& aErrorActions,
+ CRepository& aRepository );
+
+ /**
+ * LoadSysAgentSettingsL loads sysagent settings
+ * CURRENTLY SYSAGENT SETTINGS NOT USED: CONTAINS EMPTY IMPLEMENTATION
+ */
+ static void LoadSysAgentSettingsL(
+ CMsvSysAgentActions& aSysAgentActions,
+ CRepository& aRepository );
+
+
+ public: // Functions from base classes
+
+ protected: // New functions
+
+ protected: // Functions from base classes
+
+ private:
+
+ /**
+ * LoadScheduleSettingsL loads schedule settings - common code
+ * @param aScheduleSettings schedule settings structure to be filled
+ * @param aRepository repository where the values are read from
+ * @param aLongInterval Cen Rep key for long interval value
+ * @param aShortInterval Cen Rep key for short inteval value
+ * @param aVariableIntervalsCount Cen Rep key for variable interval count
+ * @param aVariableIntervalArrayBase Cen Rep key for variable interval base
+ */
+ static void LoadScheduleSettingsL(
+ CMsvScheduleSettings& aScheduleSettings,
+ CRepository& aRepository,
+ const TUint32 aLongInterval,
+ const TUint32 aShortInterval,
+ const TUint32 aVariableIntervalsCount,
+ const TUint32 aVariableIntervalArrayBase
+ );
+
+ /**
+ * LoadErrorSettingsL loads error settings for operations - common code
+ * @param aErrorActions error action structure to be filled.
+ * @param aRepository repository where the actios are read from.
+ * @param aDefaultErrorActionId Central Repository key for default error action.
+ * @param aErrorActionCount Central Repository key for number of error actions
+ * @param aErrorActionBase Central Repository key from which the error actions start
+ */
+ static void LoadErrorSettingsL(
+ CMsvSendErrorActions& aErrorActions,
+ CRepository& aRepository,
+ const TUint32 aDefaultErrorActionId,
+ const TUint32 aErrorActionCount,
+ const TUint32 aErrorActionBase );
+
+ /**
+ * Helper method for loading error actions
+ */
+ static void LoadErrorActionL(
+ TUint32 aErrorActionId,
+ TMsvSendErrorAction& aErrorAction,
+ CRepository& aRepository );
+
+ /**
+ * Load error codes that cause immediate failure
+ * Same codes for sending and receiving
+ */
+ static void LoadImmediateFailuresL(
+ CMsvSendErrorActions& aErrorActions,
+ CRepository& aRepository );
+
+ public: // Data
+ protected: // Data
+ private: // Data
+
+ };
+
+#endif // __MMSSCHEDULESETTINGSUTILS_H
+
+// End of File