diff -r 000000000000 -r f979ecb2b13e calendarengines/versit2/inc/ICalRuleSegment.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/calendarengines/versit2/inc/ICalRuleSegment.h Tue Feb 02 10:12:19 2010 +0200 @@ -0,0 +1,110 @@ +#ifndef ICALRULESEGMENT_H +#define ICALRULESEGMENT_H/* +* 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 CICalRuleSegment. +* +*/ + + + +// System includes +#include // CBase + +// Forward class declarations +class CICalValue; + +/** +Class representing a recurrence rule value segment. +@publishedPartner +*/ +class CICalRuleSegment : public CBase + { +public: // Enumerations. + enum TSegmentType + { + /** A frequency (FREQ) segment.*/ + ESegFreq, + /** An UNTIL segment.*/ + ESegUntil, + /** A COUNT segment.*/ + ESegCount, + /** An INTERVAL segment.*/ + ESegInterval, + /** A BYSECOND segment.*/ + ESegBySecond, + /** A BYMINUTE segment.*/ + ESegByMinute, + /** A BYHOUR segment.*/ + ESegByHour, + /** A BYDAY segment.*/ + ESegByDay, + /** A BYMONTHDAY segment.*/ + ESegByMonthDay, + /** A BYYEARDAY segment.*/ + ESegByYearDay, + /** A BYWEEKNO segment.*/ + ESegByWeekNo, + /** A BYMONTH segment.*/ + ESegByMonth, + /** A BYSETPOS segment.*/ + ESegByPos, + /** A WKST segment.*/ + ESegWkSt, + /** An X-name extension segment.*/ + ESegExtension + }; + + enum TFreq + { + /** Frequency in seconds.*/ + EFreqSecondly, + /** Frequency in minutes.*/ + EFreqMinutely, + /** Frequency in hours.*/ + EFreqHourly, + /** Frequency in days.*/ + EFreqDaily, + /** Frequency in weeks.*/ + EFreqWeekly, + /** Frequency in months.*/ + EFreqMonthly, + /** Frequency in years.*/ + EFreqYearly + }; + +public: // Construction/destruction. + static CICalRuleSegment* NewL(const TDesC& aSource); + static CICalRuleSegment* NewLC(const TDesC& aSource); + ~CICalRuleSegment(); + +public: // Methods. + IMPORT_C const TDesC& TypeName() const; + IMPORT_C const RPointerArray& Values() const; + IMPORT_C TSegmentType Type() const; + IMPORT_C TFreq FreqL() const; + +private: // Construction. + CICalRuleSegment(); + void ConstructL(const TDesC& aSource); + void SetTypeL(const TDesC& aType); + +private: // Attributes. + TSegmentType iType; + HBufC* iTypeString; + RPointerArray iValues; + }; + +#endif // ICALRULESEGMENT_H + +// End of File