--- a/omads/omadsappui/AspSyncUtil/inc/AspAutoSyncHandler.h Tue Feb 02 00:02:49 2010 +0000
+++ /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 <e32base.h>
-#include <SyncMLClient.h> // for RSyncMLSession
-#include <SyncMLObservers.h>
-#include <schtask.h>
-
-#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<TScheduleEntryInfo2>* ipeakEntryList;
- CArrayFixFlat<TScheduleEntryInfo2>* ioffPeakEntryList;
-
- // schedule entry list
- CArrayFixFlat<TTaskInfo>* ipeakTaskList;
- CArrayFixFlat<TTaskInfo>* ioffPeakTaskList;
- // long buffer for string handling
- TBuf<KBufSize255> iBuf;
- };
-
-
-
-#endif // ASPAUTOSYNCHANDLER_H
-
-// End of file
\ No newline at end of file