williamr@4: // Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies). williamr@4: // All rights reserved. williamr@4: // This component and the accompanying materials are made available williamr@4: // under the terms of "Eclipse Public License v1.0" williamr@4: // which accompanies this distribution, and is available williamr@4: // at the URL "http://www.eclipse.org/legal/epl-v10.html". williamr@4: // williamr@4: // Initial Contributors: williamr@4: // Nokia Corporation - initial contribution. williamr@4: // williamr@4: // Contributors: williamr@4: // williamr@4: // Description: williamr@4: // williamr@4: williamr@4: #ifndef __HTTPHEADERITER_H__ williamr@4: #define __HTTPHEADERITER_H__ williamr@4: williamr@4: #include williamr@4: #include williamr@4: class CHeaders; williamr@4: class CHeaderField; williamr@4: class CHeaderFieldPart; williamr@4: class CHeaderFieldParam; williamr@4: williamr@4: class THttpHeaderParamIterator williamr@4: { williamr@4: friend class THttpHeaderElementIterator; williamr@4: friend class THttpHeaderIterator; williamr@4: williamr@4: public: williamr@4: IMPORT_C THttpHeaderParamIterator operator++ (TInt); williamr@4: IMPORT_C THttpHeaderParamIterator& operator++ (); williamr@4: IMPORT_C TBool AtEnd() const; williamr@4: IMPORT_C const TDesC8& Name() const; williamr@4: IMPORT_C THttpHeaderValueVariant Value() const; williamr@4: IMPORT_C THttpHeaderParamIterator(); williamr@4: private: williamr@4: IMPORT_C THttpHeaderParamIterator(const RPointerArray* aArray, TInt aIndex = 0); williamr@4: williamr@4: private: williamr@4: const RPointerArray* iParameterArray; williamr@4: TInt iPostIdx; williamr@4: }; williamr@4: williamr@4: class THttpHeaderElementIterator williamr@4: { williamr@4: friend class THttpHeaderIterator; williamr@4: friend class CHttpClientTransaction; williamr@4: public: williamr@4: IMPORT_C THttpHeaderElementIterator operator++ (TInt); williamr@4: IMPORT_C THttpHeaderElementIterator& operator++ (); williamr@4: IMPORT_C TBool AtEnd() const; williamr@4: IMPORT_C THttpHeaderValueVariant Value() const; williamr@4: IMPORT_C THttpHeaderParamIterator Parameter() const; williamr@4: IMPORT_C THttpHeaderElementIterator(); williamr@4: private: williamr@4: IMPORT_C THttpHeaderElementIterator(const RPointerArray* aArray, TInt aIndex = 0); williamr@4: williamr@4: private: williamr@4: const RPointerArray* iElementArray; williamr@4: TInt iPostIdx; williamr@4: }; williamr@4: williamr@4: class THttpHeaderIterator williamr@4: { williamr@4: friend class CHttpClientTransaction; williamr@4: public: williamr@4: IMPORT_C THttpHeaderIterator operator++ (TInt); williamr@4: IMPORT_C THttpHeaderIterator& operator++ (); williamr@4: IMPORT_C TBool AtEnd() const; williamr@4: IMPORT_C const TDesC8& Name() const; williamr@4: IMPORT_C THttpHeaderElementIterator Elements() const; williamr@4: IMPORT_C THttpHeaderParamIterator Parameters() const; williamr@4: IMPORT_C THttpHeaderIterator(); williamr@4: private: williamr@4: IMPORT_C THttpHeaderIterator(const CHeaders* aHeaders, TInt aIndex = 0); williamr@4: williamr@4: private: williamr@4: const CHeaders* iHttpHeaders; williamr@4: TInt iPostIdx; williamr@4: }; williamr@4: #endif // __HTTPHEADERITER_H__ williamr@4: