--- a/internetradio2.0/isdsclientinc/isdsclientdll.h Tue Jul 06 14:07:20 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,399 +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 ISDSCLIENTDLL_H
-#define ISDSCLIENTDLL_H
-
-#include <e32base.h>
-
-#include "ircacheobserver.h"
-#include "irdataproviderobserver.h"
-#include "irlanguagemapper.h"
-#include "irparserobserver.h"
-
-class CIRCacheMgmt;
-class CIRDataProvider;
-class CIRHttpRequestData;
-class CIRIsdsPreset;
-class CIRReportGenerator;
-class CIRSettings;
-class CIRXMLContentHandler;
-class MIsdsResponseObserver;
-
-/**
- * This class is the one which acts as a interface between UI and network
- * component which interacts with the isds server.It provides the data to
- * be diplayed to the UI either from cache or fetches it from the ISDS
- * server.
- *
- *
- * @code
- * creates the instance of isdsclient
- * iISDSClient = CIRIsdsClient::NewL(*this , iIRSettings->GetISDSBaseUrlL());
- * iISDSClient->IRIsdsClientIntefaceL(EGenre); //requests for genre data
- * //requests for selected channel
- * iISDSClient->IRIsdsClientIntefaceL(iIndex, CIRIsdsClient::EChannels);
- * //cancels any previous requests
- * iISDSClient->IRISDSCancelRequest();
- * //gets irid
- * iISDSClient->IRGetIRIDL();
- * iISDSClient->GetOtaStatusL(forceUpdate);//gets ota update status
- * iISDSClient->IRISDSSearchL(aIsdsSearchString);
- * iISDSClient->IRISDSPostL(pathtopost);
- * SyncPresetL(iUi->iFavPresets->iFavPresetList->At(aUrlIndex)->GetId(),
- * iUi->iFavPresets->iFavPresetList->At(aUrlIndex)->GetLastModifiedTime());
- * iISDSClient->ReleaseResources();
- * @endcode
- *
- */
-NONSHARABLE_CLASS( CIRIsdsClient ): public CBase ,
- public MIRDataProviderObserver,
- public MIRParserObserver,
- public MIRCacheObserver
- {
-public://public data
-
-/**
- * These Enums correspond to a particular UI event which
- * requires request to be made to isds.
- */
- enum TIRIsdsclientInterfaceIDs
- {
- EGenre,
- ELanguages,
- ECountries,
- Ehotpicks
- };
-
-
- enum TIRIsdsClientInterfaces
- {
- ECatagory,
- EChannels,
- EPresets,
- EOtaInfo
- };
-/**
-*type of data recieved from ISDS
-*/
- enum TDataRecieved
- {
- ECategoryInfoRecieved,
- EChannelListRecieved,
- EPresetDataRecieved,
- EOtaInfoRecieved,
- EIridRecieved,
- ESessionLogRecieved
- };
-
-public:
-
- /**
- * CIRIsdsClient::NewL(MIsdsResponseObserver& aobserver)
- * Used by UI to create instance of CIRIsdsClient.
- */
- IMPORT_C static CIRIsdsClient* NewL(MIsdsResponseObserver& aobserver,
- const TDesC& aISDSBaseUrl);
-
-
- /**
- * CIRIsdsClient::NewLC(MIsdsResponseObserver& aobserver)
- * Creates instance of CIRIsdsClient.
- */
- static CIRIsdsClient* NewLC(MIsdsResponseObserver& aobserver,
- const TDesC& aISDSBaseUrl);
-
-
- /**
- * CIRIsdsClient::~CIRIsdsClient()
- * Destructor
- */
- ~CIRIsdsClient();
-
-
- /**
- * CIRIsdsClient::ConstructL()
- * Symbian two phased constructor
- */
- void ConstructL(const TDesC& aISDSBaseUrl);
-
-
- /**
- * CIRIsdsClient::CIRIsdsClient(MIsdsResponseObserver& aobserver)
- * Default constructor
- */
- CIRIsdsClient(MIsdsResponseObserver& aobserver);
-
-
- /**
- * void CIRIsdsClientInteface(TIRIsdsclientInterfaceIDs aISDSClientRequest)
- * Called by UI to make request to ISDS for catogories
- * @param :ENUM value depending on catogory which user wants to explore
- */
- IMPORT_C TBool IRIsdsClientIntefaceL(
- TIRIsdsclientInterfaceIDs aISDSClientRequest);
-
-
- IMPORT_C TBool IRIsdsIsCategoryCachedL(
- TIRIsdsclientInterfaceIDs aISDSClientRequest);
- /**
- * void CIRIsdsClientInteface(TUint aSelectedOption,TIRIsdsClientInterfaces aChoice)
- * This API is used by the UI to make request for isds listed channels
- * @param : aSelectedOption-returns the index of the option selected by the user
- * @param : aChoice-ENUM value specifies what data is expected preset or channel data
- */
- IMPORT_C TBool IRIsdsClientIntefaceL(TUint aSelectedOption,
- TIRIsdsClientInterfaces aChoice,TInt aHistoryBool=EFalse);
-
-
- IMPORT_C TBool IRIsdsIsChannelCachedL(TUint aSelectedOption);
-
-
-
- /**
- * void CIRISDSCancelRequest()
- * This API is used by the UI to cancel a request made.
- */
-
- IMPORT_C void IRISDSCancelRequest();
-
- /**
- * void CIRGetIRID()
- * This API is used to get IR ID from isds server
- * isds if it doesnt have one
- */
- IMPORT_C void IRGetIRIDL();
-
- /**
- * void GetOtaStatusL()
- * This API is used to get the OTA status from the server
- * @param TBool,if ETrue the call is from UI and a call back has to be made to ui
- * TBool contains the source of update (cache/isds)upon return.Used by Ui to load the
- * loading screen based on this value.
- */
- IMPORT_C void GetOtaStatusL(TBool& aDataFrom);
-
- /**
- * void CIRISDSSearch(TDesC& aSearchString)
- * This API is used by the UI to search channels from isds
- * @param : aSearchString-search string entered by user
- */
- IMPORT_C void IRISDSSearchL(const TDesC& aSearchString);
-
- /**
- * void IRISDSPostL(TFileName &aFileName)
- *function used to post the sesson logs
- *@param sesson log file name
- */
- IMPORT_C void IRISDSPostL(TFileName &aFileName);
-
-
-
-
- IMPORT_C CIRDataProvider* GetDataProvider();
-
- /*
- * void IRISDSMultiSearch()
- * function used to search the stations by multi conditions
- * @param
- */
- IMPORT_C void IRISDSMultiSearchL(const TDesC& aGenreID, const TDesC& aCountryID, const TDesC& aLanguageID, const TDesC& aSearchText);
-
-
-
- /**
- * void RHttpGeneralError(TInt aErrorCode)
- * It is a call back function called by the data provider
- * to return error code in case of some error.
- *@param error code
- */
- void IRHttpGeneralError(TInt aErrCode);
-
- /**
- * void IRHttpDataReceived(TDesC& aXmlPath)
- * It is a call back function called by the data provider
- * once it recieves the XML data
- */
- void IRHttpDataReceived(const TDesC& aXmlPath,const CIRHttpResponseData& aResponseHeaders);
-
- /**
- * void IRHttpContentNotChanged()
- * this is call back funtion called by Dataprovider in case
- * HTTP content isnt changed by ISDS
- */
- void IRHttpResponseCodeReceived( TInt aResponseCode,
- CIRHttpResponseData& aResponseHeaders );
-
- /**
- * void ParseError()
- * Call back funtion called by XML parser in case of parsing error
- */
- void ParseError( TInt aErrorCode );
-
- /**
- * void ParsedStructureL(TInt aChoice)
- * Call back funtion called by XML parser after parsing is over
- * @param : aChoice -specifies the type of data recieved from ISDS
- */
- void ParsedStructureL(TInt aChoice);
-
- /**
- * void CacheError()
- * Called from cachemgmt in case of an error
- */
- void CacheError();
-
- /**
- * void CacheError()
- * Called from cachemgmt in case of cache failure
- */
- void CacheFailed();
-
- /**
- * void CacheError()
- * Called from cachemgmt in case cache is invalid
- */
- void CacheInvalid();
-
- /**
- * void CacheError()
- * Called from cachemgmt data retrival is successful
- *@param aChoice,it gives the data type of the cache
- */
- void CachedStructureL(TInt aChoice);
-
- /**
- *void CIRIsdsClient::SyncPresetL()
- *Used to syncronize presets
- *@param TInt,TDesC, the preset id and the last modified tag for the preset
- */
- IMPORT_C TInt SyncPresetL(TInt aPresetId,const TDesC&aIfModifiedSince);
-
- /**
- *void CIRIsdsClient::ConvertToTimeDate()
- *Used to convert the date-time stamp to Symbian DateTime format
- *@param TDesC&,TDateTime& the time stamp and the DateTime ref to
- *hold the new data
- */
- void ConvertToTimeDate(const TDesC& aTime,TDateTime& aDateTime) const;
-
- /**
- *ReleaseResources()
- *relese the resources held by isds client
- */
- IMPORT_C void ReleaseResources();
-
- /**
- *CIRIsdsClient::GetMultiplePresetsL()
- *for multiple selected presets to be saved
- *@param RArray&,TBool,the array of preset ids to be saved,return value
- */
- IMPORT_C void GetMultiplePresetsL(const RArray<TInt>& aIndexArray,
- TBool& aDataFrom);
-
- /**
- *CIRIsdsClient::PurgeOtaInfoL
- *delete all the data cached wrt OTA
- *reset the flags
- *function called when the ota info available earlier is no longer valid
- */
- IMPORT_C void PurgeOtaInfoL();
-
-
-private:
- /**
- *void IRHttpIssueRequestL(CIRHttpRequestData &);
- *for making http request to Data Provider with Request object
- *@param aRequestObject :The request object which has URL and other details
- */
- void IRHttpIssueRequestL(CIRHttpRequestData &aRequestObject);
-
- /**
- * void EncodeUrlL( TDes &aQuery )
- * Encode the url using EEscapeUrlEncoded mode, This is used in session log
- * @param url to be encoded
- */
- void EncodeUrlL( TDes& aQuery );
-
-
-
-
-private:
- //Session log
- TBuf<256> iBrowseUrl;
- TInt iChannId;
-
- //XML parser instance
- CIRXMLContentHandler* iXmlReader;
-
- //ISDS observer reference
- MIsdsResponseObserver& iIsdsResponseObserver;
-
- //DataProvider instance
- CIRDataProvider *iDataProvider;
-
- //cache mgmt
- CIRCacheMgmt *iCache;
- CIRSettings *iSettings;
- CArrayPtrFlat<CIRIsdsPreset>* iSendPreset;
- // used to store the isds base URL
- HBufC* iISDSBaseUrl;
- //contains catogory base URL
- TBuf<256> iCatgoryURL;
- //contains search base URL
- TBuf<256> iSearchURL;
- //contains irid base URL
- TBuf<256> iGetIridUrl;
- TBuf<128> iGetOtaStatus;
- TBool iSyncRequest;//1 if the preset data request is a sync request,0 if general request
- TInt iPresetToBeSynced;//keeps the presetid for which the sync request has been sent
- TBool iDataFrom;//data from isds =1,isds =0
- TBool iCatDataFrom;//0 if isds,1 for cache
- TBool iChannelDataFrom;//0 if isds,1 for cache
- TBuf <256> iCachePath;
- TBool iOtaReqFrom;//0 internal 1from UI
- //session log
- CIRReportGenerator* iBrowseReport;
- //conditionalGet
- TBool iConditonalGet;
- TTime iLastModifiedTime;
- TInt iRequestType;
- TBool iForceGet;
- TBool iOnceForTheUsageSession;
- TBool iPostResponsePending;
- TBufC8<KIRLanguageCodeLength> iShortLanguageCode;
-
- /**
- * boolean for to track whether the cache request has made or not
- */
- TBool iCacheReqMade;
- TBool iIRIDPending;
- TBool iReqPending;
- TBool iReqFromGetIRIDFunc;
- TBool iReqFromSync;
-
- /**
- * to store further pending request objects
- */
- CIRHttpRequestData* iTempRequestObject;
-
-};
-
-#endif //ISDSCLIENTDLL_H
-
-