diff -r 000000000000 -r 29b1cd4cb562 bluetooth/btstack/avdtp/avdtpMessage.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bluetooth/btstack/avdtp/avdtpMessage.h Fri Jan 15 08:13:17 2010 +0200 @@ -0,0 +1,57 @@ +// Copyright (c) 2003-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: +// Defines the avdtp message base class +// +// + +/** + @file + @internalComponent +*/ + +#ifndef AVDTPMESSAGE_H +#define AVDTPMESSAGE_H + +#include + +NONSHARABLE_CLASS(CAvdtpMessage) : public CBase + { +public: + /** + @return KErrNone if successful and data as expected + KErrNotReady if data not as expected (N.B. could indicate an abort message) + */ + virtual TInt NewData(TUint aCount/*RMBufChain& aFragment*/)=0; + void AppendDataL(const TDesC8& aData); + void AppendDataL(const TChar& aChar); + + inline RMBufChain& Data(); + virtual ~CAvdtpMessage(); + +protected: + void AppendNewData(RMBufChain& aFragment); + TPtrC8 DataPtr(TInt aFrom); // MBuf helper (!) which operates on the packet to the end + TPtrC8 DataPtr(TInt aFrom, TInt aTo); // MBuf helper (!) which operates on the packet + + +private: + RMBufChain iPacket; // new packets might join with this to defrag + }; + +RMBufChain& CAvdtpMessage::Data() + { + return iPacket; + } + +#endif //AVDTPMESSAGE_H