williamr@2: // Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies). williamr@2: // All rights reserved. williamr@2: // This component and the accompanying materials are made available williamr@2: // under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members williamr@2: // which accompanies this distribution, and is available williamr@2: // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". williamr@2: // williamr@2: // Initial Contributors: williamr@2: // Nokia Corporation - initial contribution. williamr@2: // williamr@2: // Contributors: williamr@2: // williamr@2: // Description: williamr@2: // Definition of the data provider observer abstract class williamr@2: // It is anticipated that this class will be used as a mixin for williamr@2: // those objects which wish to provide services for an MDataProvider williamr@2: // plugin. williamr@2: // williamr@2: // williamr@2: williamr@2: williamr@2: #ifndef __MDATAPROVIDEROBSERVER_H__ williamr@2: #define __MDATAPROVIDEROBSERVER_H__ williamr@2: williamr@2: // System includes williamr@2: // williamr@2: #include williamr@2: williamr@2: //##ModelId=3B712B2B01C2 williamr@2: class MDataProviderObserver williamr@2: /** williamr@2: MDataProviderObserver provides a virtual interface for any class to observe williamr@2: any MDataProvider, and provide data receiving services. williamr@2: @publishedAll williamr@2: @deprecated williamr@2: */ williamr@2: { williamr@2: public: // Methods williamr@2: williamr@2: /** williamr@2: Intended Usage : Called by the data provider to request processing of williamr@2: the data within the buffer. williamr@2: @since 6.0 williamr@2: @param aBuffer A reference to the buffer with the data to process williamr@2: */ williamr@2: //##ModelId=3B712B2B0209 williamr@2: virtual void ProcessDataL(HBufC8& aBuffer) = 0; williamr@2: williamr@2: /** williamr@2: Intended Usage : Called by the data provider to report its status to williamr@2: its observer. A status code which is either a standard error condition, williamr@2: (i.e. < 0), a percentage complete value, ( 0 > aStatus < 100), OR a williamr@2: TPluginStatus value. williamr@2: @since 6.0 williamr@2: @param aStatusCode The status of the data provider williamr@2: */ williamr@2: //##ModelId=3B712B2B0203 williamr@2: virtual void SetStatus(TInt aStatusCode = KErrNone) = 0; williamr@2: williamr@2: /** williamr@2: Intended Usage : The request to construct a CDataHandler to process data williamr@2: of aDataType, where aDataType is a string to match against some plugins williamr@2: declared data handling ability. williamr@2: @since 6.0 williamr@2: @param aDataType A reference to a descriptor with the data type williamr@2: */ williamr@2: //##ModelId=3B712B2B01FE williamr@2: virtual void SetDocumentTypeL(const TDesC& aDataType) = 0; williamr@2: williamr@2: /** williamr@2: Intended Usage : The request to construct a CDataHandler for aDataType with williamr@2: non default document encoding where aDataType is a string to match against williamr@2: some plugins declared data handling ability. williamr@2: @since 6.0 williamr@2: @param aDataType A reference to a descriptor with the data type williamr@2: @param aContentType A reference to a descriptor with the content type williamr@2: */ williamr@2: //##ModelId=3B712B2B0200 williamr@2: virtual void SetDocumentTypeL(const TDesC& aDataType, const TDesC& aContentType) = 0; williamr@2: williamr@2: /** williamr@2: Intended Usage : The report of how many bytes of data is expected to be williamr@2: passed to ProcessDataL, enabling %age reporting capabilities. williamr@2: @since 6.0 williamr@2: @param aAmountExpected An integer value of the expected amount williamr@2: */ williamr@2: //##ModelId=3B712B2B01EC williamr@2: virtual void SetDataExpected(TInt aAmountExpected) = 0; williamr@2: williamr@2: /** williamr@2: Intended Usage : Set the URI that the DataProvider considers the base williamr@2: URI for the current data. williamr@2: @since 6.0 williamr@2: @param aBaseUri A const pointer to the uri williamr@2: */ williamr@2: //##ModelId=3B712B2B01EA williamr@2: virtual void SetBaseUriL(const TDesC* aBaseUri) = 0; williamr@2: williamr@2: private: williamr@2: williamr@2: /** williamr@2: Intended Usage : Reserved for future expansion. williamr@2: @since 6.0 williamr@2: */ williamr@2: //##ModelId=3B712B2B01E1 williamr@2: virtual void MDataProviderObserverReserved1() =0; williamr@2: williamr@2: /** williamr@2: Intended Usage : Reserved for future expansion. williamr@2: @since 6.0 williamr@2: */ williamr@2: //##ModelId=3B712B2B01E0 williamr@2: virtual void MDataProviderObserverReserved2() =0; williamr@2: williamr@2: }; // MDataProviderObserver williamr@2: williamr@2: #endif // __MDATAPROVIDEROBSERVER_H__