videofeeds/vcnsuiengine/inc/vcxnsserviceproviderif.h
changeset 0 96612d01cf9f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/videofeeds/vcnsuiengine/inc/vcxnsserviceproviderif.h	Mon Jan 18 20:21:12 2010 +0200
@@ -0,0 +1,162 @@
+/*
+* 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_VCXNSAPPSERVICEPROVIDERIF_H
+#define M_VCXNSAPPSERVICEPROVIDERIF_H
+
+// INCLUDES
+#include <e32base.h>
+
+// CLASS DECLARATION
+class MVcxNsServiceProviderObserver;
+class CVcxNsService;
+
+/**
+* Class MVcxNsServiceProviderIf 
+* Interface for using UI engine's service provider
+*
+* @lib vcxnsuiengine.lib
+*/
+class MVcxNsServiceProviderIf
+    {
+
+public:
+
+    /**
+     * RegisterObserver.
+     * @param aObserver Observer
+     */
+    virtual void RegisterObserver( MVcxNsServiceProviderObserver* aObserver ) = 0;
+
+    /**
+     * DeRegisterObserver.
+     * @param aObserver Observer
+     */
+    virtual void DeRegisterObserver( MVcxNsServiceProviderObserver* aObserver ) = 0;
+
+    /**
+     * Gets all subscribed services.
+     *
+     * @return Vod services.
+     */
+    virtual RPointerArray<CVcxNsService>& GetSubscribedServicesL() = 0 ;
+    
+    /**
+     * Gets all services under active service group.
+     * @return Group service list for active service group.
+     */
+    virtual RPointerArray<CVcxNsService>& GetActiveGroupListL() = 0;
+
+    /**
+     * Opens selected service.
+     *
+     * @param aIndex Index of the service to be opened.
+     */
+    virtual void OpenServiceL( TInt aIndex ) = 0 ;
+
+    /**
+     * Open service with given service id. 
+     * 
+     * @param aServiceId Id of service to open
+     */
+    virtual void OpenServiceL( TUint32 aServiceId ) = 0;
+
+    /**
+     * Remove service
+     *
+     * @param aIndex Index of the service to be removed.
+     */
+    virtual void RemoveServiceL( TInt aIndex ) = 0;
+    
+    /**
+     * Get pointer to service data
+     * @param aIndex Index of the service in list
+     * @return Pointer to service data.
+     *         NULL returned, if service data not found
+     */
+    virtual CVcxNsService* GetServiceData( TInt aIndex ) = 0;
+    
+    /**
+     * Return pointer to active service data
+     * @return Pointer to active service data.
+     *         NULL returned, if service data not found
+     */
+    virtual CVcxNsService* GetActiveServiceData() = 0;
+
+    /**
+     * Handle the back command by choosing new application state.
+     * @return Was the back event consumed. If EFalse, 
+     *         the back event should be handled by caller.     
+     */
+    virtual TBool HandleBack() = 0;
+
+    /**
+     * Start ecg update for all visible feeds.
+     */
+    virtual void RefreshAllServicesL() = 0;
+    
+    /**
+     * Open video directory.
+     */
+    virtual void OpenVideoDirectoryL() = 0;
+
+    /**
+     * Manage account for selected service.
+     * @param aSelected Selected item index
+     */
+    virtual void ManageAccountL( TInt aSelected ) = 0;
+    
+    /**
+     * Save authentication data for service.
+     * This handles data for active service.
+     * @param aUserName username
+     * @param aPasswd passwd
+     */
+    virtual void SetAuthenticationDataL( 
+            const TDesC& aUserName, 
+            const TDesC& aPasswd ) = 0;
+
+    /**
+      * Checks if feed has more details than just name
+      * 
+      * @param aSelected Index of selected item
+      * @return Does the feed have other details than just name
+      */
+     virtual TBool HasFeedDetails( TInt aSelected ) = 0;
+     
+     /**
+      * Moves a service from given position to another.
+      * 
+      * @param aSourceIndex where from move the service
+      * @param aTargetIndex  where to move the service.
+      * @return error code
+      */
+     virtual TInt MoveServiceL( TInt aSourceIndex, TInt aTargetIndex ) = 0;
+     
+     /**
+      * Check if item has account management uri.
+      * @param aSelected Index of selected item.
+      * @return ETrue if account management uri available.
+      */
+     virtual TBool HasAccountManagementUri( TInt aSelected ) = 0;
+     
+    };
+
+#endif // MVCXNSAPPSERVICEPROVIDERIF_H