1 // Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies).
2 // All rights reserved.
3 // This component and the accompanying materials are made available
4 // under the terms of "Eclipse Public License v1.0"
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
18 @warning : This file contains Rose Model ID comments - please do not delete
26 #include <http/framework/cprottransaction.h>
27 #include <http/mhttpdatasupplier.h>
28 #include <http/rhttpsession.h> // this include is needed to ensure that the <rhttp.inl> is compiled by gcc...
30 // Forward declarations
31 class MRxDataObserver;
34 //##ModelId=3B1E52AB0087
35 class CRxData : public CBase, public MHTTPDataSupplier
37 An abstract base class for the decoding of response data received by a
45 /** Intended Usage: Destructor - cleans up and releases resources to the system
48 //##ModelId=3B1E52AB00ED
51 /** Intended Usage: Obtain the protocol transaction whose request part is represented
52 as encoded data by this object.
53 @return The protocol transaction object
56 //##ModelId=3B1E52AB00EC
57 CProtTransaction& ProtTrans();
61 /** Intended Usage: Resets the received data object to its initial state following
62 construction. This method must be implemented for specific sub-
63 classes of received data.
64 @post The object is reset.
66 //##ModelId=3BA60048014B
67 virtual void ResetRxData() = 0;
71 /** Intended Usage: Default constructor - creates an Rx data object not associated
72 with any protocol transaction.
75 //##ModelId=3A914E5F008F
78 /** Intended Usage: Normal constructor, of a CRxData that corresponds to the supplied
79 protocol transaction, and which sends status updates to the supplied
81 @param aProtTrans (in) The transaction for which this object
82 represents the transmitted data.
83 @param aObserver (in) The object's observer.
85 IMPORT_C CRxData(CProtTransaction& aProtTrans, MRxDataObserver& aObserver);
87 /** Intended Usage: Second phase construction, default
90 //##ModelId=3B1E52AB00BA
95 /** The protocol transaction for which this object represents the encoded received data
97 //##ModelId=3B1E52AB00B2
98 CProtTransaction* iProtTrans;
100 /** This object's observer, to whom we forward status information
102 //##ModelId=3B1E7738028B
103 MRxDataObserver* iObserver;
107 /** Intended Usage: Reserve a slot in the v-table to preserve future BC
109 //##ModelId=3C4C37DA0007
110 inline virtual void Reserved1();
112 /** Intended Usage: Reserve a slot in the v-table to preserve future BC
114 //##ModelId=3C4C37D903DB
115 inline virtual void Reserved2();
119 inline void CRxData::Reserved1()
121 inline void CRxData::Reserved2()
125 #endif // __CRXDATA_H__