diff -r 000000000000 -r ba25891c3a9e ncdengine/provider/protocol/inc/ncdparserobserver.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ncdengine/provider/protocol/inc/ncdparserobserver.h Thu Dec 17 08:51:10 2009 +0200 @@ -0,0 +1,329 @@ +/* +* Copyright (c) 2006 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: MNCDParserObserver declaration +* +*/ + + +#ifndef NCDPARSEROBSERVER_H +#define NCDPARSEROBSERVER_H + +#include + + +class MNcdConfigurationProtocolActionRequest; +class MNcdConfigurationProtocolClientConfiguration; +class MNcdConfigurationProtocolDetail; +class MNcdConfigurationProtocolError; +class MNcdConfigurationProtocolError; +class MNcdConfigurationProtocolQuery; +class MNcdConfigurationProtocolServerDetails; +class MNcdPreminetProtocolCookie; +class MNcdPreminetProtocolDataBlock; +class MNcdPreminetProtocolDataEntity; +class MNcdPreminetProtocolDataEntity; +class MNcdPreminetProtocolError; +class MNcdPreminetProtocolFolderRef; +class MNcdPreminetProtocolInformation; +class MNcdPreminetProtocolItemRef; +class MNcdPreminetProtocolPurchaseInformation; +class MNcdPreminetProtocolPurchaseProcessed; +class MNcdPreminetProtocolSubscription; + +/** + * Main parser observer interface for watching parser events. + */ +class MNcdParserObserver + { +public: + /** + * Called when an error occurs during parsing. The parsing + * will not continue after this. + * The error code should tell things such as: + * - syntax error + * - protocol error + */ + virtual void ParseError( TInt aErrorCode ) = 0; + + /** + * This method is called after the user has called MNCDParser::EndL() + * and all data has been processed. + */ + virtual void ParseCompleteL( TInt aError ) = 0; + }; + + +/** + * Observer for entities received from the parser. + */ +class MNcdParserEntityObserver + { +public: + /** + * Folder ref entity. + * @param aData Ownership is transfered. + */ + virtual void FolderRefL( MNcdPreminetProtocolFolderRef* aData ) = 0; + /** + * Folder metadata entity. + * @param aData Ownership is transfered. + */ + virtual void FolderDataL( MNcdPreminetProtocolDataEntity* aData ) = 0; + /** + * Item ref entity. + * @param aData Ownership is transfered. + */ + virtual void ItemRefL( MNcdPreminetProtocolItemRef* aData ) = 0; + /** + * Item metadata entity. + * @param aData Ownership is transfered. + */ + virtual void ItemDataL( MNcdPreminetProtocolDataEntity* aData ) = 0; + }; + +/** + * Observer for purchase information received from the parser. + */ +class MNcdParserPurchaseObserver + { +public: + /** + * Purchase information. + * @param aData Ownership is transfered. + */ + virtual void InformationL( + MNcdPreminetProtocolPurchaseInformation* aData ) = 0; + + /** + * Processed purchase data. + * @param aData Ownership is transfered. + */ + virtual void ProcessedL( + MNcdPreminetProtocolPurchaseProcessed* aData ) = 0; + }; + +/** + * Observer for subscription information received from the parser. + */ +class MNcdParserSubscriptionObserver + { +public: + /** + * Purchase information. + * @param aData Ownership is transfered. + */ + virtual void ValidSubscriptionL( + MNcdPreminetProtocolSubscription* aData ) = 0; + + /** + * Processed purchase data. + * @param aData Ownership is transfered. + */ + virtual void OldSubscriptionL( + MNcdPreminetProtocolSubscription* aData ) = 0; + }; + +/** + * Observer for session information. + */ +class MNcdParserSessionObserver + { +public: + /** + * Session with an id has been received. + * @param aSessionId + * @param aServerURI Server where this session originated. + * @param aNameSpace + */ + virtual void SessionL( const TDesC& aSessionId, + const TDesC& aServerURI, + const TDesC& aNameSpace ) = 0; + }; + +class MNcdParserInformationObserver + { +public: + virtual void InformationL( + MNcdPreminetProtocolInformation* aData ) = 0; + }; + +class MNcdParserDataBlocksObserver + { +public: + virtual void DataBlocksL( + CArrayPtr* aData ) = 0; + }; + +class MNcdParserErrorObserver + { +public: + virtual void ErrorL( + MNcdPreminetProtocolError* aData ) = 0; + }; + +class MNcdParserQueryObserver + { +public: + virtual void QueryL( + MNcdConfigurationProtocolQuery* aData ) = 0; + }; + + +/** + * Observer for configuration protocol information. + */ +class MNcdParserConfigurationProtocolObserver + { +public: + virtual void ConfigurationBeginL( const TDesC& version, + TInt expirationdelta ) = 0; + virtual void ConfigurationQueryL( MNcdConfigurationProtocolQuery* aQuery ) = 0; + + virtual void ClientConfigurationL( + MNcdConfigurationProtocolClientConfiguration* aConfiguration ) = 0; + virtual void ConfigurationDetailsL( CArrayPtr* aDetails ) = 0; + virtual void ConfigurationActionRequestL( MNcdConfigurationProtocolActionRequest* aActionRequest ) = 0; + virtual void ConfigurationErrorL( MNcdConfigurationProtocolError* aError ) = 0; + virtual void ConfigurationServerDetailsL( MNcdConfigurationProtocolServerDetails* aServerDetails ) = 0; + virtual void ConfigurationEndL() = 0; + }; + +class MNcdParserObserverBundle + { +public: + virtual ~MNcdParserObserverBundle() {} + + /** + * Sets the main observer. + * This is mandatory prior to beginning the parsing! + * @param aObserver + */ + virtual void SetParserObserver( MNcdParserObserver* aObserver ) = 0; + /** + * Retrieves the observer pointer. + * @return Observer pointer or null. + */ + virtual MNcdParserObserver* ParserObserver() const = 0; + + /** + * Sets the entity observer. + * @param aObserver + */ + virtual void SetEntityObserver( MNcdParserEntityObserver* aObserver ) = 0; + /** + * Retrieves the entity observer. + * @return Observer pointer or null. + */ + virtual MNcdParserEntityObserver* EntityObserver() const = 0; + + /** + * Sets the purchase observer. + * @param aObserver + */ + virtual void SetPurchaseObserver( MNcdParserPurchaseObserver* aObserver ) = 0; + /** + * Retrieves the purchase observer. + * @return Observer pointer or null. + */ + virtual MNcdParserPurchaseObserver* PurchaseObserver() const = 0; + + /** + * Sets the subscription observer. + * @param aObserver + */ + virtual void SetSubscriptionObserver( MNcdParserSubscriptionObserver* aObserver ) = 0; + /** + * Retrieves the subscription observer. + * @return Observer pointer or null. + */ + virtual MNcdParserSubscriptionObserver* SubscriptionObserver() const = 0; + + /** + * Sets the session observer. + * @param aObserver + */ + virtual void SetSessionObserver( MNcdParserSessionObserver* aObserver ) = 0; + + /** + * Retrieves the observer. + * @return Observer pointer or null. + */ + virtual MNcdParserSessionObserver* SessionObserver() const = 0; + + /** + * Sets the information observer. + * @param aObserver + */ + virtual void SetInformationObserver( MNcdParserInformationObserver* aObserver ) = 0; + + /** + * Retrieves the observer. + * @return Observer pointer or null. + */ + virtual MNcdParserInformationObserver* InformationObserver() const = 0; + + /** + * Sets the data blocks observer. + * @param aObserver + */ + virtual void SetDataBlocksObserver( MNcdParserDataBlocksObserver* aObserver ) = 0; + + /** + * Retrieves the observer. + * @return Observer pointer or null. + */ + virtual MNcdParserDataBlocksObserver* DataBlocksObserver() const = 0; + + /** + * Sets the configuration protocol observer. + * @param aObserver + */ + virtual void SetConfigurationProtocolObserver( MNcdParserConfigurationProtocolObserver* aObserver ) = 0; + /** + * Retrieves the observer. + * @return Observer pointer or null. + */ + virtual MNcdParserConfigurationProtocolObserver* ConfigurationProtocolObserver() const = 0; + + /** + * Sets the error observer. + * @param aObserver + */ + virtual void SetErrorObserver( MNcdParserErrorObserver* aObserver ) = 0; + /** + * Retrieves the observer. + * @return Observer pointer or null. + */ + virtual MNcdParserErrorObserver* ErrorObserver() const = 0; + + /** + * Sets the query observer. + * @param aObserver + */ + virtual void SetQueryObserver( MNcdParserQueryObserver* aObserver ) = 0; + /** + * Retrieves the observer. + * @return Observer pointer or null. + */ + virtual MNcdParserQueryObserver* QueryObserver() const = 0; + + /** + * Retrieves the origin of the current session. + * @return Server URI or KNullDesC if not available. + */ + virtual const TDesC& SessionOrigin() const = 0; + }; + +#endif +