diff -r e1b950c65cb4 -r 837f303aceeb epoc32/include/app/calinstanceview.h --- a/epoc32/include/app/calinstanceview.h Wed Mar 31 12:27:01 2010 +0100 +++ b/epoc32/include/app/calinstanceview.h Wed Mar 31 12:33:34 2010 +0100 @@ -1,9 +1,9 @@ // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available -// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members +// under the terms of "Eclipse Public License v1.0" // which accompanies this distribution, and is available -// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". +// at the URL "http://www.eclipse.org/legal/epl-v10.html". // // Initial Contributors: // Nokia Corporation - initial contribution. @@ -18,7 +18,10 @@ #include #include -#include +#include +#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS +#include //this is publishedPartner so should not be included here in the SF version. +#endif class CCalFindInstanceSettings; class CCalInstance; @@ -29,7 +32,17 @@ class TCalTime; class CCalLiteEntry; class TAgnInstanceId; +#ifdef SYMBIAN_SKIPPED_CALENDAR_ALARMS struct TASShdAlarmedInstanceParams; +#endif + +#ifdef SYMBIAN_CALENDAR_ENHANCEDSEARCHANDSORT +class CCalSortCriteria; +class CCalSortCriterion; +class RWriteStream; +class CAgnSortCriteria; +class TAgnSortCriterion; +#endif /** View class for accessing instances of calendar entries. @@ -68,6 +81,8 @@ IMPORT_C static CCalInstanceView* NewL(CCalSession& aSession, MCalProgressCallBack& aProgressCallBack); IMPORT_C static CCalInstanceView* NewL(CCalSession& aSession); + IMPORT_C static CCalInstanceView* NewL(RPointerArray& aSessions); + IMPORT_C static CCalInstanceView* NewL(RPointerArray& aSessions, MCalProgressCallBack& aProgressCallBack); IMPORT_C ~CCalInstanceView(); IMPORT_C void FindInstanceL(RPointerArray& aInstanceList, @@ -80,9 +95,20 @@ const TCalSearchParams& aSearchParams) const; IMPORT_C CCalInstanceIterator* FindInstanceL(const CCalFindInstanceSettings& aSettings) const; + + IMPORT_C CCalInstanceIterator* FindInstanceL(const CCalFindInstanceSettings& aSettings, TCalLocalUid aLocalId, const TCalTime& aInstanceTime) const; + IMPORT_C CCalInstanceIterator* FindInstanceByUidL(const TDesC8& aUid, const TCalTime& aInstanceTime) const; + + IMPORT_C CCalInstanceIterator* FindInstanceL(const CCalFindInstanceSettings& aSettings, TCalInstanceId& aInstanceId) const; + IMPORT_C CCalInstanceIterator* FindInstanceByUidL(TCalCollectionId aCollectionId, const TDesC8& aUid, const TCalTime& aInstanceTime) const; + + IMPORT_C CCalInstance* FindInstanceL(TCalLocalUid aLocalId, const TCalTime& aInstanceTime) const; + IMPORT_C CCalInstance* FindInstanceL(TCalInstanceId& aInstanceId) const; +#ifdef SYMBIAN_SKIPPED_CALENDAR_ALARMS IMPORT_C void FindAlarmedInstanceL(RPointerArray& aAlarmedInstanceList, TASShdAlarmedInstanceParams aAlarmedInstanceParams) const; +#endif IMPORT_C void DeleteL(CCalInstance* aInstance, CalCommon::TRecurrenceRange aWhichInstances); @@ -92,14 +118,16 @@ private: CCalInstanceView(); void ConstructL(CCalSession& aSession, MCalProgressCallBack* aProgressCallBack); + void ConstructL(RPointerArray& aSessions, MCalProgressCallBack* aProgressCallBack); private: CCalInstanceViewImpl* iImpl; }; + + +/** Class for specifying the search criteria for use in CCalInstanceView::FindInstanceL. -/** Class for specifying the search criteria for use in @see CCalInstanceView::FindInstanceL. - -@publishedPartner +@publishedAll @released */ NONSHARABLE_CLASS(CCalFindInstanceSettings) : public CBase @@ -114,16 +142,77 @@ CalCommon::TCalSearchBehaviour Behaviour() const; CalCommon::TCalViewFilter Filter() const; - const CalCommon::TCalTimeRange TimeRange() const; + const CalCommon::TCalTimeRange& TimeRange() const; const TDesC& Text() const; + +#ifdef SYMBIAN_CALENDAR_ENHANCEDSEARCHANDSORT + IMPORT_C void SetPriorityRange(const CalCommon::TCalPriorityRange& aPriorityRange); + + IMPORT_C CCalSortCriteria& SortCriteria(); + IMPORT_C const CCalSortCriteria& SortCriteria() const; +#endif + + const CalCommon::TCalPriorityRange& PriorityRange() const; + private: CCalFindInstanceSettings(CalCommon::TCalViewFilter aFilter, const CalCommon::TCalTimeRange& aTimeRange); + void ConstructL(); private: CalCommon::TCalTimeRange iTimeRange; CalCommon::TCalViewFilter iFilter; HBufC* iSearchText; CalCommon::TCalSearchBehaviour iSearchBehaviour; + CalCommon::TCalPriorityRange iPriorityRange; +#ifdef SYMBIAN_CALENDAR_ENHANCEDSEARCHANDSORT + CCalSortCriteria* iSortCriteria; +#endif }; + +#ifdef SYMBIAN_CALENDAR_ENHANCEDSEARCHANDSORT +/** Class for specifying the sort criteria for use in CCalInstanceView::FindInstanceL. + +@publishedAll +@prototype +*/ +NONSHARABLE_CLASS(CCalSortCriteria) : public CBase + { +public: + IMPORT_C static CCalSortCriteria* NewL(); + IMPORT_C ~CCalSortCriteria(); + + IMPORT_C void AppendCriterionL(CalCommon::TCalSortAttribute aAttr, CalCommon::TCalSortDirection aDir); + IMPORT_C TInt Count() const; + IMPORT_C const CCalSortCriterion& AtL(TInt aIndex) const; + IMPORT_C void SetEntryTypeOrderL(const RArray& aTypeOrder); + IMPORT_C const RArray& EntryTypeOrder() const; + + const CAgnSortCriteria& SortCriteria() const; +private: + CCalSortCriteria(); + void ConstructL(); + +private: + CAgnSortCriteria* iSortCriteria; + RPointerArray iSortCriterionList; + }; + +NONSHARABLE_CLASS(CCalSortCriterion) : public CBase + { +public: + static CCalSortCriterion* NewL(const TAgnSortCriterion& aSortCriterion); + ~CCalSortCriterion(); + + IMPORT_C CalCommon::TCalSortAttribute SortAttribute() const; + IMPORT_C CalCommon::TCalSortDirection SortDirection() const; + +private: + CCalSortCriterion(const TAgnSortCriterion& aSortCriterion); + +private: + const TAgnSortCriterion& iSortCriterion; + }; +#endif + #endif // __CALINSTANCEVIEW_H__