diff -r 608f67c22514 -r 896e9dbc5f19 internetradio2.0/xmlparserinc/irxmlcontenthandler.h --- a/internetradio2.0/xmlparserinc/irxmlcontenthandler.h Tue Jul 06 14:07:20 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,280 +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 IRXMLCONTENTHANDLER_H -#define IRXMLCONTENTHANDLER_H - -#include - -class CIRAdvertisement; -class CIRBrowseCatagoryItems; -class CIRBrowseChannelItems; -class CIRCacheMgmt; -class CIRHttpResponseData; -class CIRIsdsPreset; -class CIROTAUpdate; -class MIRCacheObserver; -class MIRParserObserver; - -namespace Xml - { - class CParser; - } - -//constant declaration -_LIT8(KFile,"text/xml"); -const TInt KSessionLogResponse = 5; - -using namespace Xml; - -/** -* Parse data from xml file -* -* @code -* -* classA* ParserObserver;//class classA : public MIRParserObserver -* classB* CacheObserver;//class classB : public MIRCacheObserver -* CIRHttpResponseData* ResponseHeader; -* CIRHttpResponseData* parser = CIRXMLContentHandler::NewL (*ParserObserver,*CacheObserver); -* parser->ParseXmlL(FilePath,CachePath,ResponseHeader); -* -* @endcode -* -*/ - -class CIRXMLContentHandler : public CBase, - public MContentHandler - { - public: - /** - * Gets the Filepath of the XML file - * @param aFilePath Contains the filepath of the file - * @return ErrorCode if the file cannot be opened - */ - IMPORT_C void ParseXmlL(const TDesC& aFilePath, const TDesC& aCachePath, - const CIRHttpResponseData& aResponseHeaders); - - /** - * Default Constructor - * @param aObserver Contains the reference to the MClass Observer - */ - IMPORT_C static CIRXMLContentHandler* NewL - (MIRParserObserver &aObserver, MIRCacheObserver &aCacheObserver); - /** - * Destructing the object - */ - ~CIRXMLContentHandler(); - /** - * This method is a callback to indicate the start of the document - * @param aDocParam Specifies the various parameters of the document - * @param aErrorCode KErrNone if successfull. - * @return None - */ - virtual void OnStartDocumentL(const RDocumentParameters &aDocParam, - TInt aErrorCode); - /** - * This method is a callback to indicate the end of the document - * @param aErrorCode KErrNone if successfull. - * @return None - */ - virtual void OnEndDocumentL(TInt aErrorCode); - /** - * This method is a callback to indicate an element has been parsed. - * @param aElement is a handle to the element's details. - * @param aAttributes contains the attributes for the element - * @param aErrorCode KErrNone if successfull. - */ - virtual void OnStartElementL(const RTagInfo &aElement, - const RAttributeArray &aAttributes, TInt aErrorCode); - /** - * This method is a callback to indicate the end of the element has been reached. - * @param aElement is a handle to the element's details. - * @param aErrorCode KErrNone if successfull. - */ - virtual void OnEndElementL(const RTagInfo &aElement, TInt aErrorCode); - /** - * This method is a callback that sends the content of the element.The data may be sent in chunks - * @param aBytes is the raw content data for the element. - * @param aErrorCode KErrNone if successfull. - */ - virtual void OnContentL(const TDesC8 &aBytes, TInt aErrorCode); - /** - * This method is a notification of the beginning of the scope of a prefix-URI Namespace mapping. - * @param aPrefix is the Namespace prefix being declared - * @param aUri is the Namespace URI the prefix is mapped to - * @param aErrorCode KErrNone if successfull. - */ - virtual void OnStartPrefixMappingL(const RString &aPrefix, - const RString &aUri, TInt aErrorCode); - /** - * This method is a notification of the end of the scope of a prefix-URI mapping - * @param aPrefix is the Namespace prefix that was mapped. - * @param aErrorCode KErrNone if successfull. - */ - virtual void OnEndPrefixMappingL(const RString &aPrefix, TInt aErrorCode); - /** - * This method is a notification of ignorable whitespace in element content. - * @param aBytes are the ignored bytes from the document being parsed.. - * @param aErrorCode KErrNone if successfull. - */ - virtual void OnIgnorableWhiteSpaceL(const TDesC8 &aBytes, TInt aErrorCode); - /** - * This method is a notification of a skipped entity - * @param aName is the name of the skipped entity. - * @param aErrorCode KErrNone if successfull. - */ - virtual void OnSkippedEntityL(const RString &aName, TInt aErrorCode); - /** - * This method is a receive notification of a processing instruction. - * @param aTarget is the processing instruction target. - * @param aData is the processing instruction data. If empty none was supplied.. - * @param aErrorCode KErrNone if successfull. - */ - virtual void OnProcessingInstructionL(const TDesC8 &aTarget, - const TDesC8 &aData, TInt aErrorCode); - /** - * This method indicates an error has occurred. - * @param aErrorCode contains the errorcode. - */ - virtual void OnError(TInt aErrorCode); - /** - * This method obtains the interface matching the specified uid. - * @param aUid the uid identifying the required interface - * @return 0 if no interface matching the uid is found. Otherwise, the this pointer cast to that interface - */ - virtual TAny *GetExtendedInterface(const TInt32 aUid); - /** - * This method maps the errorcode - * @param aError conatins the errorcode - * @return the type of the error - */ - TInt ParseError(TInt aError); - /** - * This method stringpool handle - * @param aError conatins the errorcode - * @return the type of the error - */ - RStringPool& StringPool (); - - void ResetValues(); - -protected: - - /** - * Default Constructor - * @param aObserver Contains the reference to the MClass Observer - */ - CIRXMLContentHandler(MIRParserObserver &aObserver,MIRCacheObserver &aCacheObserver); - - /** - * Two-Phase Constructor - */ - void ConstructL(); - - private : - - // Buffer for the URL - HBufC* iBufGetOperation; - - // Buffer for Size - HBufC* iSize; - - // Count of the bitrates - TBool iIRID; - - TInt iBitrateCounter; - - // Indicating for Channels/Preset - TInt iFlag; - - // Indicating for Channels - TInt iChannelFlag; - - // Bool Value to indicate the class - TBool iPresets; - TBool iCategories; - TBool iCat; - TBool iChannels; - TBool iChan; - TBool iAdvertisement; - TBool iOTAUpdate; - TBool iTimeStamp; //checks the header has a time stamp - TInt iEOD; - // Pointer to the PresetData - CIRIsdsPreset *iPreset; - - // Pointer to the CategoryData - CIRBrowseCatagoryItems *iCategory; - - // Pointer to the ChannelData - CIRBrowseChannelItems *iChannel; - - // Pointer to the Advertisement - - CIRAdvertisement *iAdv; - - //! An Handle to Stringpool - - RStringPool iStringPool; - - //! Reference to the CallBack Class - - MIRParserObserver& iParseObserver; - - CParser* iParser; - - //Caching - CIRCacheMgmt *iCache; - - MIRCacheObserver &iCacheObserver; - - TBuf<256> iFileToCache; - -// For Advertisement - TBool iAdvts; - TBool iAdvertisementTagFlag; - HBufC* iUrlContentForAds; //to store the content of the tag - - - -public: - - // Count of the bitrates - - TBuf<30> iRID; - - // Array of Pointers to PresetClass - - CArrayPtrFlat* iPtrPreset; - - // Array of Pointers to CategoryClass - - CArrayPtrFlat* iPtrCategory; - - // Array of Pointers to BrowseCategoryClass - - CArrayPtrFlat* iPtrChannel; - // Pointer to the OTAUpdate - - CIROTAUpdate *iOTA; - - - -}; - -#endif //IRXMLCONTENTHANDLER_H