mds_pub/content_listing_framework_api/inc/ContentListingFactory.h
changeset 0 c53acadfccc6
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mds_pub/content_listing_framework_api/inc/ContentListingFactory.h	Mon Jan 18 20:34:07 2010 +0200
@@ -0,0 +1,106 @@
+/*
+* Copyright (c) 2002-2009 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: 
+*
+*/
+
+
+#ifndef CONTENTLISTINGFACTORY_H
+#define CONTENTLISTINGFACTORY_H
+
+//  INCLUDES
+#include <e32def.h>
+
+// FORWARD DECLARATIONS
+class MCLFContentListingEngine;
+class MCLFModifiableItem;
+class MCLFSortingStyle;
+class TResourceReader;
+
+// CLASS DECLARATION
+
+/**
+*  Factory for Content Listing Framework.
+*  You can create new instances of Content Listing Engines, Modifiable items
+*  and Sorting Styles by using this factory.<br><br>
+*  Example:
+*  @code
+*  // Create a new instance of Content Listing Engine
+*  MCLFContentListingEngine* engine =
+*      ContentListingFactory::NewContentListingEngineLC();
+*
+*  // Create a new instance of Sorting style
+*  MCLFSortingStyle* sortingStyle =
+*      ContentListingFactory::NewSortingStyleLC();
+*
+*  // Create a new instance of Modifiable item
+*  MCLFModifiableItem* modItem =
+*      ContentListingFactory::NewModifiableItemLC();
+*  @endcode
+*
+*  @lib ContentListingFramework.lib
+*  @since S60 3.1
+*/
+class ContentListingFactory
+    {
+    public: // New functions
+
+        /**
+        * Create new instance of Content Listing Engine.
+        * @since S60 3.1
+        * @return New instance of Content Listing Engine.
+        *         Ownership is transferred to the client application.
+        */
+        IMPORT_C static MCLFContentListingEngine* NewContentListingEngineLC();
+
+        /**
+        * Create new instance of Modifiable Item.
+        * @since S60 3.1
+        * @return New instance of Modifiable Item.
+        *         Ownership is transferred to the client application.
+        */
+        IMPORT_C static MCLFModifiableItem* NewModifiableItemLC();
+
+        /**
+        * Create new instance of Sorting Style.
+        * @since S60 3.1
+        * @return New instance of the Sorting Style.
+        *         Ownership is transferred to the client application.
+        */
+        IMPORT_C static MCLFSortingStyle* NewSortingStyleLC();
+
+        /**
+        * Create new instance of Sorting Style from resource of the
+        * application by using TResourceReader.
+        * @since S60 3.1
+        * @param aResource Resource reader to sorting style resource.
+        *                  Use resource struct CLF_SORTING_STYLE. See
+        *                  CLFContentListing.rh
+        * @return New instance of the Sorting Style.
+        *         Ownership is transferred to the client application.
+        */
+        IMPORT_C static MCLFSortingStyle* NewSortingStyleLC(
+                                                TResourceReader& aResource );
+
+    private:
+        // Prohibit C++ default constructor.
+        ContentListingFactory();
+        // Prohibit Destructor.
+        ~ContentListingFactory();
+
+    };
+
+#endif      // CONTENTLISTINGFACTORY_H
+
+// End of File