--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/bluetooth/btstack/sdp/sdppdu.cpp Fri Jan 15 08:13:17 2010 +0200
@@ -0,0 +1,88 @@
+// Copyright (c) 2000-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:
+//
+
+#include "sdppdu.h"
+
+CSdpPdu::CSdpPdu(CSdpNetDbProvider* aSdpNetDbProv)
+ : iBuf(KSdpPduHeaderSize), //Reserve Space for PDU header
+ iNetDbProvider(aSdpNetDbProv)
+ {
+ }
+
+CSdpPdu::~CSdpPdu()
+ {
+ iLink.Deque();
+ }
+
+void CSdpPdu::SetPduId(TUint8 aPduId)
+ {
+ iBuf[KSdpPduIdOffset] = aPduId;
+ }
+
+TUint8 CSdpPdu::PduId()
+ {
+ return iBuf[KSdpPduIdOffset];
+ }
+
+void CSdpPdu::SetTransid(TUint16 aTransId)
+ {
+ BigEndian::Put16(&iBuf[KSdpPduTransIdOffset], aTransId);
+ }
+
+TUint16 CSdpPdu::TransId()
+ {
+ return BigEndian::Get16(&iBuf[KSdpPduTransIdOffset]);
+ }
+
+void CSdpPdu::SetLength()
+ {
+ BigEndian::Put16(&iBuf[KSdpPduParamLengthOffset],
+ static_cast<TUint16>(iBuf.Length()-KSdpPduHeaderSize));
+ }
+
+void CSdpPdu::PutByte(TUint8 aByte)
+ {
+ iBuf.Append(aByte);
+ }
+
+void CSdpPdu::PutBigEndian16(TUint16 aShort)
+ {
+ TInt len = iBuf.Length();
+ iBuf.SetLength(len+sizeof(aShort));
+ BigEndian::Put16(&iBuf[len], aShort);
+ }
+
+void CSdpPdu::PutBigEndian32(TUint32 aLong)
+ {
+ TInt len = iBuf.Length();
+ iBuf.SetLength(len+sizeof(aLong));
+ BigEndian::Put32(&iBuf[len], aLong);
+ }
+
+void CSdpPdu::PutData(const TDesC8& aDes)
+ {
+ iBuf.Append(aDes);
+ }
+
+TDesC8& CSdpPdu::Data()
+ {
+ return iBuf;
+ }
+
+CSdpNetDbProvider* CSdpPdu::NetDbProvider()
+ {
+ return iNetDbProvider;
+ }
+