--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/videofeeds/vcnsuiengine/inc/vcxnsserviceproviderif.h Wed Sep 01 12:30:28 2010 +0100
@@ -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