applayerpluginsandutils/uripermissionservices/server/inc/urilistwritestream.h
changeset 0 b16258d2340f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/applayerpluginsandutils/uripermissionservices/server/inc/urilistwritestream.h	Tue Feb 02 01:09:52 2010 +0200
@@ -0,0 +1,62 @@
+// Copyright (c) 2007-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:
+// uriliststream.h
+// @internalComponent
+// 
+//
+
+#ifndef __URILISTSTREAM_H_
+#define __URILISTSTREAM_H_
+
+#include <s32mem.h>
+#include "dbaccessor.h"
+#include <uri8.h>
+#include <ineturilistdef.h>
+
+class CInetUriImpl;
+class CUriQueryFilter;
+/**
+CUriListStream manages all the server to client data transfer query results via IPC. This class
+reads the result from the storage( via the MDBTransaction object ), packs the data and send it 
+via IPC. The query results contain multiple records and could contain maximum IPC data size. Basically,
+this class is used for transfering query results to the client.
+
+@internalComponent
+*/
+class CUriListStream : public CBase
+	{
+	
+	public:
+		static CUriListStream* NewL ( CUriQueryFilter* aQueryFilter );
+		virtual ~CUriListStream ();
+		TInt WriteUriListL ( TPtrC8& aData );
+	private:
+		CUriListStream ();
+		void ConstructL ( CUriQueryFilter* aQueryFilter );
+		void PopulateDataFieldsL ();
+		void ResetL ();
+		TInt PendingWriteStreamSizeL ();
+		CUri8* CreateUriL ();
+		void SetUriComponentL ( CUri8& aUri, const TDesC8& aUriComponent, TUriComponent aComponent );
+
+	private:
+		CBufFlat* 			iIpcBuffer;
+		RBufWriteStream 	iWriteStream;	
+		CInetUriImpl*		iInetUri;
+		CUriQueryFilter*	iQueryFilter;
+	};
+
+//----------------------------------------
+		
+#endif // __URILISTSTREAM_H_