usbdrv/peripheral/public/d32usbtransfers.h
branchRCL_3
changeset 43 012cc2ee6408
parent 42 f92a4f87e424
child 45 ee9b31ff95f7
child 52 3d9964be03bc
--- a/usbdrv/peripheral/public/d32usbtransfers.h	Tue Aug 31 17:01:47 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,239 +0,0 @@
-// 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 the License "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 __D32USBTRANSFERS_H
-#define __D32USBTRANSFERS_H
-
-#ifdef __KERNEL_MODE__
-#include <kernel/klib.h>
-#else
-#include <e32base.h>
-#endif
-#include <d32usbdi.h>
-
-
-class RUsbTransferStrategy;
-
-/**
-Base class for all transfer descriptors.
-
-@publishedPartner Intended to be available to 3rd parties later
-@prototype
-*/
-NONSHARABLE_CLASS(RUsbTransferDescriptor)
-	{
-public:
-	enum TTransferType
-		{
-		EBulk,
-		EIsochronous,
-		EInterrupt
-		};
-
-	enum TZlpStatus
-		{
-		ESuppressZlp,
-		ESendZlpIfRequired, // Default
-		EAlwaysSendZlp
-		};
-
-#ifndef __KERNEL_MODE__
-friend class RUsbPipe;
-friend class RUsbTransferStrategy;
-
-public:
-	virtual void Close();
-
-protected:
-	RUsbTransferDescriptor(TTransferType aType, TInt aMaxSize, TInt aMaxNumPackets);
-	
-protected:
-	static const TInt KInvalidHandle = -1;
-
-protected:
-	/**
-	A pointer to the transfer strategy the descriptor is registered in.
-	*/
-	RUsbTransferStrategy* iTransferStrategy;
-
-	/**
-	Handle into the transfer strategy for the descriptor.
-	*/
-	TInt iHandle;
-
-public:
-	/**
-	The type of transfer descriptor this instance represents.
-	*/
-	const TTransferType iType;
-
-	/**
-	For isochronous transfers this refers to the maximum packet size packets
-	in this descriptor may be.
-	For other transfers this refers to the maximum size of the transfer.
-	*/
-	const TInt iMaxSize;
-
-	/**
-	Used to specify the maximum number of packets the descriptor will hold.
-	*/
-	const TInt iMaxNumPackets;
-#endif // __KERNEL_MODE__
-	};
-
-
-#ifndef __KERNEL_MODE__
-
-/**
-A class that refers to the list of packet lengths for a isochronous transfer
-descriptor.
-
-@publishedPartner
-@prototype
-*/
-NONSHARABLE_CLASS(TPacketLengths)
-	{
-public:
-	NONSHARABLE_CLASS(TLength)
-		{
-	public:
-		IMPORT_C TUint16 operator=(TUint16 aValue);
-		IMPORT_C operator TUint16() const;
-	public:
-		TLength(TUint16& aRecv, TUint16& aReq);
-	private:
-		TUint16& iRecv;
-		TUint16& iReq;
-		};
-public:
-	IMPORT_C TLength At(TInt aIndex);
-	IMPORT_C const TLength At(TInt aIndex) const;
-	IMPORT_C TLength operator[](TInt aIndex);
-	IMPORT_C const TLength operator[](TInt aIndex) const;
-	IMPORT_C TInt MaxNumPackets();
-
-public:
-	TPacketLengths(TUint16* aRecvPtr, TUint16* aReqPtr, TInt& aMaxNumPackets);
-
-private:
-	TUint16* iRecvPtr;
-	TUint16* iReqPtr;
-	TInt& iMaxNumPackets;
-	};
-
-/**
-A class that refers to the list of packet results for a isochronous transfer
-descriptor.
-
-@publishedPartner
-@prototype
-*/
-NONSHARABLE_CLASS(TPacketResults)
-	{
-public:
-	IMPORT_C TInt At(TInt aIndex) const;
-	IMPORT_C TInt operator[](TInt aIndex) const;
-	IMPORT_C TInt MaxNumPackets();
-
-public:
-	TPacketResults(TInt* aResPtr, TInt& aMaxNumPackets);
-	
-private:
-	TInt* iResPtr;
-	TInt& iMaxNumPackets;
-	};
-
-
-/**
-Provides *SEQUENTIAL* access to the packet slots in an isochronous transfer descriptor.
-As some HCs may pack the buffer space tightly, with one packet starting immediately after the preceeding one,
-random access is not possible -- in this implementation, even replacing the content of a slot with another packet
-of the same size is not 'intentionally' possible.
-Note that reading data is possible in a random access manner -- the sequential constraint only applies to writing.
-@publishedPartner Intended to be available to 3rd parties later
-@prototype
-*/
-NONSHARABLE_CLASS(RUsbIsocTransferDescriptor) : public RUsbTransferDescriptor
-	{
-friend class RUsbTransferStrategy;
-
-public:
-    IMPORT_C RUsbIsocTransferDescriptor(TInt aMaxPacketSize, TInt aMaxNumPackets);
-
-public:
-	IMPORT_C void Reset();
-	IMPORT_C TPacketLengths Lengths();
-	IMPORT_C TPacketResults Results();
-	IMPORT_C TInt MaxPacketSize();
-
-public:		// Sending
-	IMPORT_C TPtr8 WritablePackets(TInt aNumPacketsRequested, TInt& aMaxNumOfPacketsAbleToWrite);
-	IMPORT_C void SaveMultiple(TInt aNumOfPackets);
-
-public:		// Receiving
-	IMPORT_C TPtrC8 Packets(TInt aFirstPacketIndex, TInt aNumPacketsRequested, TInt& aNumOfPacketsReturned) const;
-	IMPORT_C void ReceivePackets(TInt aNumOfPackets);
-
-private:
-	/**
-	The handle to represent the current point in writing an isoc. transfer.
-	*/
-	TInt iWriteHandle;
-	};
-
-
-/**
-Provides buffer management for Bulk transfers
-@publishedPartner Intended to be available to 3rd parties later
-@prototype
-*/
-NONSHARABLE_CLASS(RUsbBulkTransferDescriptor) : public RUsbTransferDescriptor
-	{
-public:
-	IMPORT_C RUsbBulkTransferDescriptor(TInt aMaxSize);
-
-public:		// Setters
-	IMPORT_C TPtr8 WritableBuffer();
-	IMPORT_C void SaveData(TInt aLength);
-	IMPORT_C void SetZlpStatus(TZlpStatus aZlpStatus);
-
-public:		// Getters
-	IMPORT_C TPtrC8 Buffer() const;
-	};
-
-
-
-/**
-Provides buffer management for Interrupt transfers
-@publishedPartner Intended to be available to 3rd parties later
-@prototype
-*/
-NONSHARABLE_CLASS(RUsbIntrTransferDescriptor) : public RUsbTransferDescriptor
-	{
-public:
-	IMPORT_C RUsbIntrTransferDescriptor(TInt aMaxSize);
-
-public:		// Setters
-	IMPORT_C TPtr8 WritableBuffer();
-	IMPORT_C void SaveData(TInt aLength);
-	IMPORT_C void SetZlpStatus(TZlpStatus aZlpStatus);
-
-public:		// Getters
-	IMPORT_C TPtrC8 Buffer() const;
-	};
-
-#endif // __KERNEL_MODE__
-
-#endif	// __D32USBTRANSFERS_H