mclfitemlistmodel.h

Go to the documentation of this file.
00001 /*
00002 * ==============================================================================
00003 *  Name        : MCLFItemListModel.h
00004 *  Part of     : Content Listing Framework
00005 *  Interface   : SDK, Content Listing Framework API
00006 *  Description :
00007 *  Version     :
00008 *
00009 *  Copyright © 2002-2004 Nokia. All rights reserved.
00010 *  This material, including documentation and any related
00011 *  computer programs, is protected by copyright controlled by
00012 *  Nokia. All rights are reserved. Copying, including
00013 *  reproducing, storing, adapting or translating, any
00014 *  or all of this material requires the prior written consent of
00015 *  Nokia. This material also contains confidential
00016 *  information which may not be disclosed to others without the
00017 *  prior written consent of Nokia.
00018 * ==============================================================================
00019 */
00020 
00021 
00022 #ifndef MCLFITEMLISTMODEL_H
00023 #define MCLFITEMLISTMODEL_H
00024 
00025 //  INCLUDES
00026 #include <CLFContentListing.hrh>
00027 #include <bamdesca.h>
00028 
00029 // DATA TYPES
00033 enum TCLFRefreshTypeFlags
00034     {
00036     ECLFRefreshPostFilter   = 0x1,
00038     ECLFRefreshGrouping     = 0x2,
00040     ECLFRefreshSorting      = 0x4,
00042     ECLFRefreshAll          = 0xFFFFFFFF
00043     };
00044 
00045 // FORWARD DECLARATIONS
00046 class MCLFItemListModelExt;
00047 class MCLFItem;
00048 class MCLFPostFilter;
00049 class MCLFCustomGrouper;
00050 class MCLFPostFilter;
00051 class MCLFSortingStyle;
00052 class MCLFCustomSorter;
00053 class TResourceReader;
00054 
00055 // CLASS DECLARATION
00056 
00098 class MCLFItemListModel
00099     {
00100     public:  // Constructors and destructor
00101 
00105         virtual ~MCLFItemListModel() {}
00106 
00107     public: // New functions
00108 
00116         virtual const MCLFItem& Item( TInt aIndex ) const = 0;
00117 
00123         virtual TInt ItemCount() const = 0;
00124 
00133         virtual void SetSortingStyle( MCLFSortingStyle* aSortingStyle ) = 0;
00134 
00148         virtual void AppendSecondarySortingStyleL(
00149                                     MCLFSortingStyle& aSortingStyle ) = 0;
00150 
00161         virtual void SetCustomSorter( MCLFCustomSorter* aCustomSorter ) = 0;
00162 
00170         virtual void SetGroupingStyle( TCLFGrouping aGrouping ) = 0;
00171 
00180         virtual void SetCustomGrouper( MCLFCustomGrouper* aCustomGrouper ) = 0;
00181 
00190         virtual void SetPostFilter( MCLFPostFilter* aPostFilter ) = 0;
00191 
00201         virtual void SetWantedMimeTypesL( const MDesCArray& aMimeTypes ) = 0;
00202 
00210         virtual void SetWantedMimeTypesL( TResourceReader& aResource ) = 0;
00211 
00218         virtual void SetWantedMediaTypesL(
00219                             const TArray<TInt>& aMediaTypes ) = 0;
00220 
00221 
00229         virtual void SetWantedMediaTypesL( TResourceReader& aResource ) = 0;
00230 
00245         virtual void RefreshL() = 0;
00246 
00254         virtual void RefreshL( TInt32 aRefreshType ) = 0;
00255 
00260         virtual void CancelRefresh() = 0;
00261 
00262     private: // Extension interface
00263 
00267         virtual MCLFItemListModelExt* Extension() { return NULL; }
00268 
00269     };
00270 
00271 // MCLFITEMLISTMODEL_H
00272 #endif
00273 
00274 // End of File

Copyright © Nokia Corporation 2001-2008
Back to top