emailservices/emailstore/message_store/client/api/MsgStoreSortCriteria.h
changeset 0 8466d47a6819
child 8 e1b6206813b4
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/emailservices/emailstore/message_store/client/api/MsgStoreSortCriteria.h	Thu Dec 17 08:39:21 2009 +0200
@@ -0,0 +1,79 @@
+/*
+* 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 criteria.
+*
+*/
+
+
+
+#ifndef __MSG_STORE_SORT_CRITERIA_H__
+#define __MSG_STORE_SORT_CRITERIA_H__
+
+//<cmail>
+#include "MsgStoreTypes.h"
+//</cmail>
+
+/** This class represents the criteria for a sorting request
+*/
+class RMsgStoreSortCriteria 
+	{
+
+    public:
+        /**
+         * Close() must be called before this object goes out of scope
+         */
+        IMPORT_C void Close();
+    
+        /** Specifies the folder in which the sorting is to be perform
+         */
+        TMsgStoreId          iFolderId;
+        
+        /** Specifies the sort field
+         */
+        TMsgStoreSortByField iSortBy;
+        
+        /** Specifies the sort order
+         */
+        TMsgStoreSortOrder   iSortOrder;
+        
+        /** When the iSortBy field is not EMsgStoreSortByReceivedDate, 
+         *  the received date becomes secondary sorting field.  This
+         *  specifies whether the secondary should be ascending or descending
+         */
+        TMsgStoreSortOrder   iSecondarySortOrder;  
+
+        /** Call this method to repeatly to specfy all the properties that the 
+         *  sorting result should include. 
+         * 
+         *  For example, in the folder view, the UI may only want to display "sender",
+         *  "subject", "received date", and "flags", and not to display the rest of 
+         *  the properties.  In this case, only add KMsgStorePropertySender, 
+         *  KMsgStorePropertySubject, KMsgStorePropertyReceivedAt, and 
+         *  KMsgStorePropertyFlags to this list and the sorted results will only
+         *  include these properties.
+         */
+        IMPORT_C void AddResultPropertyL( const TDesC8& aPropertyKey );
+
+        /**
+         * Internal use only, not exported
+         */
+        const RPointerArray<TDesC8>& PropertyKeys() { return iPropertyKeys; }
+       
+    private:
+    
+        RPointerArray<TDesC8> iPropertyKeys;
+    
+	}; // end class RMsgStoreSortCriteria
+
+#endif   //__MSG_STORE_SORT_CRITERIA_H__