1 // Copyright (c) 2003-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.
16 #ifndef __HTTPHEADERITER_H__
17 #define __HTTPHEADERITER_H__
20 #include <thttpheadervaluevariant.h>
23 class CHeaderFieldPart;
24 class CHeaderFieldParam;
26 class THttpHeaderParamIterator
28 friend class THttpHeaderElementIterator;
29 friend class THttpHeaderIterator;
32 IMPORT_C THttpHeaderParamIterator operator++ (TInt);
33 IMPORT_C THttpHeaderParamIterator& operator++ ();
34 IMPORT_C TBool AtEnd() const;
35 IMPORT_C const TDesC8& Name() const;
36 IMPORT_C THttpHeaderValueVariant Value() const;
37 IMPORT_C THttpHeaderParamIterator();
39 IMPORT_C THttpHeaderParamIterator(const RPointerArray<CHeaderFieldParam>* aArray, TInt aIndex = 0);
42 const RPointerArray<CHeaderFieldParam>* iParameterArray;
46 class THttpHeaderElementIterator
48 friend class THttpHeaderIterator;
49 friend class CHttpClientTransaction;
51 IMPORT_C THttpHeaderElementIterator operator++ (TInt);
52 IMPORT_C THttpHeaderElementIterator& operator++ ();
53 IMPORT_C TBool AtEnd() const;
54 IMPORT_C THttpHeaderValueVariant Value() const;
55 IMPORT_C THttpHeaderParamIterator Parameter() const;
56 IMPORT_C THttpHeaderElementIterator();
58 IMPORT_C THttpHeaderElementIterator(const RPointerArray<CHeaderFieldPart>* aArray, TInt aIndex = 0);
61 const RPointerArray<CHeaderFieldPart>* iElementArray;
65 class THttpHeaderIterator
67 friend class CHttpClientTransaction;
69 IMPORT_C THttpHeaderIterator operator++ (TInt);
70 IMPORT_C THttpHeaderIterator& operator++ ();
71 IMPORT_C TBool AtEnd() const;
72 IMPORT_C const TDesC8& Name() const;
73 IMPORT_C THttpHeaderElementIterator Elements() const;
74 IMPORT_C THttpHeaderParamIterator Parameters() const;
75 IMPORT_C THttpHeaderIterator();
77 IMPORT_C THttpHeaderIterator(const CHeaders* aHeaders, TInt aIndex = 0);
80 const CHeaders* iHttpHeaders;
83 #endif // __HTTPHEADERITER_H__