diff -r 2bb96f4ecad8 -r 8e7494275d3a omads/omadsappui/AspSyncUtil/inc/AspAutoSyncHandler.h --- a/omads/omadsappui/AspSyncUtil/inc/AspAutoSyncHandler.h Thu Aug 19 09:41:17 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,245 +0,0 @@ -/* -* 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: Manages schedules using Symbian Task scheduler -* -*/ - - -#ifndef ASPAUTOSYNCHANDLER_H -#define ASPAUTOSYNCHANDLER_H - -// INCLUDES -#include -#include // for RSyncMLSession -#include -#include - -#include "AspDefines.h" -#include "AspUtil.h" -#include "AspSchedule.h" - - -// CLASS DECLARATION - -/** -* CAspAutoSyncHandler -* -*/ -NONSHARABLE_CLASS (CAspAutoSyncHandler) : public CBase, - public MSyncMLEventObserver, - public MSyncMLProgressObserver - { - public: - enum TAutoSyncError - { - EOtherSyncRunning = -100, - EIncorrectProfile = -101, - EIncorrectSchedule = -102 - }; - - public:// Constructors and destructor - - /** - * Two-phased constructor. - */ - static CAspAutoSyncHandler* NewL(); - - /** - * Destructor. - */ - virtual ~CAspAutoSyncHandler(); - - private: - - /** - * C++ default constructor. - */ - CAspAutoSyncHandler(); - - /** - * By default Symbian OS constructor is private. - */ - void ConstructL(); - - - public: - void SynchronizeL(RFile& aTaskFile); - - void DoSynchronizeL(); - - private: - void OpenSyncSessionL(); - void CloseSyncSession(); - TInt CheckMandatoryDataL(TInt aProfileId); - TBool IsRoamingL(); - TBool IsRoaming(); - - - private: // from MSyncMLEventObserver - - void OnSyncMLSessionEvent(TEvent aEvent, TInt aIdentifier, - TInt aError, TInt aAdditionalData); - - private: //from MSyncMLProgressObserver - - void OnSyncMLSyncProgress(TStatus aStatus, TInt aInfo1, TInt aInfo2); - void OnSyncMLDataSyncModifications(TInt aTaskId, - const TSyncMLDataSyncModifications& aClientModifications, - const TSyncMLDataSyncModifications& aServerModifications); - void OnSyncMLSyncError(TErrorLevel aErrorLevel, TInt aError, - TInt aTaskId, TInt aInfo1, TInt aInfo2); - - - - private: - - // sync session - RSyncMLSession iSyncSession; - - // sync job - RSyncMLDataSyncJob iSyncJob; - - // is sync currently running - TBool iSyncRunning; - - // sync error code - TInt iSyncError; - - // is sync session open - TBool iSyncSessionOpen; - - // for stopping code until sync is finished - CActiveSchedulerWait* iWait; - - // for reading auto sync settings - CAspSchedule* iSchedule; - }; - - -/** -* CAspSyncSchedule -* -*/ -NONSHARABLE_CLASS (CAspSyncSchedule) : public CBase - { - - - public:// Constructors and destructor - - /** - * Two-phased constructor. - */ - static CAspSyncSchedule* NewL(); - - /** - * Two-phased constructor. - */ - static CAspSyncSchedule* NewLC(); - - /** - * Destructor. - */ - virtual ~CAspSyncSchedule(); - - private: - - /** - * C++ default constructor. - */ - CAspSyncSchedule(); - - /** - * By default Symbian OS constructor is private. - */ - void ConstructL(); - - public: - - /** - * Delete existing schedule.Called before creating a new schedule - */ - void DeleteScheduleL(CAspSchedule* aAspSchedule); - void DoDeleteScheduleL(CAspSchedule* aAspSchedule); - - /** - * Create a new schedule based on changed settings - */ - void CreatePeakScheduleL(CAspSchedule* aAspSchedule); - void CreateOffPeakScheduleL(CAspSchedule* aAspSchedule); - - /** - * Edit the schedule to start after 15 min/30 mins.This is needed as task scheduler does not support - * schedulling interval less than a hour - */ - - void EditPeakScheduleL(CAspSchedule* aAspSchedule); - void EditOffPeakScheduleL(CAspSchedule* aAspSchedule); - - /** - * Post pone the scheduled sync in till next valid time - */ - - void UpdatePeakScheduleL(CAspSchedule* aAspSchedule); - void UpdateOffPeakScheduleL(CAspSchedule* aAspSchedule); - - /** - * Enable schedules - */ - void EnableSchedule(CAspSchedule* aAspSchedule); - -#ifdef _DEBUG - public: - void LogScheduleL(CAspSchedule* aAspSchedule); - TInt LogSchedule(CAspSchedule* aAspSchedule); - static void LogIntervalType(TScheduleEntryInfo2& aInfo, TDes& aText); - static void LogInterval(TScheduleEntryInfo2& aInfo, TDes& aText); - static void LogTsTime(TTsTime aTsTime, TDes& aText); - static void LogTaskInfo(TTaskInfo& aInfo, TDes& aText); -#endif - - public: - - /** - * Get next sync time.Reads due time from task scheduler. - */ - void GetPeakStartTimeL(CAspSchedule* aAspSchedule, TTime& aTime, TBool aHomeTime); - void GetOffPeakStartTimeL(CAspSchedule* aAspSchedule, TTime& aTime, TBool aHomeTime); - - public: - TIntervalType IntervalType(TInt aInterval); - TTsTime StartTime(TInt aStartHour, TInt aInterval); - TInt Interval(TInt aInterval); - - - private: - //task scheduler server session - RScheduler iScheduler; - - - // schedule entry list - CArrayFixFlat* ipeakEntryList; - CArrayFixFlat* ioffPeakEntryList; - - // schedule entry list - CArrayFixFlat* ipeakTaskList; - CArrayFixFlat* ioffPeakTaskList; - // long buffer for string handling - TBuf iBuf; - }; - - - -#endif // ASPAUTOSYNCHANDLER_H - -// End of file \ No newline at end of file