diff -r 000000000000 -r b16258d2340f applayerpluginsandutils/uripermissionservices/server/inc/urilistwritestream.h --- /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 +#include "dbaccessor.h" +#include +#include + +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_