--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingappbase/obexmtms/irmtm/irclient/source/irHeader.cpp Thu Dec 17 08:44:11 2009 +0200
@@ -0,0 +1,143 @@
+// Copyright (c) 2001-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:
+// $Workfile: irHeader.cpp $
+// $Author: Stevep $
+// $Revision: 10 $
+// $Date: 25/03/02 9:03 $
+//
+//
+
+//class include
+#include <irheader.h>
+
+//system includes
+#include <s32strm.h> //RReadStream, RWriteStream
+#include <msvstore.h> //CMsvStore, RMsvWriteStream, RMsvReadStream
+#include <obex.h>
+
+//user includes
+#include <obexinternalutils.h>
+
+CIrHeader::CIrHeader():
+ CObexMtmHeader(KUidStreamIrHeaders, KObexMessageStreamVersion)
+/**
+ * Default constructor, initialises the base class and sets the value of iIrProtocolInfo.iTransport
+ * as appropriate for IR
+ */
+ {
+ iIrProtocolInfo.iTransport = KIrTransport;
+ iIrProtocolInfo.iClassName = KIrObexClassName;
+ iIrProtocolInfo.iAttributeName = KIrObexAttributeName;
+ }
+
+
+EXPORT_C CIrHeader::~CIrHeader()
+/**
+ * Destructor. Empty
+ */
+
+ {
+ }
+
+
+EXPORT_C void CIrHeader::ConstructL()
+/**
+ * Second-phase constructor. Calls BaseConstructL to initialise the base members
+ */
+ {
+ BaseConstructL();
+ }
+
+EXPORT_C CIrHeader* CIrHeader::NewL()
+/**
+ * Canonical NewL factory function
+ */
+ {
+ CIrHeader* self = new (ELeave) CIrHeader;
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ CleanupStack::Pop(); //self
+ return self;
+ }
+
+EXPORT_C void CIrHeader::ExternalizeL(RMsvWriteStream& aWriteStream) const
+/**
+ * Externaliser. Writes data out to aWriteStream. Calls BaseExternalizeL() to write out
+ * the base data first.
+ * @param aWriteStream Stream to write data to
+ * @leave KErrXXX Standard SymbianOS stream leave codes
+ */
+ {
+ BaseExternalizeL(aWriteStream);
+
+ //TBuf16
+ ObexInternalUtils::ExternalizeL(iIrProtocolInfo.iTransport, aWriteStream);
+
+ //TBuf8
+ ObexInternalUtils::ExternalizeL(iIrProtocolInfo.iClassName, aWriteStream);
+ ObexInternalUtils::ExternalizeL(iIrProtocolInfo.iAttributeName, aWriteStream);
+ ObexInternalUtils::ExternalizeL(iIrProtocolInfo.iAddr, aWriteStream);
+ }
+
+
+EXPORT_C void CIrHeader::InternalizeL(RMsvReadStream& aReadStream)
+/**
+ * Internaliser. Reads data in from aReadStream. Calls BaseInternalizeL() to read in the base
+ * data first.
+ * @param aReadStream Stream to read data in from
+ * @leave KErrXXX Standard SymbianOS stream leave codes
+ */
+ {
+ BaseInternalizeL(aReadStream);
+
+ //TBuf16
+ ObexInternalUtils::InternalizeL(iIrProtocolInfo.iTransport, aReadStream);
+
+ //TBuf8
+ ObexInternalUtils::InternalizeL(iIrProtocolInfo.iClassName, aReadStream);
+ ObexInternalUtils::InternalizeL(iIrProtocolInfo.iAttributeName, aReadStream);
+ ObexInternalUtils::InternalizeL(iIrProtocolInfo.iAddr, aReadStream);
+ }
+
+
+EXPORT_C void CIrHeader::SetAddrL(const TDesC8& aAddr)
+/**
+ * Set the IR address of the recipient
+ *
+ * @param aAddr the address of the recipient (NB: only one recipient is currently supported)
+ * @leave KErrXXX system-wide leave codes if assignment fails
+ */
+ {
+ iIrProtocolInfo.iAddr.Copy(aAddr);
+ }
+
+EXPORT_C TPtrC8 CIrHeader::Addr() const
+/**
+ * Get the IR address of the recipient
+ *
+ * @return The address of the recipient (NB: only one recipient is currently supported)
+ */
+ {
+ return iIrProtocolInfo.iAddr;
+ }
+
+EXPORT_C const TObexIrProtocolInfo& CIrHeader::IrProtocolInfo() const
+/**
+ * Get the IR protocol info of the recipient
+ *
+ * @return The protocol info of the recipient (NB: only one recipient is currently supported)
+ */
+ {
+ return iIrProtocolInfo;
+ }