videofeeds/vcnsuiengine/inc/vcxnscategoryproviderif.h
changeset 0 96612d01cf9f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/videofeeds/vcnsuiengine/inc/vcxnscategoryproviderif.h	Mon Jan 18 20:21:12 2010 +0200
@@ -0,0 +1,105 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "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 M_VCXNSAPPCATEGORYPROVIDERIF_H
+#define M_VCXNSAPPCATEGORYPROVIDERIF_H
+
+// INCLUDES
+#include <e32base.h>
+
+// CLASS DECLARATION
+class MVcxNsCategoryProviderObserver;
+class CVcxNsCategory;
+
+/**
+* Class MVcxNsCategoryProviderIf 
+* Interface for using UI engine's category provider
+*
+* @lib vcxnsuiengine.lib
+*/
+class MVcxNsCategoryProviderIf
+    {
+
+public:
+
+    /**
+     * RegisterObserver.
+     * @param aObserver Observer
+     */
+    virtual void RegisterObserver( MVcxNsCategoryProviderObserver* aObserver ) = 0;
+
+    /**
+     * DeRegisterObserver.
+     * @param aObserver Observer
+     */
+    virtual void DeRegisterObserver( MVcxNsCategoryProviderObserver* aObserver ) = 0;
+
+    /**
+     * Get categories for active service.
+     * @param aHighlight On return, hightlight index for category list.
+     * @return Category array. Ownership of categories remains in ui engine.
+     */
+    virtual RPointerArray<CVcxNsCategory>& GetCategoriesL( TInt& aHighlight ) = 0;
+
+    /**
+     * Get categories for active service.
+     * @return Vod categorys.
+     */
+    virtual RPointerArray<CVcxNsCategory>& GetCategorysL() = 0;
+    
+    /**
+     * Opens selected category.
+     *
+     * @param aIndex Index of the category to be opened.
+     */
+    virtual void OpenCategoryL( TInt aIndex ) = 0 ;
+    
+    /**
+     * Return pointer to active category data
+     * @return Pointer to active category data.
+     *         NULL returned, if category data not found
+     */
+    virtual CVcxNsCategory* GetActiveCategoryDataL() = 0;
+    
+    /**
+     * Return specified category data.
+     * @param aServiceId  Service Id
+     * @param aCategoryId Category Id
+     * @return Pointer to category data.
+     *         NULL returned, if specified category data not found
+     */
+    virtual CVcxNsCategory* GetCategoryDataL( TUint32 aServiceId, TUint32 aCategoryId  ) = 0;
+
+    /**
+     * Starts the category update.
+     *
+     * @return KErrNone or one of the system wide error codes.
+     */
+    virtual TInt RefreshCategorysL() = 0;
+    
+    /**
+     * Save category highlight. 
+     * @param aHighlight Highlight index to save.
+     */
+    virtual void SetCategoryHighlight( TInt aHighlight ) = 0;
+    
+    };
+
+#endif // MVCXNSAPPCATEGORYPROVIDERIF_H