applayerprotocols/wappushsupport/WbxmlLib/ByteList.h
changeset 0 b16258d2340f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/applayerprotocols/wappushsupport/WbxmlLib/ByteList.h	Tue Feb 02 01:09:52 2010 +0200
@@ -0,0 +1,106 @@
+// Copyright (c) 1997-2009 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:
+//
+
+#ifndef __BYTELIST_H
+#define __BYTELIST_H
+
+#include <e32std.h>
+#include <s32stor.h>
+
+class CItem;
+
+//
+// class CByteList - First In, First Out temporary data storage for bytes
+//
+//##ModelId=3B6678E302BB
+class CByteList : public CBase
+{
+public:
+	//##ModelId=3B6678E30385
+	static CByteList* NewL();
+	//##ModelId=3B6678E30384
+	static CByteList* NewLC();
+	//##ModelId=3B6678E3037C
+	virtual ~CByteList();
+
+	//##ModelId=3B6678E3037A
+	void AddToListL(HBufC8& aBuffer);
+	//##ModelId=3B6678E30371
+	void Commit();
+	//##ModelId=3B6678E30370
+	void RollBack();
+	//##ModelId=3B6678E30366
+	TInt Byte(TUint8* aByte, TBool aIncrement);
+	//##ModelId=3B6678E3035C
+	TInt Inc(TInt aCount);
+
+private:
+	//##ModelId=3B6678E3035B
+	CByteList();
+	//##ModelId=3B6678E30352
+	void Construct();
+
+private:
+	//##ModelId=3B6678E30349
+	TSglQue<CItem>     iList;
+	//##ModelId=3B6678E30321
+	TSglQueIter<CItem> iListIter;
+	//##ModelId=3B6678E3030D
+	TSglQueIter<CItem> iListCommit;
+	//##ModelId=3B6678E302E5
+	TInt iByteOffset;
+	//##ModelId=3B6678E302DC
+	TInt iByteCommit;
+};
+
+//
+// class CItem - to be used with CByteList
+//
+//##ModelId=3B6678E40082
+class CItem : public CBase
+{
+public:
+	//##ModelId=3B6678E400D2
+	static CItem* NewL (const HBufC8& aData);
+	//##ModelId=3B6678E400C9
+	static CItem* NewLC (const HBufC8& aData); 
+	//##ModelId=3B6678E400C1
+	void ConstructL (const HBufC8& aData);
+
+	//##ModelId=3B6678E400C0
+	virtual ~CItem();
+	//##ModelId=3B6678E400BF
+	HBufC8* Data() const;
+		
+	//##ModelId=3B6678E400B6
+	static const TInt iOffset;
+
+private:
+	//##ModelId=3B6678E400BE
+	CItem();
+
+private:	
+	//##ModelId=3B6678E400AA
+	TSglQueLink iLink;
+	//##ModelId=3B6678E400A0
+	HBufC8*		iData;
+	friend class CList;
+};
+
+#endif // __BYTELIST_H
+
+//
+// End of file
+//