|         |      1 /* | 
|         |      2 * Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). | 
|         |      3 * All rights reserved. | 
|         |      4 * This component and the accompanying materials are made available | 
|         |      5 * under the terms of the License "Eclipse Public License v1.0" | 
|         |      6 * which accompanies this distribution, and is available | 
|         |      7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". | 
|         |      8 * | 
|         |      9 * Initial Contributors: | 
|         |     10 * Nokia Corporation - initial contribution. | 
|         |     11 * | 
|         |     12 * Contributors: | 
|         |     13 * | 
|         |     14 * Description:  | 
|         |     15 *      Declaration of class MCodLoadObserver.    | 
|         |     16 *       | 
|         |     17 * | 
|         |     18 */ | 
|         |     19  | 
|         |     20  | 
|         |     21 #ifndef COD_LOAD_OBSERVER_H | 
|         |     22 #define COD_LOAD_OBSERVER_H | 
|         |     23  | 
|         |     24 // FORWARD DECLARATION | 
|         |     25  | 
|         |     26 class CRoapData; | 
|         |     27  | 
|         |     28 // INCLUDES | 
|         |     29  | 
|         |     30 #include <e32std.h> | 
|         |     31  | 
|         |     32 // CLASS DECLARATION | 
|         |     33  | 
|         |     34 /** | 
|         |     35 * Mixin class to observe COD handling (progress, result etc.) | 
|         |     36 */ | 
|         |     37 class MCodLoadObserver | 
|         |     38     { | 
|         |     39     public:     // COD handling progress. | 
|         |     40  | 
|         |     41         /** | 
|         |     42         * Get download root path. | 
|         |     43         * Leave with KErrCancel if query is cancelled. | 
|         |     44         * @param aRootPath Root path returned here. | 
|         |     45         */ | 
|         |     46         virtual void GetRootPathL( TDes& aRootPath ) = 0; | 
|         |     47  | 
|         |     48         /** | 
|         |     49         * Starting load (fetch content or error-notify). | 
|         |     50         * @param aStatusCode HTTP status code. | 
|         |     51         * - 900 (Success) indicates start of content load. | 
|         |     52         * - Other values indicate start of error report. | 
|         |     53         */ | 
|         |     54         virtual void StartLoadL( TInt aStatusCode ) = 0; | 
|         |     55  | 
|         |     56         /** | 
|         |     57         * Cancelling content load started. Not called if cancelling error | 
|         |     58         * report. | 
|         |     59         */ | 
|         |     60         virtual void StartCancelL() = 0; | 
|         |     61  | 
|         |     62         /** | 
|         |     63         * Load progress update. | 
|         |     64         * @param aFinalValue Final progress value. | 
|         |     65         * @param aCurrentValue Current progress value. | 
|         |     66         */ | 
|         |     67         virtual void ProgressL( TInt aFinalValue, TInt aCurrentValue ) = 0; | 
|         |     68  | 
|         |     69         /** | 
|         |     70         * Processing ended. | 
|         |     71         * Note that if processing does not include loading, this method can be | 
|         |     72         * called without a preceding StartLoadL call. | 
|         |     73         * @param aStatusCode HTTP status code (aError mapped to HTTP status | 
|         |     74         * code). | 
|         |     75         * @param aError Error code of result. (The Set(), Accept() or Reject() | 
|         |     76         * request to CodEng will also complete with this value.) | 
|         |     77         */ | 
|         |     78         virtual void Done( TInt aStatusCode, TInt aError ) = 0; | 
|         |     79  | 
|         |     80         /** | 
|         |     81         * Set Connection Error | 
|         |     82         * @param aError Connection Error . | 
|         |     83         */ | 
|         |     84 		virtual void SetConnError( TInt aError) = 0; | 
|         |     85  | 
|         |     86         /** | 
|         |     87         * Connection Error | 
|         |     88         * return: Connection Error . | 
|         |     89         */ | 
|         |     90 		virtual TInt ConnError() = 0; | 
|         |     91  | 
|         |     92         /** | 
|         |     93         * Progresive download is available | 
|         |     94 		*/ | 
|         |     95 		virtual void PdPlayAvailable() = 0; | 
|         |     96 		 | 
|         |     97 		 | 
|         |     98         /** | 
|         |     99         * Set ActiveDownload is available | 
|         |    100 		*/ | 
|         |    101 		virtual void SetActiveDownload( ) = 0; | 
|         |    102  | 
|         |    103  | 
|         |    104     public:     // HTTP & OTA related progress. | 
|         |    105  | 
|         |    106         /** | 
|         |    107         * Get confirmation for creating network connection. | 
|         |    108         * @return ETrue if connection can be created. | 
|         |    109         */ | 
|         |    110         virtual TBool ConfirmConnectL() = 0; | 
|         |    111  | 
|         |    112         /** | 
|         |    113         * Opening a connection. | 
|         |    114         * @param aIap AP to be used for creating the connection. | 
|         |    115         */ | 
|         |    116         virtual void StartConnect( TUint32 aIap ) = 0; | 
|         |    117  | 
|         |    118         /** | 
|         |    119         * Connected. | 
|         |    120         */ | 
|         |    121         virtual void EndConnect() = 0; | 
|         |    122  | 
|         |    123         /** | 
|         |    124         * Authenticate user. | 
|         |    125         * @param aHost Host. | 
|         |    126         * @param aRealm Realm. | 
|         |    127         * @param aProxyAuth ETrue if this is a proxy authentication. | 
|         |    128         * @param aUsername Return username here. | 
|         |    129         * @param aPassword Return password here. | 
|         |    130         * @return ETrue if auth is OK, EFalse if cancelled. | 
|         |    131         */ | 
|         |    132         virtual TBool UserAuthL | 
|         |    133             ( | 
|         |    134             const TDesC& aHost, | 
|         |    135             const TDesC& aRealm, | 
|         |    136             TBool aProxyAuth, | 
|         |    137             TDes& aUsername, | 
|         |    138             TDes& aPassword | 
|         |    139             ) = 0; | 
|         |    140  | 
|         |    141         /** | 
|         |    142         * Displays Info message "Waiting for license"  | 
|         |    143         */ | 
|         |    144         virtual void WaitForLicenseL() = 0; | 
|         |    145              | 
|         |    146     public:     // ROAP related. | 
|         |    147              | 
|         |    148         /** | 
|         |    149         * ROAP Trigger parsed (success or error). | 
|         |    150         * @param aData ROAP Trigger data. | 
|         |    151         */ | 
|         |    152         virtual void RoapTriggerParsedL( const CRoapData& aData ) = 0; | 
|         |    153          | 
|         |    154     public: | 
|         |    155              | 
|         |    156         /** | 
|         |    157         * To indicate the download is paused | 
|         |    158         */ | 
|         |    159         virtual void DownloadPaused() = 0; | 
|         |    160          | 
|         |    161         /** | 
|         |    162         * To indicate the download is resumed and ready for PD | 
|         |    163         */ | 
|         |    164         virtual void DownloadResumedPdAvailable() = 0; | 
|         |    165          | 
|         |    166         /** | 
|         |    167         * To update the server about whether or not download is pausable | 
|         |    168         */ | 
|         |    169         virtual void UpdatePausable( TBool aPausable ) = 0; | 
|         |    170          | 
|         |    171         /** | 
|         |    172         * To update the server about updated media info | 
|         |    173         */ | 
|         |    174         virtual void UpdateMediaInfoL() = 0; | 
|         |    175          | 
|         |    176         /** | 
|         |    177         * To update the server about updated track | 
|         |    178         */ | 
|         |    179         virtual void UpdateTrackInfoL() = 0; | 
|         |    180          | 
|         |    181         /** | 
|         |    182         *  | 
|         |    183         * To handle PostResponseUrlL as part of metering response | 
|         |    184         * @param aPrUrl: The PostResponseURL | 
|         |    185         * @return void | 
|         |    186         *   | 
|         |    187         */ | 
|         |    188         virtual void HandleRoapPostResponseUrlL( const TDesC8& aPrUrl ) = 0; | 
|         |    189   | 
|         |    190         /** | 
|         |    191         * To update the server about next media object being downloaded. | 
|         |    192         */         | 
|         |    193         virtual void MediaObjectNameChanged() = 0; | 
|         |    194          | 
|         |    195         /** | 
|         |    196         * To update the server about content type. | 
|         |    197         */         | 
|         |    198         virtual void ContentTypeChanged() = 0; | 
|         |    199     }; | 
|         |    200  | 
|         |    201 #endif /* def COD_LOAD_OBSERVER_H */ |