calendarengines/caldav/inc/caldavengine.h
author Maximilian Odendahl <maxodendahl@gmail.com>
Fri, 26 Feb 2010 17:47:09 +0000
branchRCL_3
changeset 6 5a04f2ceabfe
parent 1 4927282092b4
permissions -rw-r--r--
Merge in fix for Bug 1908
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
6
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
     1
/*
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
     2
* Copyright (c) 2010 Sun Microsystems, Inc. and/or its subsidiary(-ies).
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
     3
* All rights reserved.
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
     4
* This component and the accompanying materials are made available
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
     6
* which accompanies this distribution, and is available
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
     8
*
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
     9
* Initial Contributor:
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    10
* Maximilian Odendahl
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    11
*
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    12
* Contributors:
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    13
* 
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    14
* Description: main Caldav class, all magic happens here
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    15
*
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    16
*/
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    17
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    18
#ifndef _CALSTORE_H
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    19
#define _CALSTORE_H
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    20
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    21
#include <e32base.h>
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    22
#include <BADESCA.H>
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    23
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    24
#include <calchangecallback.h>
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    25
#include <calprogresscallback.h>
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    26
#include <calfilechangenotification.h>
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    27
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    28
#include <xmlengdomimplementation.h>
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    29
#include <xmlengdomparser.h>
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    30
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    31
#include "caldavutils.h"
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    32
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    33
class CCalSession;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    34
class CCalEntry;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    35
class CCalIter;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    36
class CCalEntryView;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    37
class CCalenExporter;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    38
class CCalenImporter;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    39
class CCalenInterimUtils2;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    40
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    41
class RXmlEngDOMImplementation;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    42
class RXmlEngDOMParser;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    43
class RXmlEngDocument;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    44
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    45
class CHttpClient;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    46
class CalDavTest;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    47
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    48
// sync interval of 0 correspons to one minute
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    49
// 0 actually means to enable push connectivity once supported
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    50
#define DEFAULT_SYNC_MINUTES 		0
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    51
#define DEFAULT_PAST_DAYS			14
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    52
#define DEFAULT_IMMEDIATE_SYNC		ETrue
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    53
#define DEFAULT_KEEP_SERVER_ENTRY	EFalse
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    54
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    55
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    56
enum TLocalLoopAction
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    57
	{
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    58
		ELoopActionUpload, ELoopActionFillArray, ELoopActionDeleteLocal
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    59
	};
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    60
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    61
/**
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    62
 *  CCalDavEngine
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    63
 * 
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    64
 */
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    65
class CCalDavEngine : public CBase, MCalProgressCallBack, MCalChangeCallBack2, MCalFileChangeObserver
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    66
	{
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    67
public:
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    68
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    69
	friend class CalDavTest;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    70
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    71
	~CCalDavEngine();
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    72
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    73
	static CCalDavEngine* NewL(const TDesC& aCalendar);
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    74
	static CCalDavEngine* NewLC(const TDesC& aCalendar);
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    75
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    76
	TInt EnableL();
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    77
	void DisableL();
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    78
	TBool EnabledSync();
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    79
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    80
	TInt SyncL();
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    81
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    82
	TInt MkcalendarL(const TDesC8 &aName);
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    83
	TInt DeleteCalendarL(const TDesC8 &aName);
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    84
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    85
	TPtrC CalendarName() const;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    86
	TPtrC8 Home() const;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    87
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    88
	TPtrC8 Url() const;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    89
	void SetUrlL(const TDesC8 &aUrl);
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    90
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    91
	TPtrC8 User() const;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    92
	void SetUserL(const TDesC8 &aUser);
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    93
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    94
	TPtrC8 Password() const;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    95
	void SetPasswordL(const TDesC8 &aPassword);
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    96
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    97
	TTimeIntervalMinutes SyncInterval() const;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    98
	void SetSyncIntervalL(TTimeIntervalMinutes aSyncInterval);
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
    99
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   100
	TTimeIntervalDays PastDays() const;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   101
	void SetPastDaysL(TTimeIntervalDays aDays);
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   102
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   103
	TBool ImmediateSync() const;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   104
	void SetImmediateSyncL(TBool aImmediateSyc);
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   105
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   106
	TBool KeepServerEntry() const;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   107
	void SetKeepServerEntryL(TBool aKeepServerEntry);
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   108
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   109
	CPeriodic* Timer();
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   110
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   111
	TPtrC8 SyncToken();
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   112
	TPtrC8 CTag();
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   113
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   114
private:
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   115
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   116
	CCalDavEngine();
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   117
	void ConstructL(const TDesC& aCalendar);
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   118
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   119
	void RegisterL();
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   120
	HBufC8* GetCTagL();
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   121
	HBufC8* GetSyncTokenL();
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   122
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   123
	TInt InitL();
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   124
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   125
	// Called during calendar entry view creation
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   126
	void Progress(TInt aPercentageCompleted);
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   127
	void Completed(TInt aError);
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   128
	TBool NotifyProgress();
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   129
	void CalChangeNotification(RArray<TCalChangeEntry> &aChangeItems);
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   130
	void CalendarInfoChangeNotificationL(RPointerArray<CCalFileChangeInfo>& aCalendarInfoChangeEntries);
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   131
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   132
	void CalendarInfoL();
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   133
	void SetCalendarInfoL(const TDesC8 &aKey, const TDesC8 &aValue);
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   134
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   135
	void HandleCalendarInfoChangeL();
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   136
	void HandleChangeL(MCalChangeCallBack2::TChangeType &aChangeType,
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   137
			MCalChangeCallBack2::TChangeEntryType &aEntryType,
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   138
			TCalLocalUid &aUid);
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   139
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   140
	TBool ManualSyncL();
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   141
	TBool WebDavSyncL();
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   142
	TInt WebDavSyncReportL(TBool aSynctoken);
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   143
	TBool UploadModifiedSinceDateL();
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   144
	TBool ClientChangesL();
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   145
	TBool ServerChangesL();
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   146
	TInt DeleteRemovedEntriesOnServerL();
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   147
	TInt LocalLoopL(TLocalLoopAction aAction);
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   148
	
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   149
	TInt ListL();
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   150
	TInt TimeReportL(TBool VEVENT, const TDesC8 &aStart, TBool aDelete = EFalse);
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   151
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   152
	// server actions
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   153
	TInt UploadEntryL(const TCalLocalUid &aUid,
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   154
			MCalChangeCallBack2::TChangeType aChangeType,
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   155
			MCalChangeCallBack2::TChangeEntryType aEntryType);
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   156
	TInt UploadEntryL(CCalEntry* aEntry,
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   157
			MCalChangeCallBack2::TChangeType aChangeType,
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   158
			MCalChangeCallBack2::TChangeEntryType aEntryType);
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   159
	TInt DownloadEntryL(const TDesC8 &aUrl);
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   160
	TInt DownloadEntryL(CDesC8Array* aArray);
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   161
	TInt DeleteEntryL(const TCalLocalUid &aUid);
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   162
	TInt DeleteEntryL(const TDesC8 &aUid);
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   163
	TInt HeadL(const TDesC8 &aUID);
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   164
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   165
	// local actions
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   166
	TInt AddModifyLocalEntryL(const TDesC8 &aUrl, const TDesC8 &aETag,
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   167
			CDesC8ArrayFlat* aArray);
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   168
	TInt DeleteLocalEntryL(const TDesC8 &aUID);
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   169
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   170
	TInt ParseResponsesDeleteL(const TDesC8 &aDocument);
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   171
	TInt ParseResponsesL(RXmlEngDocument &aDocument, TBool aMultiget = EFalse);
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   172
	TInt ParseResponsesL(const TDesC8 &aDocument, TBool aMultiget = EFalse);
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   173
	
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   174
	unsigned long DoesEntryExistL(const TDesC8 &aUrl);
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   175
	TPtrC8 GetUIDByUrl(const TDesC8 &aUrl);
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   176
	TBool ETagMatchL(const TDesC8& aUrl, const TDesC8& aETag);
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   177
	TInt StoreEntryL(const TDesC8 &aBuf, const TDesC8 &aEtag);
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   178
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   179
	void SyncFailedL();
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   180
	void SetLastSyncTimeL();
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   181
	void SetSyncTokenL(HBufC8* aToken);
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   182
	void SetCTagL(HBufC8* aToken);
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   183
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   184
	void CheckCalendarInfoL(RXmlEngDocument &aDocument);
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   185
	
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   186
	TBool GetOptionsL();
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   187
	TInt GetCalendarUrlsL(CDesC8ArrayFlat *aArray);
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   188
	void FindUrlsL(const TDesC8 &aDes, HBufC8 *&home, HBufC8 *&inbox,
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   189
			HBufC8 *&outbox);
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   190
	void GetBaseUrl(const TDesC8 &aUrl);
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   191
	HBufC8 * FindCalendarCollectionL(const TDesC8 &aUrl,
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   192
			CDesC8ArrayFlat *aArray);
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   193
	
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   194
	void DeleteCalObjects();
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   195
	TInt CreateCalObjectsL();
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   196
	
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   197
	CCalSession* iCalSession;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   198
	CCalIter* iCalIter;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   199
	CCalEntryView* iCalEntryView;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   200
	CCalenExporter* iCalExporter;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   201
	CCalenImporter* iCalImporter;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   202
	CCalenInterimUtils2* iCalIntermimUtils2;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   203
	HBufC *iCalendar;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   204
	HBufC8 *iUrl;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   205
	HBufC8 *iBaseUrl;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   206
	HBufC8 *iHome;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   207
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   208
	TCalDAVOptions iOptions;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   209
	CHttpClient* iHttp;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   210
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   211
	RXmlEngDOMImplementation iDomImpl;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   212
	RXmlEngDOMParser iDomParser;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   213
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   214
	// when we get a callback with a localuid, the corresponding entry is already deleted
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   215
	// we therefore need a different way to map from localuid to global uid/filename
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   216
	// this can be completly removed when introducing a new callback,
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   217
	// which includes the to be deleted localuid
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   218
	RArray<TCalLocalUid> iLocalUidArray;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   219
	RArray<TBuf8<100> > iGlobalUidArray;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   220
	//
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   221
	RArray<TCalLocalUid> iDeletedEntries;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   222
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   223
	HBufC8 *iSynctoken;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   224
	HBufC8 *iCTag;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   225
	TBool iManualSync;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   226
	TCalTime iLastSyncTime;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   227
	TBool iFirstInit;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   228
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   229
	// Options
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   230
	TTimeIntervalMinutes iSyncInterval;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   231
	TTimeIntervalDays iPastDays;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   232
	TBool iImmediateSync;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   233
	TBool iKeepServerEntry;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   234
	TBool iEnabled;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   235
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   236
	CPeriodic* iTimer;
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   237
	};
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   238
5a04f2ceabfe Merge in fix for Bug 1908
Maximilian Odendahl <maxodendahl@gmail.com>
parents: 1
diff changeset
   239
#endif // CALSTORE_H