irda/irdastack/irtranp/SRPSCOMM.CPP
changeset 0 29b1cd4cb562
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/irda/irdastack/irtranp/SRPSCOMM.CPP	Fri Jan 15 08:13:17 2010 +0200
@@ -0,0 +1,174 @@
+// Copyright (c) 1997-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 <e32base.h>
+#include "comreadwrite.h"
+#include "GLOBAL.H"
+#include "SRPSCOMM.H"
+
+
+SRPSCommand::SRPSCommand()
+	{
+	}
+
+SRPSCommand::SRPSCommand(CComReadWrite* aComReadWrite)
+	{
+	iComReadWrite = aComReadWrite;
+	}
+
+SRPSCommand::~SRPSCommand()
+	{
+	}
+
+	/*
+	* Method description:	Builds the packet
+	*
+*/
+
+void SRPSCommand::Create()
+	{
+	//TPtr8 d = m_oData.Des();
+	
+	m_oData.Append(0x00);
+	m_oData.Append(KTranpMsgTypeData);
+	m_oData.Append(KTranpInfTypeUser);
+	
+	m_oData.Append(m_userDataPtr.Length() + 28 + 4); // Hardcoded, but always the same .. size of the parts below.
+	
+	m_oData.Append(KTranpInfVer);
+	m_oData.Append(KTranpDFLGnseg); // hardcoded, must be different for different commands
+	
+	TUint16 length3 = (TUint16)(m_userDataPtr.Length() + 28); // Hardcoded, but always the same .. size of the parts below.
+	IrTranpUtil::DAppend(&m_oData, length3);
+	
+	m_oData.Append(0x58);
+	m_oData.Append(m_PduType);
+	
+	TUint32 length4 = m_userDataPtr.Length() + 22; // Hardcoded, but always the same .. size of the parts below.
+	IrTranpUtil::LAppend(&m_oData, length4);
+	
+	m_oData.Append(m_PMID);
+	m_oData.Append(m_SMID);
+	
+	IrTranpUtil::DAppend(&m_oData, m_SPID);//reversed the order of these 2 lines - CAR
+	IrTranpUtil::DAppend(&m_oData, m_DPID);
+	IrTranpUtil::DAppend(&m_oData, m_CmdId);
+	
+	m_oData.Append(m_userDataPtr);
+	
+	}
+
+	/*
+	* Method description:	Sends the packet
+	*
+*/
+
+void SRPSCommand::DoIt()
+	{
+	iComReadWrite->Send(m_oData);
+	}
+
+void SRPSCommand::GetReply()
+	{
+	// We won't use this at all!
+	}
+
+	/*
+	* Method description:	Retrieves the packet - used for debugging purposes
+	*
+	* Returns:				Pointer to the packet
+*/
+
+TDesC8& SRPSCommand::GetData()
+	{
+	return m_oData;
+	}
+
+	/*
+	* Method description:	Sets the Primary Machine ID
+	*
+	* Parameter:			a_PMID - the new Machine ID
+*/
+
+void SRPSCommand::SetPMID(TPtr8 a_PMID)
+	{
+	m_PMID = a_PMID;
+	}
+
+	/*
+	* Method description:	Sets the Secondary Machine ID
+	*
+	* Parameter:			a_SMID - the new Machine ID
+*/
+
+void SRPSCommand::SetSMID(TPtr8 a_SMID)
+	{
+	m_SMID = a_SMID;
+	}
+
+	/*
+	* Method description:	Sets the type of PDU where acking
+	*
+	* Parameter:			a_PduType - the type of PDU
+*/
+
+void SRPSCommand::SetPDUType(TUint8 a_PduType)
+	{
+	m_PduType = a_PduType;
+	}
+
+	/*
+	* Method description:	Sets the ID of the command where acking
+	*
+	* Parameter:			a_CmdId - the command id
+*/
+
+void SRPSCommand::SetCmdId(TUint16 a_CmdId)
+	{
+	m_CmdId = a_CmdId;
+	}
+
+	/*
+	* Method description:	Sets the destination process id
+	*
+	* Parameter:			a_DPID - the process id
+*/
+
+void SRPSCommand::SetDPID(TUint16 a_DPID)
+	{
+	m_DPID = a_DPID;
+	}
+
+	/*
+	* Method description:	Sets the source process id
+	*
+	* Parameter:			a_SPID - the process id
+*/
+
+void SRPSCommand::SetSPID(TUint16 a_SPID)
+	{
+	m_SPID = a_SPID;
+	}
+
+	/*
+	* Method description:	Sets the userdata specific for this ack
+	*
+	* Parameter:			a_userDataPtr - pointer to the data
+*/
+
+void SRPSCommand::SetUserData(TDes8& a_userDataPtr)
+	{
+	m_userDataPtr.Set(a_userDataPtr);
+	}