--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/emailservices/emailstore/message_store/server/inc/MsgStoreSortResultRowSet.h Thu Dec 17 08:39:21 2009 +0200
@@ -0,0 +1,128 @@
+/*
+* Copyright (c) 2006 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: Message store sort result row set.
+*
+*/
+
+
+#ifndef MSGSTORE_SORT_RESULT_ROWSET_
+#define MSGSTORE_SORT_RESULT_ROWSET_
+
+#include "ContainerStoreSortingTable.h"
+#include "MsgStoreTypes.h"
+
+// ==================================
+// CLASS: CMsgStoreSortResultRowSet
+// ==================================
+class CMsgStoreSortResultRowSet : public CBase
+ {
+
+ public:
+ static CMsgStoreSortResultRowSet* NewL( const TMsgStoreSortCriteria& aSortCriteria,
+ TInt aMessageIdColNum,
+ TInt aReceivedDateColNum,
+ TInt aReadUnreadColNum,
+ TInt aPriotiryColNum,
+ TInt aFlagStatusColNum,
+ TInt aSizeColNum,
+ TInt aAttachmentFlagColNum );
+
+ virtual ~CMsgStoreSortResultRowSet();
+
+ virtual void ToTopL();
+ virtual void ToEndL();
+
+ virtual TBool HasMorePreviousL();
+ virtual TBool HasMoreNextL();
+
+ //CMsgStoreSortResultRow* NextL();
+ virtual TMsgStoreId NextL();
+
+ //CMsgStoreSortResultRow* PreviousL();
+ virtual TMsgStoreId PreviousL();
+
+ virtual void GotoL( TContainerId aMessageId );
+ virtual void GotoL( const TDesC& aStartWith, TMsgStoreIteratorDirection aDirection );
+
+ //for UI "group" support
+ virtual TBool SkipCurrentGroupL( TMsgStoreIteratorDirection aDirection, TUint& aItemsInPreviousGroup );
+
+ virtual TInt GroupCountL( RArray<TUint>& aItemsInGroup );
+
+ virtual void SortedIdsL( RArray<TContainerId>& aIdArray );
+
+ virtual TInt IndexOfL( TContainerId aMessageId );
+
+ virtual void SortedIdsAndGroupCountL( RArray<TContainerId>& aIdArray, RArray<TUint>& aItemsInGroup );
+
+ RDbView& DbView() { return iDbView; };
+
+ void SetPropertyNamesL( RPointerArray<HBufC8>& aPropertyNames );
+
+ const RPointerArray<HBufC8>& PropertyNames() { return iPropertyNames; }
+
+ TMsgStoreId FolderId(){ return iFolderId; }
+
+ void SetAutoRefresh( TBool aFlag ) { iIsAutoRefresh = aFlag; }
+
+ virtual void MessageUpdate ( TContainerId aMessageId,
+ TContainerId aFolderId,
+ TMsgStoreOperation aOperation,
+ TUint aFieldsChanged,
+ const TDesC& aFrom,
+ const TDesC& aTo,
+ const TDesC& aSubject,
+ TInt64 aDate);
+
+ virtual void FolderDeleted ( TContainerId aFolderId );
+
+ virtual void MailBoxDeleted ( TContainerId aMailBoxId );
+
+ protected:
+
+ CMsgStoreSortResultRowSet( const TMsgStoreSortCriteria& aSortCriteria,
+ TInt aMessageIdColNum,
+ TInt aReceivedDateColNum,
+ TInt aReadUnreadColNum,
+ TInt aPriotiryColNum,
+ TInt aFlagStatusColNum,
+ TInt aSizeColNum,
+ TInt aAttachmentFlagColNum );
+
+ void ConstructL();
+
+ TMsgStoreId GetRowL();
+
+ virtual TInt ReEvaluate();
+
+ TMsgStoreId iMailBoxId;
+ TMsgStoreId iFolderId;
+ TMsgStoreSortByField iSortBy;
+ TMsgStoreSortOrder iSortOrder;
+ TBool iIsAutoRefresh;
+
+ private:
+ RDbView iDbView;
+ TInt iMessageIdColNum;
+ TInt iReceivedDateColNum;
+ TInt iReadUnreadColNum;
+ TInt iPriotiryColNum;
+ TInt iFlagStatusColNum;
+ TInt iSizeColNum;
+ TInt iAttachmentFlagColNum;
+ RPointerArray<HBufC8> iPropertyNames;
+ __LOG_DECLARATION
+ };
+
+#endif /*MSGSTORE_SORT_RESULT_ROWSET_*/