00001 /* 00002 * ============================================================================== 00003 * Name : MCLFContentListingEngine.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 MCLFCONTENTLISTINGENGINE_H 00023 #define MCLFCONTENTLISTINGENGINE_H 00024 00025 // INCLUDES 00026 #include <CLFContentListing.h> 00027 #include <e32std.h> 00028 00029 // FORWARD DECLARATIONS 00030 class MCLFContentListingEngineExt; 00031 class MCLFChangedItemObserver; 00032 class MCLFItemListModel; 00033 class MCLFOperationObserver; 00034 class TResourceReader; 00035 class MCLFProcessObserver; 00036 00037 // CLASS DECLARATION 00038 00067 class MCLFContentListingEngine 00068 { 00069 public: // Constructors and destructor 00070 00074 virtual ~MCLFContentListingEngine() {} 00075 00076 public: // New functions 00077 00085 virtual MCLFItemListModel* CreateListModelLC( 00086 MCLFOperationObserver& aObserver ) = 0; 00087 00099 virtual MCLFItemListModel* CreateListModelLC( 00100 MCLFOperationObserver& aObserver, 00101 TResourceReader& aResource ) = 0; 00102 00111 virtual void AddChangedItemObserverL( 00112 MCLFChangedItemObserver& aObserver ) = 0; 00113 00119 virtual void RemoveChangedItemObserver( 00120 MCLFChangedItemObserver& aObserver ) = 0; 00121 00128 virtual void AddCLFProcessObserverL( 00129 MCLFProcessObserver& aObserver ) = 0; 00130 00136 virtual void RemoveCLFProcessObserver( 00137 MCLFProcessObserver& aObserver ) = 0; 00138 00147 virtual void UpdateItemsL() = 0; 00148 00157 virtual void UpdateItemsL( 00158 const TArray<TCLFItemId>& aItemIDArray ) = 0; 00159 00167 virtual void UpdateItemsL( 00168 TInt aSemanticId, 00169 const TDesC8& aOpaqueData ) = 0; 00170 00171 private: // Extension interface 00172 00176 virtual MCLFContentListingEngineExt* Extension() { return NULL; } 00177 00178 }; 00179 00180 // MCLFCONTENTLISTINGENGINE_H 00181 #endif 00182 00183 // End of File