diff -r 000000000000 -r dd21522fd290 codhandler/codeng/inc/CodLoadObserver.h --- /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 + +// 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 */