diff -r 000000000000 -r 72b543305e3a messagingappbase/obexmtms/irmtm/irclient/source/irHeader.cpp --- /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 + +//system includes +#include //RReadStream, RWriteStream +#include //CMsvStore, RMsvWriteStream, RMsvReadStream +#include + +//user includes +#include + +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; + }