--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/videofeeds/vcnsuiengine/inc/vcxnseventrouter.h Mon Jan 18 20:21:12 2010 +0200
@@ -0,0 +1,191 @@
+/*
+* 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 VCXNSEVENTROUTER_H
+#define VCXNSEVENTROUTER_H
+
+// INCLUDES
+#include <e32std.h>
+#include <e32base.h>
+#include <mpxmessage2.h>
+#include "CIptvUtil.h"
+
+#include "MIptvVodContentClientObserver.h"
+#include "MIptvServiceManagementClientObserver.h"
+
+// FORWARD DECLARATIONS
+class CVcxNsUiEngine;
+class CVcxNsContent;
+
+// CLASS DECLARATION
+
+/**
+ * CVcxNsEventRouter
+ *
+ * @lib vcxnsuiengine
+ */
+class CVcxNsEventRouter : public CBase,
+ public MIptvServiceManagementClientObserver,
+ public MIptvVodContentClientObserver
+ {
+public:
+
+ /**
+ * Messages from EPG manager are handled here. Messages are defined in CIptvUtil.h
+ * @since Engine 1.1
+ * @param aMsg Message
+ * @param aInfo Info
+ * @param aServiceId Service id.
+ */
+ void HandleEpgManagerMsgL( TInt aMsg, TInt aInfo, TIptvServiceId aServiceId );
+
+ /**
+ * Dummy implementation
+ */
+ void AddServiceResp( TRespStatus /*aRespStatus*/ ) { ; }
+
+ /**
+ * Dummy implementation
+ */
+ void UpdateServiceResp( TRespStatus /*aRespStatus*/ ) { ; }
+
+ /**
+ * Dummy implementation
+ */
+ void DeleteServiceResp( TRespStatus /*aRespStatus*/ ) { ; }
+
+ /**
+ * Dummy implementation
+ */
+ void GetServicesResp( TRespStatus /*aRespStatus*/, CDesC8ArraySeg* /*aServicesArray*/ ) { ; }
+
+ /**
+ * Dummy implementation
+ */
+ void GetUsedIapResp( TUint32 ,const TDesC&, CIptvNetworkSelection::TConnectionPermission , TBool, CIptvNetworkSelection::TRespStatus ) { ; }
+
+ /**
+ * Dummy implementation
+ */
+ void ServerShutdownResp( TRespStatus /*aRespStatus*/ ) { ; }
+
+ /**
+ * @param aEvent Event
+ */
+ void HandleSmEvent( CIptvSmEvent& aEvent );
+
+ /**
+ * Handles collection messages ui update relevant part
+ * @param aMsg Message
+ * @param aErr Error code
+ */
+ void HandleCollectionMessageL( CMPXMessage* aMsg, TInt aErr );
+
+ virtual ~CVcxNsEventRouter();
+
+ /**
+ * Constructor
+ * @param aUiEngine Ui engine
+ */
+ static CVcxNsEventRouter* NewL( CVcxNsUiEngine& aUiEngine );
+
+ /**
+ * Shows or hides the popup about epg update.
+ */
+ void UpdateInfoPopupL();
+
+ /**
+ * Epg update failed.
+ * Do the required processing.
+ *
+ * @param aError Error code
+ * @param aServiceId Service id.
+ */
+ void HandleEpgUpdateFailedL( TInt aError, TIptvServiceId aServiceId );
+
+ /**
+ * Notify to providers that the download has
+ * failed and error note needs to be shown.
+ *
+ * @param aError Error code.
+ * @param aContent Details of the content which download has failed.
+ */
+ void HandleDlErrorL( TIptvDlError aError, CVcxNsContent& aContent );
+
+private:
+
+ /**
+ * Constructor
+ * @param aUiEngine Ui engine
+ */
+ CVcxNsEventRouter( CVcxNsUiEngine& aUiEngine );
+
+ /**
+ * Update the active view by current application state.
+ */
+ void UpdateActiveView();
+
+ /**
+ * Remove service's data.
+ *
+ * @param aServiceId The service id, that's data is to be removed
+ */
+ void RemoveServiceData( TUint32 aServiceId );
+
+ /**
+ * Epg update finished successfully,
+ * Do the required processing.
+ *
+ * @param aServiceId Service id.
+ */
+ void HandleEpgUpdateSucceededL( TIptvServiceId aServiceId );
+
+ /**
+ * Check, is category count changed so that the application
+ * state should be changed, and change it.
+ * Note that this removes old service data.
+ *
+ * @param aServiceId Service id.
+ */
+ void CheckAppStateL( TIptvServiceId aServiceId );
+
+ /**
+ * CVcxNsUiEngine ref.
+ */
+ CVcxNsUiEngine& iUiEngine;
+
+ /**
+ * Service that is being updated.
+ */
+ TUint32 iUpdatedService;
+
+ /**
+ * Total count of thubnails in the service that is being updated
+ */
+ TInt iThumbnailCount;
+
+ /**
+ * Count of thubnails that has already been downloaded in the updated service.
+ */
+ TInt iThumbnailsDownloaded;
+
+ };
+
+#endif // VCXNSEVENTROUTER_H