codhandler/codeng/inc/CodLoadObserver.h
changeset 0 dd21522fd290
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/codhandler/codeng/inc/CodLoadObserver.h	Mon Mar 30 12:54:55 2009 +0300
@@ -0,0 +1,201 @@
+/*
+* Copyright (c) 2002 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: 
+*      Declaration of class MCodLoadObserver.   
+*      
+*
+*/
+
+
+#ifndef COD_LOAD_OBSERVER_H
+#define COD_LOAD_OBSERVER_H
+
+// FORWARD DECLARATION
+
+class CRoapData;
+
+// INCLUDES
+
+#include <e32std.h>
+
+// CLASS DECLARATION
+
+/**
+* Mixin class to observe COD handling (progress, result etc.)
+*/
+class MCodLoadObserver
+    {
+    public:     // COD handling progress.
+
+        /**
+        * Get download root path.
+        * Leave with KErrCancel if query is cancelled.
+        * @param aRootPath Root path returned here.
+        */
+        virtual void GetRootPathL( TDes& aRootPath ) = 0;
+
+        /**
+        * Starting load (fetch content or error-notify).
+        * @param aStatusCode HTTP status code.
+        * - 900 (Success) indicates start of content load.
+        * - Other values indicate start of error report.
+        */
+        virtual void StartLoadL( TInt aStatusCode ) = 0;
+
+        /**
+        * Cancelling content load started. Not called if cancelling error
+        * report.
+        */
+        virtual void StartCancelL() = 0;
+
+        /**
+        * Load progress update.
+        * @param aFinalValue Final progress value.
+        * @param aCurrentValue Current progress value.
+        */
+        virtual void ProgressL( TInt aFinalValue, TInt aCurrentValue ) = 0;
+
+        /**
+        * Processing ended.
+        * Note that if processing does not include loading, this method can be
+        * called without a preceding StartLoadL call.
+        * @param aStatusCode HTTP status code (aError mapped to HTTP status
+        * code).
+        * @param aError Error code of result. (The Set(), Accept() or Reject()
+        * request to CodEng will also complete with this value.)
+        */
+        virtual void Done( TInt aStatusCode, TInt aError ) = 0;
+
+        /**
+        * Set Connection Error
+        * @param aError Connection Error .
+        */
+		virtual void SetConnError( TInt aError) = 0;
+
+        /**
+        * Connection Error
+        * return: Connection Error .
+        */
+		virtual TInt ConnError() = 0;
+
+        /**
+        * Progresive download is available
+		*/
+		virtual void PdPlayAvailable() = 0;
+		
+		
+        /**
+        * Set ActiveDownload is available
+		*/
+		virtual void SetActiveDownload( ) = 0;
+
+
+    public:     // HTTP & OTA related progress.
+
+        /**
+        * Get confirmation for creating network connection.
+        * @return ETrue if connection can be created.
+        */
+        virtual TBool ConfirmConnectL() = 0;
+
+        /**
+        * Opening a connection.
+        * @param aIap AP to be used for creating the connection.
+        */
+        virtual void StartConnect( TUint32 aIap ) = 0;
+
+        /**
+        * Connected.
+        */
+        virtual void EndConnect() = 0;
+
+        /**
+        * Authenticate user.
+        * @param aHost Host.
+        * @param aRealm Realm.
+        * @param aProxyAuth ETrue if this is a proxy authentication.
+        * @param aUsername Return username here.
+        * @param aPassword Return password here.
+        * @return ETrue if auth is OK, EFalse if cancelled.
+        */
+        virtual TBool UserAuthL
+            (
+            const TDesC& aHost,
+            const TDesC& aRealm,
+            TBool aProxyAuth,
+            TDes& aUsername,
+            TDes& aPassword
+            ) = 0;
+
+        /**
+        * Displays Info message "Waiting for license" 
+        */
+        virtual void WaitForLicenseL() = 0;
+            
+    public:     // ROAP related.
+            
+        /**
+        * ROAP Trigger parsed (success or error).
+        * @param aData ROAP Trigger data.
+        */
+        virtual void RoapTriggerParsedL( const CRoapData& aData ) = 0;
+        
+    public:
+            
+        /**
+        * To indicate the download is paused
+        */
+        virtual void DownloadPaused() = 0;
+        
+        /**
+        * To indicate the download is resumed and ready for PD
+        */
+        virtual void DownloadResumedPdAvailable() = 0;
+        
+        /**
+        * To update the server about whether or not download is pausable
+        */
+        virtual void UpdatePausable( TBool aPausable ) = 0;
+        
+        /**
+        * To update the server about updated media info
+        */
+        virtual void UpdateMediaInfoL() = 0;
+        
+        /**
+        * To update the server about updated track
+        */
+        virtual void UpdateTrackInfoL() = 0;
+        
+        /**
+        * 
+        * To handle PostResponseUrlL as part of metering response
+        * @param aPrUrl: The PostResponseURL
+        * @return void
+        *  
+        */
+        virtual void HandleRoapPostResponseUrlL( const TDesC8& aPrUrl ) = 0;
+ 
+        /**
+        * To update the server about next media object being downloaded.
+        */        
+        virtual void MediaObjectNameChanged() = 0;
+        
+        /**
+        * To update the server about content type.
+        */        
+        virtual void ContentTypeChanged() = 0;
+    };
+
+#endif /* def COD_LOAD_OBSERVER_H */