diff -r 81c9bee26a45 -r 3267d9ea3e98 networkprotocolmodules/common/suplrrlpasn1/src/rrlpprotocolerror.cpp --- a/networkprotocolmodules/common/suplrrlpasn1/src/rrlpprotocolerror.cpp Tue Jul 13 12:25:28 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,189 +0,0 @@ -// Copyright (c) 2008-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: -// - -/** - @file - @internalTechnology - -*/ - -#include "RRLP-Messages.h" -#include "rrlpprotocolerror.h" -#include "supldevloggermacros.h" - -/** -Static Factory Constructor -*/ -EXPORT_C CRrlpProtocolError* CRrlpProtocolError::NewL(TBool aIsOutgoing) - { - SUPLLOG(ELogP1, "CRrlpProtocolError::NewL() Begin\n"); - CRrlpProtocolError* self = new (ELeave) CRrlpProtocolError(aIsOutgoing); - CleanupStack::PushL(self); - self->ConstructL(); - SUPLLOG(ELogP1, "CRrlpProtocolError::NewL() End\n"); - CleanupStack::Pop(self); - return self; - } - - -/** -Private default constructor -*/ -CRrlpProtocolError::CRrlpProtocolError(TBool aIsOutgoing) - : CRrlpMessageBase(ERrlpProtocolError, aIsOutgoing) - { - } - - -/** -Second stage constructor -*/ -void CRrlpProtocolError::ConstructL() - { - // call base class ConstructL to create data structures. - CRrlpMessageBase::ConstructL(); - - // construct messaage specific data - // containers if this is an outgoing message - if (iIsOutgoingMessage) - { - // local reference to context object - OSCTXT* pctxt = iControl->getCtxtPtr(); - - iData->component.t = T_RRLP_Component_protocolError; - iData->component.u.protocolError = (ASN1T_ProtocolError*)rtxMemAllocZ(pctxt, sizeof(ASN1T_ProtocolError)); - LeaveIfAllocErrorL(); - } - } - - -/** -Destructor -*/ -CRrlpProtocolError::~CRrlpProtocolError() - { - SUPLLOG(ELogP1, "CRrlpProtocolError::~CRrlpProtocolError() Begin\n"); - SUPLLOG(ELogP1, "CRrlpProtocolError::~CRrlpProtocolError() End\n"); - } - - -/** -SetProtocolError() - -@param aErrorCode - the outgoing RRLP Protocol error code -@return error indication, KErrNone otherwise -*/ -EXPORT_C TInt CRrlpProtocolError::SetProtocolError(const TRrlpErrorCode& aErrorCode) - { - SUPLLOG(ELogP8, "CRrlpProtocolError::SetProtocolError() Begin\n"); - SUPLLOG2(ELogP8, " - TRrlpErrorCode aLocError = %d", aErrorCode); - - __ASSERT_DEBUG(iIsOutgoingMessage, User::Invariant()); - __ASSERT_DEBUG(iData->component.u.protocolError != NULL, User::Invariant()); - - iData->component.u.protocolError->errorCause = aErrorCode; - - SUPLLOG(ELogP1, "CRrlpProtocolError::SetProtocolError() End\n"); - return KErrNone; - } - - -/** -ProtocolError() - -@param aErrorCode on return, populated with the received RRLP Error Code -@return error indication, KErrNone otherwise -*/ -EXPORT_C TInt CRrlpProtocolError::GetProtocolError(TRrlpErrorCode& aErrorCode) - { - SUPLLOG(ELogP8, "CRrlpProtocolError::ProtocolError() Begin\n"); - __ASSERT_DEBUG(!iIsOutgoingMessage, User::Invariant()); - __ASSERT_DEBUG(iData->component.u.protocolError != NULL, User::Invariant()); - - aErrorCode = (TRrlpErrorCode)iData->component.u.protocolError->errorCause; - - SUPLLOG2(ELogP8, " - TRrlpErrorCode aLocError = %d", aErrorCode); - SUPLLOG(ELogP1, "CRrlpProtocolError::ProtocolError() End\n"); - return KErrNone; - } - - -/** -GetExtendedReference() - -Populates aRrlpRef if Rel-5 Extended Reference is present in the received message - -@param aRrlpRef local copy of the session reference details -@return KErrNotFound if the extended reference parameters are not present, - KErrNone otherwise -*/ -TInt CRrlpProtocolError::GetExtendedReference(TRrlpReference& aRrlpRef) - { - __ASSERT_DEBUG(iData->component.u.protocolError != NULL, User::Invariant()); - - if (iData->component.u.protocolError->m.rel_5_ProtocolError_ExtensionPresent !=0) - { - if (iData->component.u.protocolError->rel_5_ProtocolError_Extension.m.extended_referencePresent !=0) - { - aRrlpRef.aRel5EntendedRefPresent = ETrue; - aRrlpRef.aRel5SmlcCode = iData->component.u.protocolError->rel_5_ProtocolError_Extension.extended_reference.smlc_code; - aRrlpRef.aRel5TransactionId = iData->component.u.protocolError->rel_5_ProtocolError_Extension.extended_reference.transaction_ID; - } - else - { - return KErrNotFound; - } - } - else - { - return KErrNotFound; - } - return KErrNone; - } - - -/** -SetExtendedReference() - -Sets the extended reference parameters in the outgoing message, if they are set -in the passed container. - -@param aRrlpRef on return, populated with the session reference details -@return KErrNotFound if no extended reference data is present, - KErrNone otherwise -*/ -TInt CRrlpProtocolError::SetExtendedReference(const TRrlpReference& aRrlpRef) - { - __ASSERT_DEBUG(iData->component.u.protocolError != NULL, User::Invariant()); - - // if present, populate the optional Rel-5 extended reference - if (aRrlpRef.aRel5EntendedRefPresent) - { - // mark the optional component present - iData->component.u.protocolError->m.rel_5_ProtocolError_ExtensionPresent = 1; - iData->component.u.protocolError->rel_5_ProtocolError_Extension.m.extended_referencePresent = 1; - ASN1T_Extended_reference* extendedRef = &iData->component.u.protocolError->rel_5_ProtocolError_Extension.extended_reference; - extendedRef->smlc_code = aRrlpRef.aRel5SmlcCode; - extendedRef->transaction_ID = aRrlpRef.aRel5TransactionId; - } - else - { - return KErrNotFound; - } - - return KErrNone; - } - -