meetingrequest/mrversit2/inc/cesmricalvalue.h
changeset 0 8466d47a6819
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/meetingrequest/mrversit2/inc/cesmricalvalue.h	Thu Dec 17 08:39:21 2009 +0200
@@ -0,0 +1,119 @@
+/*
+* 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:  Holds the definition of CESMRICalValue.
+*
+*
+*/
+
+
+#ifndef CESMRICALVALUE_H
+#define CESMRICALVALUE_H
+
+
+// System includes.
+#include <e32base.h>	// CBase
+
+// Forward declarations.
+class CESMRICalRuleSegment;
+
+/**
+Class representing a property-, property parameter- or rule segement value.
+@publishedPartner
+*/
+class CESMRICalValue : public CBase
+	{
+public:	// Enumerations.
+	enum TTimeZoneType
+		{
+		/** Local "floating" time.*/
+		EFloatingTime,
+		/** UTC time.*/
+		EUtcTime,
+		/** User specified time zone.*/
+		ESpecifiedTimeZone
+		};
+
+public:	// Construction/destruction.
+	IMPORT_C static CESMRICalValue* NewL();
+	IMPORT_C static CESMRICalValue* NewLC();
+	~CESMRICalValue();
+
+public:	// Methods.
+	IMPORT_C HBufC8* BinaryLC() const;
+	IMPORT_C void SetBinaryL(const TDesC8& aBuffer);
+	IMPORT_C TBool BooleanL() const;
+	IMPORT_C void SetBooleanL(TBool aBool);
+	IMPORT_C void GetDateL(TTime& aDate) const;
+	IMPORT_C void SetDateL(const TTime& aDate);
+	IMPORT_C void GetTimeL(TTime& aTime, TTimeZoneType& aTzType) const;
+	IMPORT_C void SetTimeL(const TTime& aTime, TTimeZoneType aTzType);
+	IMPORT_C void GetDateTimeL(TTime& aDateTime, TTimeZoneType& aTzType, TInt aFirstCharacterNum = 0) const;
+	IMPORT_C void SetDateTimeL(const TTime& aDateTime, TTimeZoneType aTzType);
+	IMPORT_C TTimeIntervalSeconds DurationL() const;
+	IMPORT_C void SetDurationL(TTimeIntervalSeconds aDuration);
+	IMPORT_C void GetFloatL(TReal& aFloat) const;
+	IMPORT_C void SetFloatL(const TReal& aFloat);
+	IMPORT_C TInt IntegerL() const;
+	IMPORT_C void SetIntegerL(TInt aInt);
+
+	IMPORT_C void GetPeriodL(
+		TTime& aStartTime,
+		TTimeZoneType& aStartTzType,
+		TTime& aEndTime,
+		TTimeZoneType& aEndTzType) const;
+
+	IMPORT_C void SetPeriodL(
+		const TTime& aStartTime,
+		TTimeZoneType aStartTzType,
+		const TTime& aEndTime,
+		TTimeZoneType aEndTzType);
+
+	IMPORT_C void GetDayL(TDay& aDay, TInt& aPos) const;
+	IMPORT_C void SetDayL(TDay aDay, TInt aPos = 0);
+	IMPORT_C TMonth MonthL() const;
+	IMPORT_C void SetMonthL(TMonth aMonth);
+	IMPORT_C void GetRecurrenceRuleL(RPointerArray<CESMRICalRuleSegment>& aRuleSegmentArray) const;
+	IMPORT_C void SetRecurrenceRuleL(const TDesC& aRuleValue);
+	IMPORT_C const TDesC& TextL() const;
+	IMPORT_C void SetTextL(const TDesC& aText);
+	IMPORT_C TTimeIntervalSeconds UtcOffsetL() const;
+	IMPORT_C void SetUtcOffsetL(TTimeIntervalSeconds aOffset);
+
+private:	// Construction.
+	CESMRICalValue();
+	void ConstructL();
+
+private:	// Methods.
+	void CheckNullValueL() const;
+	void PrepareValuePointer();
+	TInt ReadIntL(const TDesC& aDes) const;
+	void AppendDateToValueL(const TTime& aDate);
+	void GetDateFromValueL(TTime& aDate, TInt aFirstCharacterNum = 0) const;
+	void AppendTimeToValueL(const TTime& aTime);
+	void GetTimeFromValueL(TTime& aTime, TTimeZoneType& aTzType, TInt aFirstCharacterNum = 0) const;
+	void GetTimeIntervalFromValueL(TTimeIntervalSeconds& aTime, TInt aFirstCharacterNum = 0) const;
+	TBool GetDurDateL(TInt& aIntervalSecs, TInt& aCurrentCharNumber) const;
+	TBool GetDurTimeL(TInt& aIntervalSecs, TInt& aCurrentCharNumber) const;
+	TBool GetDurHourL(TInt& aIntervalSecs, TInt& aCurrentCharNumber) const;
+	TBool GetDurMinuteL(TInt& aIntervalSecs, TInt& aCurrentCharNumber) const;
+	TBool GetDurSecondL(TInt& aIntervalSecs, TInt& aCurrentCharNumber) const;
+	TBool GetDurWeekL(TInt& aIntervalSecs, TInt& aCurrentCharNumber) const;
+
+private:	// Attributes.
+	HBufC* iValue;
+	};
+
+#endif // CESMRICALVALUE_H
+
+// End of File