williamr@2
|
1 |
// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
|
williamr@2
|
2 |
// All rights reserved.
|
williamr@2
|
3 |
// This component and the accompanying materials are made available
|
williamr@4
|
4 |
// under the terms of "Eclipse Public License v1.0"
|
williamr@2
|
5 |
// which accompanies this distribution, and is available
|
williamr@4
|
6 |
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
|
williamr@2
|
7 |
//
|
williamr@2
|
8 |
// Initial Contributors:
|
williamr@2
|
9 |
// Nokia Corporation - initial contribution.
|
williamr@2
|
10 |
//
|
williamr@2
|
11 |
// Contributors:
|
williamr@2
|
12 |
//
|
williamr@2
|
13 |
// Description:
|
williamr@2
|
14 |
//
|
williamr@2
|
15 |
|
williamr@2
|
16 |
#ifndef __CALENTRY_H__
|
williamr@2
|
17 |
#define __CALENTRY_H__
|
williamr@2
|
18 |
|
williamr@2
|
19 |
#include <calcommon.h>
|
williamr@2
|
20 |
|
williamr@4
|
21 |
/** Minimum latitude in degrees.
|
williamr@4
|
22 |
@see CCalGeoValue::SetLatLongL
|
williamr@4
|
23 |
@publishedAll
|
williamr@4
|
24 |
@released
|
williamr@4
|
25 |
*/
|
williamr@2
|
26 |
const TReal KCalGEOMinLatitude = -90;
|
williamr@4
|
27 |
|
williamr@4
|
28 |
/** Maximum latitude in degrees.
|
williamr@4
|
29 |
@see CCalGeoValue::SetLatLongL
|
williamr@4
|
30 |
@publishedAll
|
williamr@4
|
31 |
@released
|
williamr@4
|
32 |
*/
|
williamr@2
|
33 |
const TReal KCalGEOMaxLatitude = 90;
|
williamr@4
|
34 |
|
williamr@4
|
35 |
/** Minimum longitude in degrees.
|
williamr@4
|
36 |
@see CCalGeoValue::SetLatLongL
|
williamr@4
|
37 |
@publishedAll
|
williamr@4
|
38 |
@released
|
williamr@4
|
39 |
*/
|
williamr@2
|
40 |
const TReal KCalGEOMinLongitude = -180;
|
williamr@4
|
41 |
|
williamr@4
|
42 |
/** Maximum longitude in degrees.
|
williamr@4
|
43 |
@see CCalGeoValue::SetLatLongL
|
williamr@4
|
44 |
@publishedAll
|
williamr@4
|
45 |
@released
|
williamr@4
|
46 |
*/
|
williamr@2
|
47 |
const TReal KCalGEOMaxLongitude = 180;
|
williamr@2
|
48 |
|
williamr@4
|
49 |
/** Maximum number of decimal places for longitude and latitude values.
|
williamr@4
|
50 |
The position specified to CCalGeoValue::SetLatLongL will be truncated
|
williamr@4
|
51 |
to KGEOMaxDecimalPoint decimal places
|
williamr@4
|
52 |
@see CCalGeoValue::SetLatLongL
|
williamr@4
|
53 |
@publishedAll
|
williamr@4
|
54 |
@released
|
williamr@4
|
55 |
*/
|
williamr@2
|
56 |
const TUint KCalGEOMaxDecimalPlaces = 6;
|
williamr@2
|
57 |
|
williamr@2
|
58 |
class CCalAlarm;
|
williamr@2
|
59 |
class CCalAttachment;
|
williamr@2
|
60 |
class CCalAttendee;
|
williamr@2
|
61 |
class CCalCategory;
|
williamr@2
|
62 |
class CCalEntryImpl;
|
williamr@2
|
63 |
class CCalGeoValue;
|
williamr@2
|
64 |
class CCalUser;
|
williamr@2
|
65 |
class CTzRules;
|
williamr@2
|
66 |
class TCalRRule;
|
williamr@2
|
67 |
class CCalEntryIdImpl;
|
williamr@2
|
68 |
|
williamr@2
|
69 |
/** Class representing a calendar entry. This can be an appointment, to-do
|
williamr@2
|
70 |
item, reminder, event or anniversary.
|
williamr@2
|
71 |
|
williamr@2
|
72 |
CCalEntry contains information about a calendar entry, including
|
williamr@2
|
73 |
a repeat definition, synchronisation information, and group scheduling data.
|
williamr@2
|
74 |
|
williamr@2
|
75 |
A repeating calendar entry has more than one occurrence. Instances are
|
williamr@2
|
76 |
represented by the CCalInstance class.
|
williamr@2
|
77 |
|
williamr@2
|
78 |
Synchronisation information includes a record of the date/time the entry was
|
williamr@2
|
79 |
last modified. This can be found by calling the LastModifiedDateL() function.
|
williamr@2
|
80 |
|
williamr@2
|
81 |
@publishedAll
|
williamr@2
|
82 |
@released
|
williamr@2
|
83 |
*/
|
williamr@2
|
84 |
NONSHARABLE_CLASS(CCalEntry) : public CBase
|
williamr@2
|
85 |
{
|
williamr@2
|
86 |
public:
|
williamr@2
|
87 |
/** Defines the type of the calendar entry.
|
williamr@2
|
88 |
@publishedAll
|
williamr@2
|
89 |
@released
|
williamr@2
|
90 |
*/
|
williamr@2
|
91 |
enum TType
|
williamr@2
|
92 |
{
|
williamr@2
|
93 |
/** An appointment, which has a start time and end time. */
|
williamr@2
|
94 |
EAppt,
|
williamr@2
|
95 |
/** A to-do, which can have a start time and end time (the end time is the due date), or can be undated. */
|
williamr@2
|
96 |
ETodo,
|
williamr@2
|
97 |
/** An event, which has a start time and end time. */
|
williamr@2
|
98 |
EEvent,
|
williamr@2
|
99 |
/** A reminder, which has a start time only. */
|
williamr@2
|
100 |
EReminder,
|
williamr@2
|
101 |
/** An anniversary, which has a start time and end time. */
|
williamr@2
|
102 |
EAnniv
|
williamr@2
|
103 |
};
|
williamr@2
|
104 |
|
williamr@2
|
105 |
/** Defines the possible status values of the entry.
|
williamr@2
|
106 |
There are values here to support both iCalendar (RFC 2445) and vCalendar v1.0 STATUS properties.
|
williamr@2
|
107 |
Enumerated values for vCalendar v1.0 contain the prefix 'EVCal'.
|
williamr@2
|
108 |
@publishedAll
|
williamr@2
|
109 |
@released
|
williamr@2
|
110 |
*/
|
williamr@2
|
111 |
enum TStatus
|
williamr@2
|
112 |
{
|
williamr@2
|
113 |
/** Used to support iCalendar (RFC 2445) and vCalendar 1.0. The event is tentative. */
|
williamr@2
|
114 |
ETentative,
|
williamr@2
|
115 |
/** Used to support iCalendar (RFC 2445) and vCalendar 1.0. The event has been confirmed. */
|
williamr@2
|
116 |
EConfirmed,
|
williamr@2
|
117 |
/** Used to support iCalendar (RFC 2445). The event has been cancelled. */
|
williamr@2
|
118 |
ECancelled,
|
williamr@2
|
119 |
/** Used to support iCalendar (RFC 2445). The to-do entry needs action. */
|
williamr@2
|
120 |
ETodoNeedsAction,
|
williamr@2
|
121 |
/** Used to support iCalendar (RFC 2445) and vCalendar 1.0. The to-do entry has been completed. */
|
williamr@2
|
122 |
ETodoCompleted,
|
williamr@2
|
123 |
/** Used to support iCalendar (RFC 2445). The to-do entry is in progress. */
|
williamr@2
|
124 |
ETodoInProcess,
|
williamr@2
|
125 |
/** No status is set. */
|
williamr@2
|
126 |
ENullStatus,
|
williamr@2
|
127 |
|
williamr@2
|
128 |
/** Used to support vCalendar 1.0. The entry has been accepted. */
|
williamr@2
|
129 |
EVCalAccepted,
|
williamr@2
|
130 |
/** Used to support vCalendar 1.0. The entry needs action. */
|
williamr@2
|
131 |
EVCalNeedsAction,
|
williamr@2
|
132 |
/** Used to support vCalendar 1.0. The entry has been sent. */
|
williamr@2
|
133 |
EVCalSent,
|
williamr@2
|
134 |
/** Used to support vCalendar 1.0. The entry has been declined. */
|
williamr@2
|
135 |
EVCalDeclined,
|
williamr@2
|
136 |
/** Used to support vCalendar 1.0. The entry has been delegated. */
|
williamr@2
|
137 |
EVCalDelegated,
|
williamr@2
|
138 |
};
|
williamr@2
|
139 |
|
williamr@2
|
140 |
/** Replication status.
|
williamr@2
|
141 |
@publishedAll
|
williamr@2
|
142 |
@released
|
williamr@2
|
143 |
*/
|
williamr@2
|
144 |
enum TReplicationStatus
|
williamr@2
|
145 |
{
|
williamr@2
|
146 |
/** No restriction on access. */
|
williamr@2
|
147 |
EOpen,
|
williamr@2
|
148 |
/** Data is private (no access). */
|
williamr@2
|
149 |
EPrivate,
|
williamr@2
|
150 |
/** Data is confidential (restricted access). */
|
williamr@2
|
151 |
ERestricted
|
williamr@2
|
152 |
};
|
williamr@2
|
153 |
|
williamr@2
|
154 |
/** The method property of a Group Scheduling entry.
|
williamr@2
|
155 |
@publishedAll
|
williamr@2
|
156 |
@released
|
williamr@2
|
157 |
*/
|
williamr@2
|
158 |
enum TMethod
|
williamr@2
|
159 |
{
|
williamr@2
|
160 |
/** The RFC2445-defined method value 'None'. */
|
williamr@2
|
161 |
EMethodNone,
|
williamr@2
|
162 |
/** The RFC2445-defined method value 'Publish'. */
|
williamr@2
|
163 |
EMethodPublish,
|
williamr@2
|
164 |
/** The RFC2445-defined method value 'Request'. */
|
williamr@2
|
165 |
EMethodRequest,
|
williamr@2
|
166 |
/** The RFC2445-defined method value 'Reply'. */
|
williamr@2
|
167 |
EMethodReply,
|
williamr@2
|
168 |
/** The RFC2445-defined method value 'Add'. */
|
williamr@2
|
169 |
EMethodAdd,
|
williamr@2
|
170 |
/** The RFC2445-defined method value 'Cancel'. */
|
williamr@2
|
171 |
EMethodCancel,
|
williamr@2
|
172 |
/** The RFC2445-defined method value 'Refresh'. */
|
williamr@2
|
173 |
EMethodRefresh,
|
williamr@2
|
174 |
/** The RFC2445-defined method value 'Counter'. */
|
williamr@2
|
175 |
EMethodCounter,
|
williamr@2
|
176 |
/** The RFC2445-defined method value 'DeclineCounter'. */
|
williamr@2
|
177 |
EMethodDeclineCounter
|
williamr@2
|
178 |
};
|
williamr@2
|
179 |
|
williamr@2
|
180 |
/** Specify which entry details are to be copied in CCalEntry::CopyFromL functions.
|
williamr@2
|
181 |
@publishedAll
|
williamr@2
|
182 |
@released
|
williamr@2
|
183 |
*/
|
williamr@2
|
184 |
enum TCopyType
|
williamr@2
|
185 |
{
|
williamr@2
|
186 |
/** Copy the ID of the entry */
|
williamr@2
|
187 |
ECopyAll,
|
williamr@2
|
188 |
/** Dont copy ID of the entry */
|
williamr@2
|
189 |
EDontCopyId
|
williamr@2
|
190 |
};
|
williamr@2
|
191 |
|
williamr@2
|
192 |
/** The busy status of an entry and corresponds to the TRANSP property in the iCalendar (RFC 2445) and vCalendar specifications.
|
williamr@2
|
193 |
In the vCalendar specification, the TRANSP property can be any positive integer value. 0 is opaque and blocks time, 1
|
williamr@2
|
194 |
is transparent and doesn't block time. Any higher values have an implementation-specific meaning.
|
williamr@2
|
195 |
In the iCalendar specification (RFC 2445), the TRANSP property can be either OPAQUE (blocks time) or TRANSPARENT (doesn't block time).
|
williamr@2
|
196 |
@publishedPartner
|
williamr@4
|
197 |
@released
|
williamr@2
|
198 |
*/
|
williamr@2
|
199 |
enum TTransp
|
williamr@2
|
200 |
{
|
williamr@2
|
201 |
/** The entry blocks time. */
|
williamr@2
|
202 |
ETranspBusy,
|
williamr@2
|
203 |
/** The entry doesn't block time. */
|
williamr@2
|
204 |
ETranspFree,
|
williamr@2
|
205 |
/** The entry is tentative and blocks time. */
|
williamr@2
|
206 |
ETranspTentative,
|
williamr@2
|
207 |
/** The entry is an out-of-office calendar event and blocks time. */
|
williamr@2
|
208 |
ETranspOutOfOffice,
|
williamr@2
|
209 |
};
|
williamr@2
|
210 |
|
williamr@2
|
211 |
// Construction / Destruction
|
williamr@2
|
212 |
IMPORT_C static CCalEntry* NewL(TType aType, HBufC8* aUid, TMethod aMethod, TUint aSeqNum);
|
williamr@2
|
213 |
IMPORT_C static CCalEntry* NewL(TType aType, HBufC8* aUid, TMethod aMethod, TUint aSeqNum,
|
williamr@2
|
214 |
const TCalTime& aRecurrenceId, CalCommon::TRecurrenceRange aRange);
|
williamr@2
|
215 |
|
williamr@2
|
216 |
IMPORT_C ~CCalEntry();
|
williamr@2
|
217 |
|
williamr@2
|
218 |
// Date and Time
|
williamr@2
|
219 |
IMPORT_C TCalTime StartTimeL() const;
|
williamr@2
|
220 |
IMPORT_C TCalTime EndTimeL() const;
|
williamr@2
|
221 |
IMPORT_C void SetStartAndEndTimeL(const TCalTime& aStartTime, const TCalTime& aEndTime);
|
williamr@2
|
222 |
|
williamr@2
|
223 |
IMPORT_C void SetLastModifiedDateL();
|
williamr@2
|
224 |
IMPORT_C void SetLastModifiedDateL(const TCalTime& aModifiedTime);
|
williamr@2
|
225 |
IMPORT_C TCalTime LastModifiedDateL() const;
|
williamr@2
|
226 |
|
williamr@2
|
227 |
IMPORT_C void SetDTStampL(const TCalTime& aTime);
|
williamr@2
|
228 |
IMPORT_C TCalTime DTStampL() const;
|
williamr@2
|
229 |
|
williamr@2
|
230 |
IMPORT_C TCalTime CompletedTimeL() const;
|
williamr@2
|
231 |
IMPORT_C void SetCompletedL(TBool aCompleted, const TCalTime& aTime);
|
williamr@2
|
232 |
|
williamr@2
|
233 |
// Repeat rules / RDate / ExDate Methods
|
williamr@2
|
234 |
IMPORT_C void SetRRuleL(const TCalRRule& aRule);
|
williamr@2
|
235 |
IMPORT_C TBool GetRRuleL(TCalRRule& aRule) const;
|
williamr@2
|
236 |
|
williamr@2
|
237 |
IMPORT_C void SetRDatesL(const RArray<TCalTime>& aRDateList);
|
williamr@2
|
238 |
IMPORT_C void GetRDatesL(RArray<TCalTime>& aRDateList) const;
|
williamr@2
|
239 |
|
williamr@2
|
240 |
IMPORT_C void SetExceptionDatesL(const RArray<TCalTime>& aExDateList);
|
williamr@2
|
241 |
IMPORT_C void GetExceptionDatesL(RArray<TCalTime>& aExDateList) const;
|
williamr@2
|
242 |
|
williamr@2
|
243 |
IMPORT_C void ClearRepeatingPropertiesL();
|
williamr@2
|
244 |
|
williamr@2
|
245 |
// Entry alarm
|
williamr@2
|
246 |
IMPORT_C void SetAlarmL(CCalAlarm* aAlarm);
|
williamr@2
|
247 |
IMPORT_C CCalAlarm* AlarmL() const;
|
williamr@2
|
248 |
|
williamr@2
|
249 |
// Comparison
|
williamr@2
|
250 |
IMPORT_C TBool CompareL(const CCalEntry& aEntry) const;
|
williamr@2
|
251 |
|
williamr@2
|
252 |
// Copy
|
williamr@2
|
253 |
IMPORT_C void CopyFromL(const CCalEntry& aOther);
|
williamr@2
|
254 |
IMPORT_C void CopyFromL(const CCalEntry& aOther, TCopyType aCopyType);
|
williamr@2
|
255 |
|
williamr@2
|
256 |
// Text Fields
|
williamr@2
|
257 |
IMPORT_C void SetSummaryL(const TDesC& aSummary);
|
williamr@2
|
258 |
IMPORT_C const TDesC& SummaryL() const;
|
williamr@2
|
259 |
IMPORT_C void SetDescriptionL(const TDesC& aDescription);
|
williamr@2
|
260 |
IMPORT_C const TDesC& DescriptionL() const;
|
williamr@2
|
261 |
IMPORT_C void SetLocationL(const TDesC& aLocation);
|
williamr@2
|
262 |
IMPORT_C const TDesC& LocationL() const;
|
williamr@2
|
263 |
|
williamr@2
|
264 |
// Category list
|
williamr@2
|
265 |
IMPORT_C void AddCategoryL(CCalCategory* aCategory);
|
williamr@2
|
266 |
IMPORT_C void DeleteCategoryL(TInt aIndex);
|
williamr@2
|
267 |
IMPORT_C const RPointerArray<CCalCategory>& CategoryListL();
|
williamr@2
|
268 |
|
williamr@2
|
269 |
// Attendee Methods
|
williamr@2
|
270 |
IMPORT_C void AddAttendeeL(CCalAttendee* aAttendee);
|
williamr@2
|
271 |
IMPORT_C void DeleteAttendeeL(TInt aIndex);
|
williamr@2
|
272 |
IMPORT_C RPointerArray<CCalAttendee>& AttendeesL() const;
|
williamr@2
|
273 |
IMPORT_C void SetOrganizerL(CCalUser* aUser);
|
williamr@2
|
274 |
IMPORT_C CCalUser* OrganizerL() const;
|
williamr@2
|
275 |
IMPORT_C void SetPhoneOwnerL(const CCalUser* aOwner);
|
williamr@2
|
276 |
IMPORT_C CCalUser* PhoneOwnerL() const;
|
williamr@2
|
277 |
|
williamr@2
|
278 |
// Attachments
|
williamr@2
|
279 |
IMPORT_C void AddAttachmentL(CCalAttachment& aAttachment);
|
williamr@2
|
280 |
IMPORT_C void DeleteAttachmentL(const CCalAttachment& aAttachment);
|
williamr@2
|
281 |
IMPORT_C CCalAttachment* AttachmentL(TInt aIndex) const;
|
williamr@2
|
282 |
IMPORT_C TInt AttachmentCountL() const;
|
williamr@2
|
283 |
// Other Attributes
|
williamr@2
|
284 |
IMPORT_C TType EntryTypeL() const;
|
williamr@2
|
285 |
IMPORT_C void SetStatusL(TStatus aStatus);
|
williamr@2
|
286 |
IMPORT_C TStatus StatusL() const;
|
williamr@2
|
287 |
|
williamr@2
|
288 |
IMPORT_C void SetReplicationStatusL(TReplicationStatus aReplicationStatus);
|
williamr@2
|
289 |
IMPORT_C TReplicationStatus ReplicationStatusL() const;
|
williamr@2
|
290 |
|
williamr@2
|
291 |
IMPORT_C void SetPriorityL(TUint aPriority);
|
williamr@2
|
292 |
IMPORT_C TUint PriorityL() const;
|
williamr@2
|
293 |
|
williamr@2
|
294 |
IMPORT_C void SetMethodL(TMethod aMethod);
|
williamr@2
|
295 |
IMPORT_C TMethod MethodL() const;
|
williamr@2
|
296 |
IMPORT_C void SetSequenceNumberL(TInt aSeq);
|
williamr@2
|
297 |
IMPORT_C TInt SequenceNumberL() const;
|
williamr@2
|
298 |
IMPORT_C const TDesC8& UidL() const;
|
williamr@2
|
299 |
IMPORT_C TCalTime RecurrenceIdL() const;
|
williamr@2
|
300 |
IMPORT_C CalCommon::TRecurrenceRange RecurrenceRangeL() const;
|
williamr@2
|
301 |
|
williamr@2
|
302 |
IMPORT_C CTzRules* TzRulesL() const;
|
williamr@2
|
303 |
IMPORT_C void SetTzRulesL(const CTzRules& aTzRule);
|
williamr@2
|
304 |
IMPORT_C void SetTzRulesL();
|
williamr@2
|
305 |
|
williamr@2
|
306 |
IMPORT_C void SetLocalUidL(TCalLocalUid aLocalId);
|
williamr@2
|
307 |
IMPORT_C TCalLocalUid LocalUidL() const;
|
williamr@2
|
308 |
|
williamr@2
|
309 |
IMPORT_C TTransp TimeTransparencyL() const;
|
williamr@2
|
310 |
IMPORT_C void SetTimeTransparencyL(TTransp aBusyStatus);
|
williamr@2
|
311 |
|
williamr@2
|
312 |
IMPORT_C CCalGeoValue* GeoValueL() const;
|
williamr@2
|
313 |
IMPORT_C void SetGeoValueL(const CCalGeoValue& aGeoValue);
|
williamr@2
|
314 |
IMPORT_C void ClearGeoValueL();
|
williamr@2
|
315 |
|
williamr@2
|
316 |
IMPORT_C TCalTime NextInstanceForLocalUIDL(const TCalTime& aTime) const;
|
williamr@2
|
317 |
IMPORT_C TCalTime PreviousInstanceForLocalUIDL(const TCalTime& aTime) const;
|
williamr@4
|
318 |
|
williamr@2
|
319 |
IMPORT_C TCalTime FindRptUntilTimeL(TInt aCount);
|
williamr@4
|
320 |
|
williamr@2
|
321 |
public:
|
williamr@2
|
322 |
// Internal APIs
|
williamr@2
|
323 |
static CCalEntry* NewL(CCalEntryImpl* aImpl);
|
williamr@2
|
324 |
CCalEntryImpl* Impl() const;
|
williamr@4
|
325 |
TUint8 ShortFileIdL();
|
williamr@4
|
326 |
|
williamr@2
|
327 |
private:
|
williamr@2
|
328 |
void ConstructL(TType aType, HBufC8* aUid, TMethod aMethod, TUint aSeqNum, const TCalTime& aRecurrenceId, CalCommon::TRecurrenceRange aRange);
|
williamr@2
|
329 |
void ConstructL(TType aType, HBufC8* aUid, TMethod aMethod, TUint aSeqNum);
|
williamr@2
|
330 |
void ConstructL(CCalEntryImpl* aImpl);
|
williamr@2
|
331 |
|
williamr@2
|
332 |
private: // member data
|
williamr@2
|
333 |
CCalEntryImpl* iImpl;
|
williamr@2
|
334 |
};
|
williamr@2
|
335 |
|
williamr@2
|
336 |
|
williamr@2
|
337 |
/** Class representing a uniquely identifiable calendar entry in a calendar file.
|
williamr@2
|
338 |
|
williamr@2
|
339 |
@publishedAll
|
williamr@2
|
340 |
@released
|
williamr@2
|
341 |
*/
|
williamr@2
|
342 |
NONSHARABLE_CLASS(CCalEntryId) : public CBase
|
williamr@2
|
343 |
{
|
williamr@2
|
344 |
public:
|
williamr@2
|
345 |
IMPORT_C static CCalEntryId* NewL(TDesC8* aFlatData);
|
williamr@2
|
346 |
IMPORT_C ~CCalEntryId();
|
williamr@2
|
347 |
IMPORT_C TPtrC8 IdL();
|
williamr@2
|
348 |
IMPORT_C TPtrC StoreFileNameL();
|
williamr@2
|
349 |
IMPORT_C TCalTime RecurrenceIdL();
|
williamr@2
|
350 |
IMPORT_C TCalTime InstanceTimeL() const;
|
williamr@2
|
351 |
IMPORT_C TCalLocalUid LocalUidL() const;
|
williamr@2
|
352 |
private:
|
williamr@2
|
353 |
CCalEntryId();
|
williamr@2
|
354 |
private:
|
williamr@2
|
355 |
CCalEntryIdImpl* iImpl;
|
williamr@2
|
356 |
};
|
williamr@2
|
357 |
|
williamr@2
|
358 |
|
williamr@2
|
359 |
/** Class representing the geographical location of a calendar entry.
|
williamr@2
|
360 |
This corresponds to the GEO property as defined in vCalendar / iCalendar (RFC 2445). It contains a latitude and a longitude.
|
williamr@4
|
361 |
@publishedAll
|
williamr@4
|
362 |
@released
|
williamr@2
|
363 |
*/
|
williamr@2
|
364 |
NONSHARABLE_CLASS(CCalGeoValue) : public CBase
|
williamr@2
|
365 |
{
|
williamr@2
|
366 |
public:
|
williamr@2
|
367 |
IMPORT_C static CCalGeoValue* NewL();
|
williamr@2
|
368 |
IMPORT_C ~CCalGeoValue();
|
williamr@2
|
369 |
IMPORT_C void SetLatLongL(const TReal& aLatitude, const TReal& aLongitude);
|
williamr@2
|
370 |
IMPORT_C TBool GetLatLong(TReal& aLatitude, TReal& aLongitude) const;
|
williamr@2
|
371 |
private:
|
williamr@2
|
372 |
CCalGeoValue();
|
williamr@2
|
373 |
private:
|
williamr@2
|
374 |
TReal iLatitude;
|
williamr@2
|
375 |
TReal iLongitude;
|
williamr@2
|
376 |
};
|
williamr@2
|
377 |
|
williamr@2
|
378 |
#endif // __CALENTRY_H__
|
williamr@4
|
379 |
|