williamr@2: // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). williamr@2: // All rights reserved. williamr@2: // This component and the accompanying materials are made available williamr@4: // under the terms of "Eclipse Public License v1.0" williamr@2: // which accompanies this distribution, and is available williamr@4: // at the URL "http://www.eclipse.org/legal/epl-v10.html". williamr@2: // williamr@2: // Initial Contributors: williamr@2: // Nokia Corporation - initial contribution. williamr@2: // williamr@2: // Contributors: williamr@2: // williamr@2: // Description: williamr@2: // williamr@2: williamr@2: #ifndef __CALINSTANCE_H__ williamr@2: #define __CALINSTANCE_H__ williamr@2: williamr@2: #include williamr@4: #include williamr@2: williamr@2: class CCalEntry; williamr@2: class CCalInstanceImpl; williamr@2: williamr@4: /** Instance ID to identify an instance uniquely williamr@4: williamr@4: @publishedAll williamr@4: @released williamr@4: */ williamr@4: struct TCalInstanceId williamr@4: { williamr@4: /* Entry Local ID */ williamr@4: TCalLocalUid iEntryLocalId; williamr@4: /* Instance time */ williamr@4: TCalTime iInstanceTime; williamr@4: /* Collection Id that the instance belongs to */ williamr@4: TCalCollectionId iCollectionId; williamr@4: }; williamr@4: williamr@2: /** Class representing an instance of a calendar entry. williamr@2: williamr@2: A calendar entry (CCalEntry) can have any number of instances. williamr@2: A non-repeating entry will only have one instance. williamr@2: Any further instances will appear if the entry has recurrence data. williamr@2: williamr@2: The time of an instance is the start time of that instance of the entry. williamr@2: williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: NONSHARABLE_CLASS(CCalInstance) : public CBase williamr@2: { williamr@2: public: williamr@2: static CCalInstance* NewL(CCalEntry* aEntry, const TCalTime& iTime); williamr@2: IMPORT_C ~CCalInstance(); williamr@2: williamr@2: IMPORT_C CCalEntry& Entry() const; williamr@2: IMPORT_C TCalTime Time() const; williamr@2: IMPORT_C TCalTime StartTimeL() const; williamr@2: IMPORT_C TCalTime EndTimeL() const; williamr@4: IMPORT_C TCalInstanceId InstanceIdL() const; williamr@2: williamr@2: private: williamr@2: CCalInstance(); williamr@2: void ConstructL(CCalEntry* aEntry, const TCalTime& aTime); williamr@2: williamr@2: private: williamr@2: CCalInstanceImpl* iImpl; williamr@2: }; williamr@2: williamr@2: #endif // __CALINSTANCE_H__