--- a/internetradio2.0/dataproviderinc/irdataprovider.h Tue Jul 06 14:07:20 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,290 +0,0 @@
-/*
-* Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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: ?Description
-*
-*/
-
-
-#ifndef IRDATAPROVIDER_H
-#define IRDATAPROVIDER_H
-
-#include <f32file.h>
-
-#include "irdataprovidertimer.h"
-#include "irhttpdataproviderobserver.h"
-
-class CIRHttpDataProvider;
-class CIRHttpRequestData;
-class CIRHttpResponseData;
-class CIRSettings;
-class MIRDataProviderObserver;
-
-/**
- * This class provides the interface with the UI for IRDataProvider component
- *
- * @code
- *
- * // Create the data provider object. This is used for interaction with
- * // the iSDS
- *
- * CIRDataProvider* iDataProvider = CIRDataProvider::NewL(iObserver);
- *
- * // This API is used to give a request to the iSDS and the aRequestObject
- * // contains the headers to be set for the request url. The call back
- * // function as defined by MIRDataProviderObserver is called to indicate
- * // any responses.
- *
- * iDataProvider->IRHttpIssueRequestL( aRequestObject );
- *
- * // This API is called to cancel a previously issued request.
- * // If there is no previously issued request it is ignored.
- *
- * iDataProvider->IRHttpCancelRequest();
- *
- * // This API is called to indicate the data provider component to
- * // release the resources held by it generally called when the network
- * // connection gets disconnected.
- *
- * iDataProvider->ReleaseResources();
- * @endcode
- */
-
-NONSHARABLE_CLASS ( CIRDataProvider ):
- public CBase,
- public MIRHttpDataProviderObserver,
- public MIRDataProviderTimeoutNotifier
- {
- public:
-
- /**
- * CIRDataProvider::NewL(MIRDataProviderObserver& aObserver)
- * Creates instance of CIRDataProvider.
- * @param aObserver Observer for HTTP request.
- * @return CIRDataProvider*
- */
- IMPORT_C static CIRDataProvider *NewL(MIRDataProviderObserver &aObserver);
-
- /**
- * CIRDataProvider::NewL(MIRDataProviderObserver& aObserver,
- * TDesC8& aFilePath)
- * Creates instance of CIRDataProvider.
- * @param aObserver Observer for HTTP request.
- * @return CIRDataProvider*
- */
- IMPORT_C static CIRDataProvider *NewL( MIRDataProviderObserver &aObserver,
- const TDesC &aFilePath );
-
- /**
- * CIRDataProvider::~CIRDataProvider()
- * Destructs an instance of CIRDataProvider.
- */
- virtual ~CIRDataProvider();
-
- /**
- * CIRDataProvider::IRHttpIssueRequest(TDesC8& aUri)
- * Used to issue an Http request
- * @param aRequestObject A reference of CIRHttpRequestData containing
- * HTTP request parameters
- */
- IMPORT_C void IRHttpIssueRequestL( CIRHttpRequestData &aRequestObject );
-
- /**
- * CIRDataProvider::IRHttpCancelRequest()
- * Used to cancel a request
- */
- IMPORT_C void IRHttpCancelRequest();
-
- /**
- * CIRDataProvider::ReleaseResources()
- * Used to release all the resources help by data provider
- * Called when there is a network disconnection
- */
- IMPORT_C void ReleaseResources();
-
- IMPORT_C CIRHttpDataProvider* GetHttpDataProvider();
-
- void ExtractHeaderValue(const TDesC8& aHeaderData,
- const TDesC8& aHeaderName,const TDesC8& aDelimeter,
- TDes8& aHolder) const;
-
- /*
- *These are the callback functions used by CIRHttpDataProvider to
- *provide the CIRDataProvider with the data after processing the
- *HTTP request.
- */
- /**
- * CIRDataProvider::HttpEventComplete()
- * Used to Indicate to the observer that the request event has completed
- */
- virtual void HttpEventComplete();
-
- /**
- * CIRDataProvider::HttpHeaderReceived( const TDesC8& aHeaderData )
- * Used by CIRHttpDataProvider to indicate that an HTTP header is
- * received.
- * @param aHeaderData Reference to the Header Info
- */
- virtual void HttpHeaderReceived( const TDesC8 &aHeaderData );
-
- /**
- * CIRDataProvider::HttpDateHeaderReceived(const TDesC8 &aHeader,
- * const TTime& aTime );
- * Used by CIRHttpDataProvider to indicate that an HTTP header is
- * received.
- * @param aHeader Reference to the Header Info
- * @param aTime Reference to the TTime object containing time to be
- * set in the header
- */
- virtual void HttpDateHeaderReceived(const TDesC8 &aHeader,
- const TTime& aTime );
-
- /**
- * CIRDataProvider::HttpBodyReceived( const TDesC8& aBodyData )
- * Used by CIRHttpDataProvider to indicate that an HTTP response
- * body is received.
- * @param aHeaderData Reference to the Body data of HTTP request
- */
- virtual void HttpBodyReceived( const TDesC8 &aBodyData );
-
- /**
- * CIRDataProvider::HttpTransactionError(TInt aErrCode)
- * Used by CIRHttpDataProvider to indicate that a HTTP Transaction
- * error has occured.
- * @param aErrCode Error code indicating the HTTP Transaction error
- */
- virtual void HttpTransactionError( TInt aErrCode );
-
- /**
- * CIRDataProvider::HttpResponseCodeRecieved(TInt aResponseCode)
- * Used by CIRHttpDataProvider to indicate to the iSDS Client that a
- * 304 Not Changed response received
- * Note: Implemented in version 0.2
- * @param aResponseCode Response code received after HTTP Transaction
- */
- virtual void HttpResponseCodeRecieved( TInt aResponseCode );
-
- /**
- * CIRDataProvider::TimerExpired( )
- * Called to indicate expiry of timer
- */
- virtual void TimerExpired();
-
- private:
- /**
- * CIRDataProvider::CIRDataProvider(MIRDataProviderObserver&
- * aObserver):iDataProviderObserver(aObserver)
- * Default Constructor
- * @param aObserver Reference to the IRDataProvider Observer
- */
- CIRDataProvider( MIRDataProviderObserver &aObserver );
- /**
- * void CIRDataProvider::ConstructL()
- * 2nd Phase construction
- */
- void ConstructL();
- /**
- * void CIRDataProvider::ConstructL(TDesC8& aFileName)
- * 2nd Phase construction
- */
- void ConstructL( const TDesC &aFileName );
- /**
- * CIRDataProvider::NewLC(MIRDataProviderObserver& aObserver)
- * Creates instance of CIRDataProvider.
- * @param aObserver Observer for HTTP request.
- * @return CIRDataProvider*
- */
- static CIRDataProvider *NewLC( MIRDataProviderObserver &aObserver );
- /**
- * CIRDataProvider::NewLC(MIRDataProviderObserver& aObserver,
- * TDesC8& aFileName)
- * Creates instance of CIRDataProvider.
- * @param aObserver Observer for HTTP request.
- * @return CIRDataProvider*
- */
- static CIRDataProvider *NewLC( MIRDataProviderObserver &aObserver,
- const TDesC &aFileName );
-
- /**
- * CIRDataProvider::SetOffsetSeconds( const TTime& aTime )
- * Stores the offset between device time and response header in settings
- * @param isds time
- */
- void SetOffsetSeconds( const TTime& aTime );
-
- /**
- * CIRDataProvider::UnzipFileL()
- * Unzip the gz file to xml file
- * @param aOutputFile out put file
- */
- void UnzipFileL( const TDesC& aOutputFile );
-
-private:
-
- /**
- * Reference of the observer object to which call backs are returned
- */
- MIRDataProviderObserver &iDataProviderObserver;
-
- /**
- * Pointer to the HttpDataProvider object which is the actual
- * implementation of RFC 2616
- */
- CIRHttpDataProvider *iHttpDataProvider;
-
- /**
- * Pointer to timer object
- */
- CIRDataProviderTimer *iDataProviderTimer; // Timeout Timer
- /**
- * File server session handle
- */
- RFs iFsSession; // Used for creation of XML data
- /**
- * File handle to create the xml file
- */
- RFile iFile;
-
- /**
- * Name of the Xml Gz file to be created
- */
- TFileName iXmlGzFilePath;
-
- /**
- * Name of the Xml file to be created
- */
- TFileName iXmlFilePath;
-
- /**
- * Pointer to Response header data
- */
- CIRHttpResponseData* iResponseHeaders;
-
- /**
- * Used to access Settings object
- */
- CIRSettings* iIRSettings;
-
- /**
- * Timer timeout value
- */
- TInt iTimeOut;
-
- };
-
-#endif // IRDATAPROVIDER_H
-
-
-
-
-