diff -r 33a5d2bbf6fc -r 73a1feb507fb mmsharing/livecommsui/lcui/tsrc/mustester/Stubs/sipclientstub/src/CSIPRequestElements.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmsharing/livecommsui/lcui/tsrc/mustester/Stubs/sipclientstub/src/CSIPRequestElements.cpp Tue Aug 31 15:12:07 2010 +0300 @@ -0,0 +1,237 @@ +/* +* Copyright (c) 2007 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 "siprequestelements.h" +#include "sipmessageelements.h" +#include "sipfromheader.h" +#include "siptoheader.h" +#include "sipstrings.h" +#include "sipstrconsts.h" +#include "_sipcodecdefs.h" + + +// ----------------------------------------------------------------------------- +// CSIPRequestElements::NewL +// ----------------------------------------------------------------------------- +// +EXPORT_C CSIPRequestElements* CSIPRequestElements::NewL(CUri8* aRemoteUri) + { + CSIPRequestElements* self = CSIPRequestElements::NewLC(aRemoteUri); + CleanupStack::Pop (self); + return self; + } + +// ----------------------------------------------------------------------------- +// CSIPRequestElements::NewLC +// ----------------------------------------------------------------------------- +// +EXPORT_C CSIPRequestElements* CSIPRequestElements::NewLC(CUri8* aRemoteUri) + { + CSIPRequestElements* self = new(ELeave)CSIPRequestElements; + CleanupStack::PushL (self); + self->ConstructL (aRemoteUri); + return self; + } + +// ----------------------------------------------------------------------------- +// CSIPRequestElements::CSIPRequestElements +// ----------------------------------------------------------------------------- +// +CSIPRequestElements::CSIPRequestElements() + { + } + +// ----------------------------------------------------------------------------- +// CSIPRequestElements::ConstructL +// ----------------------------------------------------------------------------- +// +void CSIPRequestElements::ConstructL(CUri8* aRemoteUri) + { + __ASSERT_ALWAYS (aRemoteUri != 0, User::Leave(KErrArgument)); + + iMessageElements = CSIPMessageElements::NewL(); + SetRemoteUriL(aRemoteUri); + } + +// ----------------------------------------------------------------------------- +// CSIPRequestElements::~CSIPRequestElements +// ----------------------------------------------------------------------------- +// +EXPORT_C CSIPRequestElements::~CSIPRequestElements() + { + delete iRemoteURI; + iMethod.Close(); + delete iMessageElements; + } + +// ----------------------------------------------------------------------------- +// CSIPRequestElements::SetToHeaderL +// ----------------------------------------------------------------------------- +// +EXPORT_C void CSIPRequestElements::SetToHeaderL(CSIPToHeader* aTo) + { + iMessageElements->SetToL(aTo); + } + +// ----------------------------------------------------------------------------- +// CSIPRequestElements::ToHeader +// ----------------------------------------------------------------------------- +// +EXPORT_C const CSIPToHeader* CSIPRequestElements::ToHeader() const + { + return iMessageElements->To(); + } + +// ----------------------------------------------------------------------------- +// CSIPRequestElements::SetFromHeaderL +// ----------------------------------------------------------------------------- +// +EXPORT_C void CSIPRequestElements::SetFromHeaderL(CSIPFromHeader* aFrom) + { + iMessageElements->SetFromL(aFrom); + } + +// ----------------------------------------------------------------------------- +// CSIPRequestElements::FromHeader +// ----------------------------------------------------------------------------- +// +EXPORT_C const CSIPFromHeader* CSIPRequestElements::FromHeader() const + { + return iMessageElements->From(); + } + +// ----------------------------------------------------------------------------- +// CSIPRequestElements::CSeqHeader +// ----------------------------------------------------------------------------- +// +EXPORT_C const CSIPCSeqHeader* CSIPRequestElements::CSeqHeader() const + { + return iMessageElements->CSeq(); + } + +// ----------------------------------------------------------------------------- +// CSIPRequestElements::SetRemoteURIL +// ----------------------------------------------------------------------------- +// +EXPORT_C void CSIPRequestElements::SetRemoteUriL(CUri8* aRemoteUri) + { + __ASSERT_ALWAYS (aRemoteUri != 0, User::Leave(KErrArgument)); + + delete iRemoteURI; + iRemoteURI = aRemoteUri; + } + +// ----------------------------------------------------------------------------- +// CSIPRequestElements::RemoteURI +// ----------------------------------------------------------------------------- +// +EXPORT_C const CUri8& CSIPRequestElements::RemoteUri() const + { + return *(iRemoteURI); + } + +// ----------------------------------------------------------------------------- +// CSIPRequestElements::SetMethodL +// ----------------------------------------------------------------------------- +// +EXPORT_C void CSIPRequestElements::SetMethodL(RStringF aMethod) + { + __ASSERT_ALWAYS (aMethod.DesC().Length() > 0, User::Leave(KErrArgument)); + + iMethod.Close(); + iMethod = aMethod.Copy(); + } + +// ----------------------------------------------------------------------------- +// CSIPRequestElements::Method +// ----------------------------------------------------------------------------- +// +EXPORT_C RStringF CSIPRequestElements::Method() const + { + return iMethod; + } + +// ----------------------------------------------------------------------------- +// CSIPRequestElements::MessageElements +// ----------------------------------------------------------------------------- +// +EXPORT_C const CSIPMessageElements& CSIPRequestElements::MessageElements() const + { + return *iMessageElements; + } + +// ----------------------------------------------------------------------------- +// CSIPRequestElements::MessageElements +// ----------------------------------------------------------------------------- +// +EXPORT_C CSIPMessageElements& CSIPRequestElements::MessageElements() + { + return *iMessageElements; + } + +// ----------------------------------------------------------------------------- +// CSIPRequestElements::InternalizeL +// ----------------------------------------------------------------------------- +// +CSIPRequestElements* CSIPRequestElements::InternalizeL(RReadStream& aReadStream) + { + CSIPRequestElements* self = new(ELeave)CSIPRequestElements; + CleanupStack::PushL(self); + self->DoInternalizeL(aReadStream); + CleanupStack::Pop(self); + return self; + } + +// ----------------------------------------------------------------------------- +// CSIPRequestElements::DoInternalizeL +// ----------------------------------------------------------------------------- +// +void CSIPRequestElements::DoInternalizeL(RReadStream& aReadStream) + { + // For incoming requests the method is always present +/* TUint32 methodLength = aReadStream.ReadUint32L(); + if (methodLength > 0) + { + HBufC8* methodBuf = HBufC8::NewLC(methodLength); + TPtr8 methodPtr(methodBuf->Des()); + aReadStream.ReadL(methodPtr,methodLength); + iMethod = SIPStrings::Pool().OpenFStringL(methodPtr); + CleanupStack::PopAndDestroy(methodBuf); + } + aReadStream.ReadUint8L(); // remote-URI always present + iRemoteURI = CURIContainer::InternalizeL(aReadStream); + iMessageElements = CSIPMessageElements::InternalizeL(aReadStream); +*/ } + +// ----------------------------------------------------------------------------- +// CSIPRequestElements::ExternalizeL +// ----------------------------------------------------------------------------- +// +void CSIPRequestElements::ExternalizeL(RWriteStream& aWriteStream) const + { +/* TPtrC8 method(iMethod.DesC()); + // For outgoing requests in some cases the method is filled in ServerCore + if (method.Length() > 0) + { + aWriteStream.WriteUint32L(method.Length()); + aWriteStream.WriteL(method); + } + aWriteStream.WriteUint8L(1); // remote-URI always present + iRemoteURI->ExternalizeL(aWriteStream); + iMessageElements->ExternalizeL(aWriteStream); +*/ }