First Contribution. Vanilla as it came from Nokia
/*
* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "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 FILES
#include "cmmpacketmesshandlercontextlist.h"
#include "cmmpacketservicemesshandler.h"
#include <gpdsisi.h>
#include "tsylogger.h"
#include "osttracedefinitions.h"
#ifdef OST_TRACE_COMPILER_IN_USE
#include "cmmpacketmesshandlercontextlisttraces.h"
#endif
// EXTERNAL DATA STRUCTURES
//None
// EXTERNAL FUNCTION PROTOTYPES
//None
// CONSTANTS
//None
// MACROS
//None
// LOCAL CONSTANTS AND MACROS
//None
// MODULE DATA STRUCTURES
//None
// LOCAL FUNCTION PROTOTYPES
//None
// FORWARD DECLARATIONS
//None
// ============================= LOCAL FUNCTIONS ===============================
//None
// ============================ MEMBER FUNCTIONS ===============================
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::CMmPacketContextMesshandlerList
// C++ default constructor can NOT contain any code, that might leave.
// -----------------------------------------------------------------------------
//
CMmPacketContextMesshandlerList::CMmPacketContextMesshandlerList()
{
TFLOGSTRING("TSY: CMmPacketContextMesshandlerList::CMmPacketContextMesshandlerList");
OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_CMMPACKETCONTEXTMESSHANDLERLIST, "CMmPacketContextMesshandlerList::CMmPacketContextMesshandlerList" );
//None
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::NewL
// Two-phased constructor.
// -----------------------------------------------------------------------------
//
CMmPacketContextMesshandlerList* CMmPacketContextMesshandlerList::NewL()
{
TFLOGSTRING("TSY: CMmPacketContextMesshandlerList::NewL");
OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_NEWL, "CMmPacketContextMesshandlerList::NewL" );
CMmPacketContextMesshandlerList* const contextList =
new ( ELeave ) CMmPacketContextMesshandlerList();
CleanupStack::PushL( contextList );
contextList->ConstructL();
CleanupStack::Pop( contextList );
return contextList;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::ConstructL
// Symbian 2nd phase constructor can leave.
// -----------------------------------------------------------------------------
//
void CMmPacketContextMesshandlerList::ConstructL()
{
TFLOGSTRING("TSY: CMmPacketContextMesshandlerList::ConstructL");
OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_CONSTRUCTL, "CMmPacketContextMesshandlerList::ConstructL" );
InitAttributesAndLists();
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::InitAttributesAndLists
// Initialize used lists and attributes.
// -----------------------------------------------------------------------------
//
void CMmPacketContextMesshandlerList::InitAttributesAndLists()
{
TFLOGSTRING("TSY: CMmPacketContextMesshandlerList::InitAttributesAndLists");
OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_INITATTRIBUTESANDLISTS, "CMmPacketContextMesshandlerList::InitAttributesAndLists" );
// A list for defined proxy ids ( see IscNokiaDefinitions.h )
// Max number of supported contexts is limited to be 11
// Get defined proxy ids
const TUint8 definedProxyIds[KMmMaxNumberOfContexts] = {
KMmPacketContextProxy1_DOS, KMmPacketContextProxy2_DOS,
KMmPacketContextProxy3_DOS, KMmPacketContextProxy4_DOS,
KMmPacketContextProxy5_DOS, KMmPacketContextProxy6_DOS,
KMmPacketContextProxy7_DOS, KMmPacketContextProxy8_DOS,
KMmPacketContextProxy9_DOS, KMmPacketContextProxy10_DOS,
KMmPacketContextProxy11_DOS };
for ( TInt i = 0; i < KMmMaxNumberOfContexts; i++ )
{
iProxyIdList[i].iChannelId = definedProxyIds[i];
// Mark proxy id free
iProxyIdList[i].iIsFree = ETrue;
// Initialize context info list
iContextInfoArray[i].iContextId = GPDS_CID_VOID;
iContextInfoArray[i].iChannelId = KTUint8NotDefined;
iContextInfoArray[i].iContextName.Zero();
iContextInfoArray[i].iHostContextName.Zero();
iContextInfoArray[i].iPipeStatus = PN_PIPE_DISABLE;
iContextInfoArray[i].iPipeHandle = KInvalidPipeHandle;
iContextInfoArray[i].iCreateContextIdTransId = KTUint8NotDefined;
iContextInfoArray[i].iPipeCreateTransId = KTUint8NotDefined;
iContextInfoArray[i].iContextType = GPDS_CONT_TYPE_NORMAL ;
iContextInfoArray[i].iInitialiseStarted = EFalse;
iContextInfoArray[i].iContextConfigurationType = KTIntNotDefined;
iContextInfoArray[i].iActivationTraId = KTUint8NotDefined;
iContextInfoArray[i].iPipeResetTraId = KTUint8NotDefined;
iContextInfoArray[i].iDeleteTraId = KTUint8NotDefined;
iContextInfoArray[i].iChannelOpened = EFalse;
}
iNumberOfCreatedContexts = 0;
iDialUpContextId = GPDS_CID_VOID;
iDialUpContextName.Zero();
iSecondaryDialUpContextId = GPDS_CID_VOID;
iSecondaryDialUpContextName.Zero();
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::~CMmPacketContextMesshandlerList
// Destructor, deletes all allocated resources.
// -----------------------------------------------------------------------------
//
CMmPacketContextMesshandlerList::~CMmPacketContextMesshandlerList()
{
TFLOGSTRING("TSY: CMmPacketContextMesshandlerList::~CMmPacketContextMesshandlerList" );
OstTrace0( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLERLIST_CMMPACKETCONTEXTMESSHANDLERLIST, "CMmPacketContextMesshandlerList::~CMmPacketContextMesshandlerList" );
for ( TInt i = 0; i < iNumberOfCreatedContexts; i++ )
{
iContextInfoArray[i].iIscApi.Close();
}
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::AddObject
// Adds new context info to the info list.
// Sets used proxy id reserved in proxy id list.
// -----------------------------------------------------------------------------
//
TInt CMmPacketContextMesshandlerList::AddObject(
const TInt aObjectId,
const TUint8 aChannelId,
const TInfoName& aContextName,
const TInfoName& aHostContextName )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::AddObject. Object Id: %d", aObjectId );
OstTrace1( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_ADDOBJECT, "CMmPacketContextMesshandlerList::AddObject;aObjectId=%d", aObjectId );
TInt ret( KErrArgument );
if( 0 != aContextName.Compare( KStringExternal ) ||
0 != aContextName.Compare( KStringExternal2 ) )
{
if ( KMmMaxNumberOfContexts > iNumberOfCreatedContexts )
{
// Find given proxy id from proxy id list
for ( TInt i = 0; i < KMmMaxNumberOfContexts; i++ )
{
if ( ( aChannelId == iProxyIdList[i].iChannelId ) &&
iProxyIdList[i].iIsFree )
{
iContextInfoArray[iNumberOfCreatedContexts].iChannelId =
aChannelId;
iContextInfoArray[iNumberOfCreatedContexts].iContextName =
aContextName;
iContextInfoArray[iNumberOfCreatedContexts].iHostContextName =
aHostContextName;
iContextInfoArray[iNumberOfCreatedContexts].iObjectId =
aObjectId;
// Set proxy id reserved
iProxyIdList[i].iIsFree = EFalse;
// Increase number of created contexts
iNumberOfCreatedContexts++;
// proxy id found, break
i = KMmMaxNumberOfContexts;
ret = KErrNone;
}
// no else
}
}
// no else
}
// no else
return ret;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::RemoveObject
// Removes context info from the info list.
// Sets used proxy id released in proxy id list.
// -----------------------------------------------------------------------------
//
TInt CMmPacketContextMesshandlerList::RemoveObject(
TUint8 aContextId )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::RemoveObject. Context Id: %d", aContextId );
OstTraceExt1( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_REMOVEOBJECT, "CMmPacketContextMesshandlerList::RemoveObject;aContextId=%hhu", aContextId );
// Set ret to KErrArgument to check that context is in list
TInt ret( KErrArgument );
for ( TInt i = 0; i < iNumberOfCreatedContexts; i++ )
{
// Find aContext from context info list
if ( aContextId == iContextInfoArray[i].iContextId )
{
for ( TInt j = 0; j < KMmMaxNumberOfContexts; j++ )
{
if ( ( iContextInfoArray[i].iChannelId ==
iProxyIdList[j].iChannelId ) &&
( EFalse == iProxyIdList[j].iIsFree ) )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::RemoveObject. Context Name: %S", &iContextInfoArray[i].iContextName );
OstTraceExt1( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLERLIST_REMOVEOBJECT, "CMmPacketContextMesshandlerList::RemoveObject;Context Name=%S", iContextInfoArray[i].iContextName );
// Release Proxy id
iProxyIdList[j].iIsFree = ETrue;
// Get index to last reserved cell in the list
const TInt lastContext( iNumberOfCreatedContexts - 1 );
// If not already last object
if ( i < lastContext )
{
// Replace object to be remove by last object
iContextInfoArray[i].iContextId =
iContextInfoArray[lastContext].iContextId;
iContextInfoArray[i].iChannelId =
iContextInfoArray[lastContext].iChannelId;
iContextInfoArray[i].iContextName =
iContextInfoArray[lastContext].iContextName;
iContextInfoArray[i].iHostContextName =
iContextInfoArray[lastContext].iHostContextName;
iContextInfoArray[i].iPipeStatus =
iContextInfoArray[lastContext].iPipeStatus;
iContextInfoArray[i].iPipeHandle =
iContextInfoArray[lastContext].iPipeHandle;
iContextInfoArray[i].iCreateContextIdTransId =
iContextInfoArray[lastContext].iCreateContextIdTransId;
iContextInfoArray[i].iPipeCreateTransId =
iContextInfoArray[lastContext].iPipeCreateTransId;
iContextInfoArray[i].iContextType =
iContextInfoArray[lastContext].iContextType;
iContextInfoArray[i].iInitialiseStarted =
iContextInfoArray[lastContext].iInitialiseStarted;
iContextInfoArray[i].iContextConfigurationType =
iContextInfoArray[lastContext].iContextConfigurationType;
iContextInfoArray[i].iActivationTraId =
iContextInfoArray[lastContext].iActivationTraId;
iContextInfoArray[i].iPipeResetTraId =
iContextInfoArray[lastContext].iPipeResetTraId;
iContextInfoArray[i].iDeleteTraId =
iContextInfoArray[lastContext].iDeleteTraId;
}
// no else
// Reset object information of the last object
iContextInfoArray[lastContext].iChannelId =
KTUint8NotDefined;
iContextInfoArray[lastContext].iContextName.Zero();
iContextInfoArray[lastContext].iContextId = GPDS_CID_VOID;
iContextInfoArray[lastContext].iHostContextName.Zero();
iContextInfoArray[lastContext].iPipeStatus =
PN_PIPE_DISABLE;
iContextInfoArray[lastContext].iPipeHandle =
KInvalidPipeHandle;
iContextInfoArray[lastContext].iCreateContextIdTransId =
KTUint8NotDefined;
iContextInfoArray[lastContext].iPipeCreateTransId =
KTUint8NotDefined;
iContextInfoArray[lastContext].iContextType =
GPDS_CONT_TYPE_NORMAL;
iContextInfoArray[lastContext].iInitialiseStarted = EFalse;
iContextInfoArray[lastContext].iContextConfigurationType =
KTIntNotDefined;
iContextInfoArray[lastContext].iActivationTraId =
KTUint8NotDefined;
iContextInfoArray[lastContext].iPipeResetTraId =
KTUint8NotDefined;
iContextInfoArray[lastContext].iDeleteTraId =
KTUint8NotDefined;
// Decrease number of created contexts
iNumberOfCreatedContexts--;
// Proxy id found, break
j = KMmMaxNumberOfContexts;
}
// no else
}
// aContext found, break
i = iNumberOfCreatedContexts;
}
// no else
}
return ret;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::NumberOfContexts
// This function returns the number of created contexts.
// -----------------------------------------------------------------------------
//
TInt CMmPacketContextMesshandlerList::NumberOfContexts() const
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::NumberOfContexts, %d", iNumberOfCreatedContexts );
OstTrace1( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_NUMBEROFCONTEXTS, "CMmPacketContextMesshandlerList::NumberOfContexts;iNumberOfCreatedContexts=%d", iNumberOfCreatedContexts );
return iNumberOfCreatedContexts;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::GenerateNewContextNameAndProxyId
// Generates new proxy id.
// -----------------------------------------------------------------------------
//
TInt CMmPacketContextMesshandlerList::GenerateProxyId(
TUint8& aProxyId )
{
TFLOGSTRING("TSY: CMmPacketContextMesshandlerList::GenerateProxyId");
OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_GENERATEPROXYID, "CMmPacketContextMesshandlerList::GenerateProxyId" );
TInt ret( KErrOverflow );
// Find first free proxy id from the list
for ( TInt i = 0; i < KMmMaxNumberOfContexts; i++ )
{
if ( iProxyIdList[i].iIsFree )
{
aProxyId = iProxyIdList[i].iChannelId;
// Proxy id selected, set ret to KErrNone
ret = KErrNone;
// Free proxy id found, break
i = KMmMaxNumberOfContexts;
}
// no else
}
return ret;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::SetContextId
// Sets context id to the context info list.
// -----------------------------------------------------------------------------
//
TInt CMmPacketContextMesshandlerList::SetContextId(
const TUint8 aContextId,
const TUint8 aTransactionId )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::SetContextId. ContextId: %d", aContextId );
OstTraceExt1( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_SETCONTEXTID, "CMmPacketContextMesshandlerList::SetContextId;aContextId=%hhu", aContextId );
TInt ret( KErrNotFound );
for ( TInt i = 0; i < iNumberOfCreatedContexts; i++ )
{
// Find object from the list
if ( aTransactionId == iContextInfoArray[i].iCreateContextIdTransId )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::SetContextId. ContextName: %S", &iContextInfoArray[i].iContextName );
OstTraceExt1( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLERLIST_SETCONTEXTID, "CMmPacketContextMesshandlerList::SetContextId;ContextName=%S", iContextInfoArray[i].iContextName );
// Set context id to the context info list
iContextInfoArray[i].iContextId = aContextId;
// Object found, return KErrNone
ret = KErrNone;
}
// no else
}
// Object not found, return KErrNotFound
return ret;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::GetContextNameByContextId
// This function returns context name by context id.
// -----------------------------------------------------------------------------
//
TInt CMmPacketContextMesshandlerList::GetContextNameByContextId(
const TUint8 aContextId,
TInfoName& aContextName )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::GetContextNameByContextId. ContextId: %d", aContextId );
OstTraceExt1( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_GETCONTEXTNAMEBYCONTEXTID, "CMmPacketContextMesshandlerList::GetContextNameByContextId;aContextId=%hhu", aContextId );
TInt ret( KErrArgument );
for ( TInt i = 0; i < iNumberOfCreatedContexts; i++ )
{
// Find object from the list
if ( aContextId == iContextInfoArray[i].iContextId )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::GetContextNameByContextId. ContextName: %S", &iContextInfoArray[i].iContextName );
OstTraceExt1( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLERLIST_GETCONTEXTNAMEBYCONTEXTID, "CMmPacketContextMesshandlerList::GetContextNameByContextId;ContextName=%S", iContextInfoArray[i].iContextName );
// Set context name to aName
aContextName = iContextInfoArray[i].iContextName;
// Context id found, return KErrNone
ret = KErrNone;
i = iNumberOfCreatedContexts;
}
// no else
}
// Context id not found, return KErrArgument
return ret;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::PipeHandleByContextName
// This function returns pipehandle by context name.
// -----------------------------------------------------------------------------
//
TUint8 CMmPacketContextMesshandlerList::PipeHandleByContextName(
const TInfoName* aContextName )
{
TFLOGSTRING("TSY: CMmPacketContextMesshandlerList::PipeHandleByContextName");
OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_PIPEHANDLEBYCONTEXTNAME, "CMmPacketContextMesshandlerList::PipeHandleByContextName" );
TUint8 pipeHandle( KInvalidPipeHandle );
// Find context pipehandle from context info list
for ( TInt i = 0; i < iNumberOfCreatedContexts; i++ )
{
if ( *aContextName == iContextInfoArray[i].iContextName )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::PipeHandleByContextName, PipeHandle: %d", iContextInfoArray[i].iPipeHandle );
OstTrace1( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLERLIST_PIPEHANDLEBYCONTEXTNAME, "CMmPacketContextMesshandlerList::PipeHandleByContextName;PipeHandle=%d", iContextInfoArray[i].iPipeHandle );
// Return object from the context info list
pipeHandle = iContextInfoArray[i].iPipeHandle;
}
// no else
}
// Valid values to return are, 0x00, 0x01, 0xFF = KInvalidPipeHandle
return pipeHandle;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::ProxyIdByContextName
// This function returns proxy id by context name.
// -----------------------------------------------------------------------------
//
TUint8 CMmPacketContextMesshandlerList::ProxyIdByContextName(
const TInfoName* aContextName )
{
TFLOGSTRING("TSY: CMmPacketContextMesshandlerList::ProxyIdByContextName");
OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_PROXYIDBYCONTEXTNAME, "CMmPacketContextMesshandlerList::ProxyIdByContextName" );
TUint8 proxyId( KTUint8NotDefined );
// Find context proxyId from context info list
for ( TInt i = 0; i < iNumberOfCreatedContexts; i++ )
{
if ( *aContextName == iContextInfoArray[i].iContextName )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::ProxyIdByContextName, ProxyId: %d", iContextInfoArray[i].iChannelId );
OstTrace1( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLERLIST_PROXYIDBYCONTEXTNAME, "CMmPacketContextMesshandlerList::ProxyIdByContextName;ProxyId=%d", iContextInfoArray[i].iChannelId );
proxyId = iContextInfoArray[i].iChannelId;
}
// no else
}
// Valid values to return are, 0x00, 0x01, 0xFF = Not defined
return proxyId;
}
TUint8 CMmPacketContextMesshandlerList::ProxyIdByPipeHandle(
TUint8 aPipeHandle
)
{
TFLOGSTRING2("TSY CMmPacketContextMesshandlerList::ProxyIdByPipeHandle 0x%x>", aPipeHandle );
OstTraceExt1( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_PROXYIDBYPIPEHANDLE, "CMmPacketContextMesshandlerList::ProxyIdByPipeHandle;aPipeHandle=%hhx", aPipeHandle );
TUint8 proxyId( KTUint8NotDefined );
// Find context proxyId from context info list
for ( TInt i = 0; i < iNumberOfCreatedContexts; i++ )
{
if ( aPipeHandle == iContextInfoArray[i].iPipeHandle )
{
TFLOGSTRING3("TSY CMmPacketContextMesshandlerList::ProxyIdByPipeHandle found 0x%x for pipehandle 0x%x", proxyId, aPipeHandle );
OstTraceExt2( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLERLIST_PROXYIDBYPIPEHANDLE, "CMmPacketContextMesshandlerList::ProxyIdByPipeHandle;proxyId=%hhx;aPipeHandle=%hhx", proxyId, aPipeHandle );
proxyId = iContextInfoArray[i].iChannelId;
i = iNumberOfCreatedContexts;
}
// no else
}
// Valid values to return are, 0x00, 0x01, 0xFF = Not defined
return proxyId;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::OpenChannel
// Opens channel with the specified id.
// -----------------------------------------------------------------------------
//
TInt CMmPacketContextMesshandlerList::OpenChannel( TUint8 aChannelId )
{
TFLOGSTRING2("TSY: MmPacketContextMesshandlerList::OpenChannel;aChannelId=%x", aChannelId);
OstTraceExt1( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_OPENCHANNEL, "CMmPacketContextMesshandlerList::OpenChannel;aChannelId=%hhu", aChannelId );
TInt ret( KErrNotReady );
for ( TInt i = 0; i < iNumberOfCreatedContexts; i++)
{
if ( aChannelId == iContextInfoArray[i].iChannelId )
{
if ( !iContextInfoArray[i].iChannelOpened )
{
TRequestStatus status( KRequestPending );
iContextInfoArray[i].iIscApi.Open( aChannelId, status );
User::WaitForRequest( status );
ret = status.Int();
if ( KErrNone == ret )
{
iContextInfoArray[i].iChannelOpened = ETrue;
}
}
else
{
ret = KErrAlreadyExists;
}
i = iNumberOfCreatedContexts;
}
}
return ret;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::CloseChannel
// Closes channel with the specified id.
// -----------------------------------------------------------------------------
//
TInt CMmPacketContextMesshandlerList::CloseChannel( TUint8 aChannelId )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::CloseChannel;aChannelId=%x", aChannelId);
OstTraceExt1( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_CLOSECHANNEL, "CMmPacketContextMesshandlerList::CloseChannel;aChannelId=%hhu", aChannelId );
TInt ret( KErrNotFound );
for ( TInt i = 0; i < iNumberOfCreatedContexts; i++ )
{
if ( aChannelId == iContextInfoArray[i].iChannelId )
{
// closing of closed channel is OK
iContextInfoArray[i].iIscApi.Close();
ret = KErrNone;
iContextInfoArray[i].iChannelOpened = EFalse;
i = iNumberOfCreatedContexts;
}
}
return ret;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::ContextNameByProxyId
// This function returns context name by proxy id.
// -----------------------------------------------------------------------------
//
TInt CMmPacketContextMesshandlerList::ContextNameByProxyId(
const TUint8 aProxyId,
TInfoName& aContextName )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::ContextNameByProxyId. ProxyId: %d", aProxyId );
OstTraceExt1( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_CONTEXTNAMEBYPROXYID, "CMmPacketContextMesshandlerList::ContextNameByProxyId;aProxyId=%hhu", aProxyId );
TInt ret( KErrArgument );
for ( TInt i = 0; i < iNumberOfCreatedContexts; i++ )
{
if ( aProxyId == iContextInfoArray[i].iChannelId )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::ContextNameByProxyId. ContextName: %S", &iContextInfoArray[i].iContextName );
OstTraceExt1( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLERLIST_CONTEXTNAMEBYPROXYID, "CMmPacketContextMesshandlerList::ContextNameByProxyId;ContextName=%S", iContextInfoArray[i].iContextName );
// Set context name to aName
aContextName = iContextInfoArray[i].iContextName;
// Context id found, return KErrNone
ret = KErrNone;
i = iNumberOfCreatedContexts;
}
// no else
}
return ret;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::GetContextTypeByName
// This function returns context type by context name.
// -----------------------------------------------------------------------------
//
TUint8 CMmPacketContextMesshandlerList::GetContextTypeByName(
const TInfoName* const aContextName )
{
TFLOGSTRING("TSY: CMmPacketContextMesshandlerList::GetContextTypeByName");
OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_GETCONTEXTTYPEBYNAME, "CMmPacketContextMesshandlerList::GetContextTypeByName" );
TUint8 ret( GPDS_CONT_TYPE_NORMAL );
// Find context proxyId from context info list
for ( TInt i = 0; i < iNumberOfCreatedContexts; i++ )
{
if ( *aContextName == iContextInfoArray[i].iContextName )
{
// Return object from the context info list
// return iContextInfoArray[i].iContextType;
if( 0 != iContextInfoArray[i].iHostContextName.Length() )
{
ret = GPDS_CONT_TYPE_SEC;
}
// no else
TFLOGSTRING3("TSY: CMmPacketContextMesshandlerList::GetContextTypeByName. ContextName: %S, ContextType: %d", &iContextInfoArray[i].iContextName, ret );
OstTraceExt2( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLERLIST_GETCONTEXTTYPEBYNAME, "CMmPacketContextMesshandlerList::GetContextTypeByName;ContextName=%S;ContextType=%hhu", iContextInfoArray[i].iContextName, ret );
}
// no else
}
return ret;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::SetCreateContextIdTransId
// Sets iCreateContextIdTransId of the specified context by context name.
// -----------------------------------------------------------------------------
//
TInt CMmPacketContextMesshandlerList::SetCreateContextIdTransId(
const TUint8 aTransactionId,
const TInfoName* aContextName )
{
TFLOGSTRING("TSY: CMmPacketContextMesshandlerList::SetCreateContextIdTransId");
OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_SETCREATECONTEXTIDTRANSID, "CMmPacketContextMesshandlerList::SetCreateContextIdTransId" );
TInt ret( KErrNotFound );
// Find context proxyId from context info list
for ( TInt i = 0; i < iNumberOfCreatedContexts; i++ )
{
if ( *aContextName == iContextInfoArray[i].iContextName )
{
TFLOGSTRING3("TSY: CMmPacketContextMesshandlerList::SetCreateContextIdTransId. ContextName: %S, IdTransId: %d", &iContextInfoArray[i].iContextName, aTransactionId );
OstTraceExt2( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLERLIST_SETCREATECONTEXTIDTRANSID, "CMmPacketContextMesshandlerList::SetCreateContextIdTransId;ContextName=%S;aTransactionId=%d", iContextInfoArray[i].iContextName, aTransactionId );
// Return object from the context info list
iContextInfoArray[i].iCreateContextIdTransId = aTransactionId;
ret = KErrNone;
i = iNumberOfCreatedContexts;
}
// no else
}
return ret;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::SetPipeCreateTransId
// Sets iPipeCreateTransId of the specified context by context name.
// -----------------------------------------------------------------------------
//
TInt CMmPacketContextMesshandlerList::SetPipeCreateTransId(
const TUint8 aTransactionId,
const TInfoName* aContextName )
{
TFLOGSTRING("TSY: CMmPacketContextMesshandlerList::SetPipeCreateTransId");
OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_SETPIPECREATETRANSID, "CMmPacketContextMesshandlerList::SetPipeCreateTransId" );
TInt ret( KErrNotFound );
// Find context proxyId from context info list
for ( TInt i = 0; i < iNumberOfCreatedContexts; i++ )
{
if ( *aContextName == iContextInfoArray[i].iContextName )
{
TFLOGSTRING3("TSY: CMmPacketContextMesshandlerList::SetPipeCreateTransId. ContextName: %S, CreateTransId: %d", &iContextInfoArray[i].iContextName, aTransactionId );
OstTraceExt2( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLERLIST_SETPIPECREATETRANSID, "CMmPacketContextMesshandlerList::SetPipeCreateTransId;ContextName=%S;aTransactionId=%hhu", iContextInfoArray[i].iContextName, aTransactionId );
// Return object from the context info list
iContextInfoArray[i].iPipeCreateTransId = aTransactionId;
ret = KErrNone;
i = iNumberOfCreatedContexts;
}
// no else
}
return ret;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::SetGpdsLlConfigureTraId
// Sets iGpdsLlConfigureTraId of the specified context by context Id.
// -----------------------------------------------------------------------------
//
TInt CMmPacketContextMesshandlerList::SetGpdsLlConfigureTraId(
const TUint8 aTransactionId,
const TUint8 aContextId )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::SetGpdsLlConfigureTraId. ContextId: %d", aContextId );
OstTraceExt1( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_SETGPDSLLCONFIGURETRAID, "CMmPacketContextMesshandlerList::SetGpdsLlConfigureTraId;aContextId=%hhu", aContextId );
TInt ret( KErrNotFound );
// Find context proxyId from context info list
for ( TInt i = 0; i < iNumberOfCreatedContexts; i++ )
{
if ( aContextId == iContextInfoArray[i].iContextId )
{
TFLOGSTRING3("TSY: CMmPacketContextMesshandlerList::SetGpdsLlConfigureTraId. ContextName: %S, L1ConfigureTransId: %d", &iContextInfoArray[i].iContextName, aTransactionId );
OstTraceExt2( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLERLIST_SETGPDSLLCONFIGURETRAID, "CMmPacketContextMesshandlerList::SetGpdsLlConfigureTraId;ContextName=%S;aTransactionId=%hhu", iContextInfoArray[i].iContextName, aTransactionId );
// Return object from the context info list
iContextInfoArray[i].iGpdsLlConfigureTraId = aTransactionId;
ret = KErrNone;
i = iNumberOfCreatedContexts;
}
// no else
}
return ret;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::SetRemovePipeTraId
// Sets the iPipeRemoveTraId specified by pipe handle.
// -----------------------------------------------------------------------------
//
TInt CMmPacketContextMesshandlerList::SetRemovePipeTraId(
const TUint8 aTransactionId,
const TInt aPipeHandle )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::SetRemovePipeTraId. PipeHandle: %d", aPipeHandle );
OstTrace1( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_SETREMOVEPIPETRAID, "CMmPacketContextMesshandlerList::SetRemovePipeTraId;aPipeHandle=%d", aPipeHandle );
TInt ret( KErrNotFound );
// Find context proxyId from context info list
for ( TInt i = 0; i < iNumberOfCreatedContexts; i++ )
{
if ( aPipeHandle == iContextInfoArray[i].iPipeHandle )
{
TFLOGSTRING3("TSY: CMmPacketContextMesshandlerList::SetRemovePipeTraId. ContextName: %S, RemovePipeTraId: %d", &iContextInfoArray[i].iContextName, aTransactionId );
OstTraceExt2( TRACE_NORMAL, DUP2_CMMPACKETCONTEXTMESSHANDLERLIST_SETREMOVEPIPETRAID, "CMmPacketContextMesshandlerList::SetRemovePipeTraId;ContextName=%S;aTransactionId=%hhu", iContextInfoArray[i].iContextName, aTransactionId );
// Return object from the context info list
iContextInfoArray[i].iRemovePipeTraId = aTransactionId;
ret = KErrNone;
i = iNumberOfCreatedContexts;
}
// no else
}
return ret;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::SetActivationTraId
// Sets the iActivationTraId specified by context id.
// -----------------------------------------------------------------------------
//
TInt CMmPacketContextMesshandlerList::SetActivationTraId(
const TUint8 aContextId,
const TUint8 aTransactionId )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::SetActivationTraId. ContextId: %d", aContextId );
OstTraceExt1( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_SETACTIVATIONTRAID, "CMmPacketContextMesshandlerList::SetActivationTraId;aContextId=%hhu", aContextId );
TInt ret( KErrNotFound );
// Find context proxyId from context info list
for ( TInt i = 0; i < iNumberOfCreatedContexts; i++ )
{
if ( aContextId == iContextInfoArray[i].iContextId )
{
TFLOGSTRING3("TSY: CMmPacketContextMesshandlerList::SetActivationTraId. ContextName: %S, ActivationTraId: %d", &iContextInfoArray[i].iContextName, aTransactionId );
OstTraceExt2( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLERLIST_SETACTIVATIONTRAID, "CMmPacketContextMesshandlerList::SetActivationTraId;ContextName=%S;aTransactionId=%hhu", iContextInfoArray[i].iContextName, aTransactionId );
// Return object from the context info list
iContextInfoArray[i].iActivationTraId = aTransactionId;
ret = KErrNone;
i = iNumberOfCreatedContexts;
}
// no else
}
return ret;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::GetAndResetActivationTraId
// Resets the iActivationTraId and returns saved iActivationTraId
// specified by context Id.
// -----------------------------------------------------------------------------
//
TUint8 CMmPacketContextMesshandlerList::GetAndResetActivationTraId(
const TUint8 aContextId )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::GetAndResetActivationTraId. ContextId: %d", aContextId );
OstTraceExt1( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_GETANDRESETACTIVATIONTRAID, "CMmPacketContextMesshandlerList::GetAndResetActivationTraId;aContextId=%hhu", aContextId );
TUint8 transId( KTUint8NotDefined );
for ( TInt i = 0; i < iNumberOfCreatedContexts; i++ )
{
if ( aContextId == iContextInfoArray[i].iContextId )
{
// Return object from the context info list
transId = iContextInfoArray[i].iActivationTraId;
iContextInfoArray[i].iActivationTraId = KTUint8NotDefined;
TFLOGSTRING3("TSY: CMmPacketContextMesshandlerList::GetAndResetActivationTraId. ContextName: %S, ActivationTraId: %d", &iContextInfoArray[i].iContextName, transId );
OstTraceExt2( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLERLIST_GETANDRESETACTIVATIONTRAID, "CMmPacketContextMesshandlerList::GetAndResetActivationTraId;ContextName=%S;transId=%hhu", iContextInfoArray[i].iContextName, transId );
}
// no else
}
return transId;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::SetDeletionTraId
// Sets the iDeleteTraId specified by context id.
// -----------------------------------------------------------------------------
//
TInt CMmPacketContextMesshandlerList::SetDeletionTraId(
const TUint8 aContextId,
const TUint8 aTransactionId )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::SetDeletionTraId. ContextId: %d", aContextId );
OstTraceExt1( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_SETDELETIONTRAID, "CMmPacketContextMesshandlerList::SetDeletionTraId;aContextId=%hhu", aContextId );
TInt ret( KErrNotFound );
// Find context proxyId from context info list
for ( TInt i = 0; i < iNumberOfCreatedContexts; i++ )
{
if ( aContextId == iContextInfoArray[i].iContextId )
{
TFLOGSTRING3("TSY: CMmPacketContextMesshandlerList::SetDeletionTraId. ContextName: %S, DeleteTraId: %d", &iContextInfoArray[i].iContextName, aTransactionId );
OstTraceExt2( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLERLIST_SETDELETIONTRAID, "CMmPacketContextMesshandlerList::SetDeletionTraId;ContextName=%S;aTransactionId=%hhu", iContextInfoArray[i].iContextName, aTransactionId );
// Return object from the context info list
iContextInfoArray[i].iDeleteTraId= aTransactionId;
ret = KErrNone;
i = iNumberOfCreatedContexts;
}
// no else
}
return ret;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::GetAndResetDeletionTraId
// Resets the iDeleteTraId and returns saved iDeleteTraId
// specified by context Id.
// -----------------------------------------------------------------------------
//
TUint8 CMmPacketContextMesshandlerList::GetAndResetDeletionTraId(
const TUint8 aContextId )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::GetAndResetDeletionTraId. ContextId: %d", aContextId );
OstTraceExt1( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_GETANDRESETDELETIONTRAID, "CMmPacketContextMesshandlerList::GetAndResetDeletionTraId;aContextId=%hhu", aContextId );
TUint8 transId( KTUint8NotDefined );
for ( TInt i = 0; i < iNumberOfCreatedContexts; i++ )
{
if ( aContextId == iContextInfoArray[i].iContextId )
{
// Return object from the context info list
transId = iContextInfoArray[i].iDeleteTraId;
iContextInfoArray[i].iDeleteTraId = KTUint8NotDefined;
TFLOGSTRING3("TSY: CMmPacketContextMesshandlerList::GetAndResetActivationTraId. ContextName: %S, DeleteTraId: %d", &iContextInfoArray[i].iContextName, transId );
OstTraceExt2( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLERLIST_GETANDRESETDELETIONTRAID, "CMmPacketContextMesshandlerList::GetAndResetDeletionTraId;ContextName=%s;transId=%hhu", iContextInfoArray[i].iContextName, transId );
}
// no else
}
return transId;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::CreateContextIdTransIdByPipeHandle
// Gets create context id transaction id by pipehandle.
// -----------------------------------------------------------------------------
//
TUint8 CMmPacketContextMesshandlerList::CreateContextIdTransIdByPipeHandle(
const TInt aPipeHandle )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::CreateContextIdTransIdByPipeHandle. PipeHandle: %d", aPipeHandle );
OstTrace1( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_CREATECONTEXTIDTRANSIDBYPIPEHANDLE, "CMmPacketContextMesshandlerList::CreateContextIdTransIdByPipeHandle;aPipeHandle=%d", aPipeHandle );
TUint8 transId( KTUint8NotDefined );
// Find context pipehandle from context info list
for ( TInt i = 0; i < iNumberOfCreatedContexts; i++ )
{
if ( aPipeHandle == iContextInfoArray[i].iPipeHandle )
{
// Return object from the context info list
transId = iContextInfoArray[i].iCreateContextIdTransId;
TFLOGSTRING3("TSY: CMmPacketContextMesshandlerList::CreateContextIdTransIdByPipeHandle. ContextName: %S, CreateContextIdTransId: %d", &iContextInfoArray[i].iContextName, transId );
OstTraceExt2( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLERLIST_CREATECONTEXTIDTRANSIDBYPIPEHANDLE, "CMmPacketContextMesshandlerList::CreateContextIdTransIdByPipeHandle;ContextName=%S;transId=%hhu", iContextInfoArray[i].iContextName, transId );
}
// no else
}
// Valid values to return are, 0x00, 0x01, 0xFF = Not defined
return transId;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::CreateContextIdTraIdByContextId
// Gets create context id transaction id by context id.
// -----------------------------------------------------------------------------
//
TUint8 CMmPacketContextMesshandlerList::CreateContextIdTraIdByContextId(
const TUint8 aContextId )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::CreateContextIdTraIdByContextId. ContextId: %d", aContextId );
OstTraceExt1( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_CREATECONTEXTIDTRAIDBYCONTEXTID, "CMmPacketContextMesshandlerList::CreateContextIdTraIdByContextId;aContextId=%hhu", aContextId );
TUint8 transId( KTUint8NotDefined );
// Find context pipehandle from context info list
for ( TInt i = 0; i < iNumberOfCreatedContexts; i++ )
{
if ( aContextId == iContextInfoArray[i].iContextId )
{
// Return object from the context info list
transId = iContextInfoArray[i].iCreateContextIdTransId;
TFLOGSTRING3("TSY: CMmPacketContextMesshandlerList::CreateContextIdTraIdByContextId. ContextName: %S, CreateContextIdTransId: %d", &iContextInfoArray[i].iContextName, transId );
OstTraceExt2( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLERLIST_CREATECONTEXTIDTRAIDBYCONTEXTID, "CMmPacketContextMesshandlerList::CreateContextIdTraIdByContextId;ContextName=%S;transId=%hhu", iContextInfoArray[i].iContextName, transId );
}
// no else
}
// Valid values to return are, 0x00, 0x01, 0xFF = Not defined
return transId;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::PipeHandleByContextId
// Gets pipehandle specified by context Id.
// -----------------------------------------------------------------------------
//
TUint8 CMmPacketContextMesshandlerList::PipeHandleByContextId(
const TUint8 aContextId )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::PipeHandleByContextId. ContextId: %d", aContextId );
OstTraceExt1( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_PIPEHANDLEBYCONTEXTID, "CMmPacketContextMesshandlerList::PipeHandleByContextId;aContextId=%hhu", aContextId );
TUint8 pipeHandle( KInvalidPipeHandle );
// Find context pipehandle from context info list
for ( TInt i = 0; i < iNumberOfCreatedContexts; i++ )
{
if ( aContextId == iContextInfoArray[i].iContextId )
{
// Return object from the context info list
pipeHandle = iContextInfoArray[i].iPipeHandle;
TFLOGSTRING3("TSY: CMmPacketContextMesshandlerList::PipeHandleByContextId. ContextName: %S, PipeHandle: %d", &iContextInfoArray[i].iContextName, pipeHandle );
OstTraceExt2( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLERLIST_PIPEHANDLEBYCONTEXTID, "CMmPacketContextMesshandlerList::PipeHandleByContextId;ContextName=%S;pipeHandle=%hhu", iContextInfoArray[i].iContextName, pipeHandle );
}
// no else
}
// Valid values to return are, 0x00, 0x01, 0xFF = KInvalidPipeHandle
return pipeHandle;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::PipeCreateTransIdOkByTransId
// Checks if transaction id created early match with given.
// -----------------------------------------------------------------------------
//
TInt CMmPacketContextMesshandlerList::PipeCreateTransIdOkByTransId(
const TUint8 aTransId )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::PipeCreateTransIdOkByTransId. TransId: %d", aTransId );
OstTraceExt1( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_PIPECREATETRANSIDOKBYTRANSID, "CMmPacketContextMesshandlerList::PipeCreateTransIdOkByTransId;aTransId=%hhu", aTransId );
TInt ret( KErrNotFound );
// Find context pipehandle from context info list
for ( TInt i = 0; i < iNumberOfCreatedContexts; i++ )
{
if ( aTransId == iContextInfoArray[i].iPipeCreateTransId )
{
TFLOGSTRING("TSY: CMmPacketContextMesshandlerList::PipeCreateTransIdOkByTransId. TransId Matched");
OstTrace0( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLERLIST_PIPECREATETRANSIDOKBYTRANSID, "CMmPacketContextMesshandlerList::PipeCreateTransIdOkByTransId, TransId Matched" );
ret = KErrNone;
}
// no else
}
return ret;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::CreateContextIdTraIdOK
// Checks if transaction id created early match with given.
// -----------------------------------------------------------------------------
//
TInt CMmPacketContextMesshandlerList::CreateContextIdTraIdOK(
const TUint8 aTransId )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::CreateContextIdTraIdOK. TransId: %d", aTransId );
OstTraceExt1( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_CREATECONTEXTIDTRAIDOK, "CMmPacketContextMesshandlerList::CreateContextIdTraIdOK;aTransId=%hhu", aTransId );
TInt ret( KErrNotFound );
// Find context pipehandle from context info list
for ( TInt i = 0; i < iNumberOfCreatedContexts; i++ )
{
if ( aTransId == iContextInfoArray[i].iCreateContextIdTransId )
{
TFLOGSTRING("TSY: CMmPacketContextMesshandlerList::CreateContextIdTraIdOK. TransId Matched");
OstTrace0( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLERLIST_CREATECONTEXTIDTRAIDOK, "CMmPacketContextMesshandlerList::CreateContextIdTraIdOK, TransId Matched" );
ret = KErrNone;
}
// no else
}
return ret;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::GpdsLlConfigureTraIdOK
// Checks if transaction id created early match with given.
// -----------------------------------------------------------------------------
//
TInt CMmPacketContextMesshandlerList::GpdsLlConfigureTraIdOK(
const TUint8 aTransId )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::GpdsLlConfigureTraIdOK. TransId: %d", aTransId );
OstTraceExt1( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_GPDSLLCONFIGURETRAIDOK, "CMmPacketContextMesshandlerList::GpdsLlConfigureTraIdOK;aTransId=%hhu", aTransId );
TInt ret( KErrNotFound );
// Find context pipehandle from context info list
for ( TInt i = 0; i < iNumberOfCreatedContexts; i++ )
{
if ( aTransId == iContextInfoArray[i].iGpdsLlConfigureTraId )
{
TFLOGSTRING("TSY: CMmPacketContextMesshandlerList::GpdsLlConfigureTraIdOK. TransId Matched");
OstTrace0( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLERLIST_GPDSLLCONFIGURETRAIDOK, "CMmPacketContextMesshandlerList::GpdsLlConfigureTraIdOK, TransId Matched" );
ret = KErrNone;
i= iNumberOfCreatedContexts;
}
// no else
}
return ret;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::SetPipeHandle
// Sets pipehandle specified by pipe create transaction Id.
// -----------------------------------------------------------------------------
//
TInt CMmPacketContextMesshandlerList::SetPipeHandle(
const TUint8 aTransactionId,
const TUint8 aPipeHandle )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::SetPipeHandle. TransId: %d", aTransactionId );
OstTraceExt1( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_SETPIPEHANDLE, "CMmPacketContextMesshandlerList::SetPipeHandle;aTransactionId=%hhu", aTransactionId );
TInt ret( KErrNotFound );
// Find context pipehandle from context info list
for ( TInt i = 0; i < iNumberOfCreatedContexts; i++ )
{
if ( aTransactionId == iContextInfoArray[i].iPipeCreateTransId )
{
TFLOGSTRING3("TSY: CMmPacketContextMesshandlerList::SetPipeHandle. ContextName: %S, PipeHandle: %d", &iContextInfoArray[i].iContextName, aPipeHandle );
OstTraceExt2( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLERLIST_SETPIPEHANDLE, "CMmPacketContextMesshandlerList::SetPipeHandle;ContextName=%S;aPipeHandle=%hhu", iContextInfoArray[i].iContextName, aPipeHandle );
iContextInfoArray[i].iPipeHandle = aPipeHandle;
ret = KErrNone;
}
// no else
}
return ret;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::SetPipeStatus
// Sets pipe status specified by pipe handle.
// -----------------------------------------------------------------------------
//
TBool CMmPacketContextMesshandlerList::SetPipeStatus(
const TUint8 aPipeHandle,
const TInt aPipeStatus )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::SetPipeStatus. PipeHandle: %d", aPipeHandle );
OstTraceExt1( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_SETPIPESTATUS, "CMmPacketContextMesshandlerList::SetPipeStatus;aPipeHandle=%hhu", aPipeHandle );
TBool ret( EFalse );
// Find context pipehandle from context info list
for ( TInt i = 0; i < iNumberOfCreatedContexts; i++ )
{
if ( aPipeHandle == iContextInfoArray[i].iPipeHandle )
{
TFLOGSTRING3("TSY: CMmPacketContextMesshandlerList::SetPipeStatus. ContextName: %S, PipeStatus: %d", &iContextInfoArray[i].iContextName, aPipeStatus );
OstTraceExt2( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLERLIST_SETPIPESTATUS, "CMmPacketContextMesshandlerList::SetPipeStatus;ContextName=%S;aPipeStatus=%d", iContextInfoArray[i].iContextName, aPipeStatus );
iContextInfoArray[i].iPipeStatus = aPipeStatus ;
ret = ETrue;
}
// no else
}
return ret;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::GetPipeStatus
// Gets pipe status specified by context Id.
// -----------------------------------------------------------------------------
//
TInt CMmPacketContextMesshandlerList::GetPipeStatus(
const TUint8 aContextId )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::GetPipeStatus. ContextId: %d", aContextId );
OstTraceExt1( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_GETPIPESTATUS, "CMmPacketContextMesshandlerList::GetPipeStatus;aContextId=%hhu", aContextId );
TInt pipeStatus( PN_PIPE_DISABLE );
// Find context pipehandle from context info list
for ( TInt i = 0; i < iNumberOfCreatedContexts; i++ )
{
if ( aContextId == iContextInfoArray[i].iContextId )
{
pipeStatus = iContextInfoArray[i].iPipeStatus;
TFLOGSTRING3("TSY: CMmPacketContextMesshandlerList::GetPipeStatus. ContextName: %S, PipeStatus: %d", &iContextInfoArray[i].iContextName, pipeStatus );
OstTraceExt2( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLERLIST_GETPIPESTATUS, "CMmPacketContextMesshandlerList::GetPipeStatus;ContextName=%S;pipeStatus=%d", iContextInfoArray[i].iContextName, pipeStatus );
}
// no else
}
return pipeStatus;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::GetContextIdByContextName
// Gets context Id specified by context name.
// -----------------------------------------------------------------------------
//
TUint8 CMmPacketContextMesshandlerList::GetContextIdByContextName(
TInfoName* const aContextName )
{
TFLOGSTRING("TSY: CMmPacketContextMesshandlerList::GetContextIdByContextName");
OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_GETCONTEXTIDBYCONTEXTNAME, "CMmPacketContextMesshandlerList::GetContextIdByContextName" );
TUint contextId( GPDS_CID_VOID );
// Find name from context info list
for ( TInt i = 0; i < iNumberOfCreatedContexts; i++ )
{
if ( *aContextName == iContextInfoArray[i].iContextName )
{
TFLOGSTRING3("TSY: CMmPacketContextMesshandlerList::GetContextIdByContextName. ContextName: %S, ContextId: %d", &iContextInfoArray[i].iContextName, iContextInfoArray[i].iContextId );
OstTraceExt2( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLERLIST_GETCONTEXTIDBYCONTEXTNAME, "CMmPacketContextMesshandlerList::GetContextIdByContextName;ContextName=%S;contextId=%d", iContextInfoArray[i].iContextName, iContextInfoArray[i].iContextId );
// Name found, return object
contextId = iContextInfoArray[i].iContextId;
}
// no else
}
return contextId;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::GetHostCidName
// Gets host context name by context name.
// -----------------------------------------------------------------------------
//
TInfoName CMmPacketContextMesshandlerList::GetHostCidName(
TInfoName* aContextName ) const
{
TFLOGSTRING("TSY: CMmPacketContextMesshandlerList::GetHostCidName");
OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_GETHOSTCIDNAME, "CMmPacketContextMesshandlerList::GetHostCidName" );
TInfoName hostName;
hostName.Zero();
// Find name from context info list
for ( TInt i = 0; i < iNumberOfCreatedContexts; i++ )
{
if ( *aContextName == iContextInfoArray[i].iContextName )
{
TFLOGSTRING3("TSY: CMmPacketContextMesshandlerList::GetHostCidName. ContextName: %S, HostContextName: %S", &iContextInfoArray[i].iContextName, &iContextInfoArray[i].iHostContextName );
OstTraceExt2( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLERLIST_GETHOSTCIDNAME, "CMmPacketContextMesshandlerList::GetHostCidName;ContextName=%S;HostContextName=%S", iContextInfoArray[i].iContextName, iContextInfoArray[i].iHostContextName );
// Name found
hostName.Copy( iContextInfoArray[i].iHostContextName );
}
// no else
}
return hostName;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::RemoveContextId
// Reset Context id to GPDS_CID_VOID.
// -----------------------------------------------------------------------------
//
TInt CMmPacketContextMesshandlerList::RemoveContextId(
const TUint8 aContextId )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::RemoveContextId. ContextId: %d", aContextId );
OstTraceExt1( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_REMOVECONTEXTID, "CMmPacketContextMesshandlerList::RemoveContextId;aContextId=%hhu", aContextId );
TInt ret( KErrNotFound );
// Find name from context info list
for ( TInt i = 0; i < iNumberOfCreatedContexts; i++ )
{
if ( aContextId == iContextInfoArray[i].iContextId )
{
TFLOGSTRING3("TSY: CMmPacketContextMesshandlerList::RemoveContextId. ContextName: %S, ContextId: %d", &iContextInfoArray[i].iContextName, aContextId );
OstTraceExt2( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLERLIST_REMOVECONTEXTID, "CMmPacketContextMesshandlerList::RemoveContextId;ContextName=%S;aContextId=%hhu", iContextInfoArray[i].iContextName, aContextId );
// Name found
iContextInfoArray[i].iContextId = GPDS_CID_VOID;
i = iNumberOfCreatedContexts;
ret = KErrNone;
}
// no else
}
//if dialup context
if( KErrNotFound == ret )
{
if( aContextId == iDialUpContextId )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::RemoveContextId. Dial-Up Context, ContextId: %d", aContextId );
OstTraceExt1( TRACE_NORMAL, DUP2_CMMPACKETCONTEXTMESSHANDLERLIST_REMOVECONTEXTID, "CMmPacketContextMesshandlerList::RemoveContextId;Dial-Up Context, ContextId=%hhu", aContextId );
iDialUpContextId = GPDS_CID_VOID;
iDialUpContextName.Zero();
ret = KErrNone;
}
// no else
if( aContextId == iSecondaryDialUpContextId )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::RemoveContextId. Secondary Dial-Up Context, ContextId: %d", aContextId );
OstTraceExt1( TRACE_NORMAL, DUP3_CMMPACKETCONTEXTMESSHANDLERLIST_REMOVECONTEXTID, "CMmPacketContextMesshandlerList::RemoveContextId;Secondary Dial-Up Context, ContextId=%hhu", aContextId );
iSecondaryDialUpContextId = GPDS_CID_VOID;
iSecondaryDialUpContextName.Zero();
ret = KErrNone;
}
// no else
}
// no else
return ret;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::ResetPipeHandleAndStatus
// Reset pipe handle and status by pipehandle.
// -----------------------------------------------------------------------------
//
TInt CMmPacketContextMesshandlerList::ResetPipeHandleAndStatus(
const TUint8 aPipeHandle )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::ResetPipeHandleAndStatus. PipeHandle: %d", aPipeHandle );
OstTraceExt1( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_RESETPIPEHANDLEANDSTATUS, "CMmPacketContextMesshandlerList::ResetPipeHandleAndStatus;aPipeHandle=%hhu", aPipeHandle );
TInt ret( KErrNotFound );
// Find name from context info list
for ( TInt i = 0; i < iNumberOfCreatedContexts; i++ )
{
if ( aPipeHandle == iContextInfoArray[i].iPipeHandle )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::ResetPipeHandleAndStatus. ContextName: %S", &iContextInfoArray[i].iContextName );
OstTraceExt1( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLERLIST_RESETPIPEHANDLEANDSTATUS, "CMmPacketContextMesshandlerList::ResetPipeHandleAndStatus;ContextName=%S", iContextInfoArray[i].iContextName );
// Pipe found
iContextInfoArray[i].iPipeHandle = KInvalidPipeHandle;
iContextInfoArray[i].iPipeStatus = PN_PIPE_DISABLE;
i = iNumberOfCreatedContexts;
ret = KErrNone;
}
// no else
}
return ret;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::SetInitialiseMember
// Sets initialisation member for specific context identified by context Id.
// -----------------------------------------------------------------------------
//
TBool CMmPacketContextMesshandlerList::SetInitialiseMember(
const TUint8 aContextId,
const TBool aFlag )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::SetInitialiseMember. ContextId: %d", aContextId );
OstTraceExt1( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_SETINITIALISEMEMBER, "CMmPacketContextMesshandlerList::SetInitialiseMember;aContextId=%hhu", aContextId );
TBool ret( EFalse );
// Find context pipehandle from context info list
for ( TInt i = 0; i < iNumberOfCreatedContexts; i++ )
{
if ( aContextId == iContextInfoArray[i].iContextId )
{
TFLOGSTRING3("TSY: CMmPacketContextMesshandlerList::SetInitialiseMember. ContextName: %S, InitialiseStarted: %d", &iContextInfoArray[i].iContextName, aFlag );
OstTraceExt2( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLERLIST_SETINITIALISEMEMBER, "CMmPacketContextMesshandlerList::SetInitialiseMember;ContextName=%S;aFlag=%hhu", iContextInfoArray[i].iContextName, aFlag );
// Return object from the context info list
iContextInfoArray[i].iInitialiseStarted = aFlag;
ret = ETrue;
}
// no else
}
return ret;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::GetInitialiseMember
// Gets initialisation member for specific context identified by pipehandle.
// -----------------------------------------------------------------------------
//
TBool CMmPacketContextMesshandlerList::GetInitialiseMember(
const TInt aPipeHandle )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::GetInitialiseMember. PipeHandle: %d", aPipeHandle );
OstTrace1( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_GETINITIALISEMEMBER, "CMmPacketContextMesshandlerList::GetInitialiseMember;aPipeHandle=%d", aPipeHandle );
TBool ret( EFalse );
// Find name from context info list
for ( TInt i = 0; i < iNumberOfCreatedContexts; i++ )
{
if ( aPipeHandle == iContextInfoArray[i].iPipeHandle )
{
TFLOGSTRING3("TSY: CMmPacketContextMesshandlerList::GetInitialiseMember. ContextName: %S, InitialiseStarted: %d", &iContextInfoArray[i].iContextName, iContextInfoArray[i].iInitialiseStarted );
OstTraceExt2( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLERLIST_GETINITIALISEMEMBER, "CMmPacketContextMesshandlerList::GetInitialiseMember;ContextName=%S;InitialiseStarted=%hhu", iContextInfoArray[i].iContextName, iContextInfoArray[i].iInitialiseStarted );
ret = iContextInfoArray[i].iInitialiseStarted;
}
// no else
}
return ret;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::ContextIdByPipeHandle
// Gets contextId of the specified context by Pipehandle.
// -----------------------------------------------------------------------------
//
TUint8 CMmPacketContextMesshandlerList::ContextIdByPipeHandle(
const TInt aPipeHandle )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::ContextIdByPipeHandle. PipeHandle: %d", aPipeHandle );
OstTrace1( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_CONTEXTIDBYPIPEHANDLE, "CMmPacketContextMesshandlerList::ContextIdByPipeHandle;aPipeHandle=%d", aPipeHandle );
TUint8 contextId( GPDS_CID_VOID );
// Find context pipehandle from context info list
for ( TInt i = 0; i < iNumberOfCreatedContexts; i++ )
{
if ( aPipeHandle == iContextInfoArray[i].iPipeHandle )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::ContextIdByPipeHandle. ContextId: %d", iContextInfoArray[i].iContextId );
OstTraceExt1( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLERLIST_CONTEXTIDBYPIPEHANDLE, "CMmPacketContextMesshandlerList::ContextIdByPipeHandle;ContextId=%hhu", iContextInfoArray[i].iContextId );
// Return object from the context info list
contextId = iContextInfoArray[i].iContextId;
}
// no else
}
// Valid values to return are, 0x00, 0x01, 0xFF = GPDS_CID_VOID
return contextId;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::SetContextConfigurationType
// Sets configuration type by contextId.
// -----------------------------------------------------------------------------
//
TBool CMmPacketContextMesshandlerList::SetContextConfigurationType(
const TUint8 aContextId,
const TInt aConfigType )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::SetContextConfigurationType. ContextId: %d", aContextId );
OstTraceExt1( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_SETCONTEXTCONFIGURATIONTYPE, "CMmPacketContextMesshandlerList::SetContextConfigurationType;aContextId=%hhu", aContextId );
TBool ret( EFalse );
// Find context pipehandle from context info list
for ( TInt i = 0; i < iNumberOfCreatedContexts; i++ )
{
if ( aContextId == iContextInfoArray[i].iContextId )
{
TFLOGSTRING3("TSY: CMmPacketContextMesshandlerList::SetContextConfigurationType. ContextName: %S, ConfigType: %d", &iContextInfoArray[i].iContextName, aConfigType );
OstTraceExt2( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLERLIST_SETCONTEXTCONFIGURATIONTYPE, "CMmPacketContextMesshandlerList::SetContextConfigurationType;ContextName=%S;aConfigType=%d", iContextInfoArray[i].iContextName, aConfigType );
// Return object from the context info list
iContextInfoArray[i].iContextConfigurationType = aConfigType;
ret = ETrue;
}
// no else
}
return ret;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::GetContextConfigurationType
// Gets configuration type by contextId.
// -----------------------------------------------------------------------------
//
TInt CMmPacketContextMesshandlerList::GetContextConfigurationType(
const TUint8 aContextId )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::GetContextConfigurationType. ContextId: %d", aContextId );
OstTraceExt1( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_GETCONTEXTCONFIGURATIONTYPE, "CMmPacketContextMesshandlerList::GetContextConfigurationType;aContextId=%hhu", aContextId );
TInt ret( KTIntNotDefined );
// Find context pipehandle from context info list
for ( TInt i = 0; i < iNumberOfCreatedContexts; i++ )
{
if ( aContextId == iContextInfoArray[i].iContextId )
{
// Return object from the context info list
ret = iContextInfoArray[i].iContextConfigurationType;
TFLOGSTRING3("TSY: CMmPacketContextMesshandlerList::GetContextConfigurationType. ContextName: %S, ConfigType: %d", &iContextInfoArray[i].iContextName, ret );
OstTraceExt2( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLERLIST_GETCONTEXTCONFIGURATIONTYPE, "CMmPacketContextMesshandlerList::GetContextConfigurationType;ContextName=%S;ret=%d", iContextInfoArray[i].iContextName, ret );
}
// no else
}
return ret;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::SaveConfig
// Saves configuration for specific context.
// -----------------------------------------------------------------------------
//
TInt CMmPacketContextMesshandlerList::SaveConfig(
const TUint8 aContextId,
const TInt aConfigurationType,
RPacketContext::TContextConfigGPRS* aConfig,
RPacketContext::TContextConfigR99_R4* aConfig99 )
{
TFLOGSTRING("TSY: CMmPacketContextMesshandlerList::SaveConfig");
OstTrace0( TRACE_NORMAL, DUP3_CMMPACKETCONTEXTMESSHANDLERLIST_SAVECONFIG, "CMmPacketContextMesshandlerList::SaveConfig" );
TInt ret( KErrArgument );
// Find context pipehandle from context info list
for ( TInt i = 0; i < iNumberOfCreatedContexts; i++ )
{
if ( aContextId == iContextInfoArray[i].iContextId )
{
TFLOGSTRING3("TSY: CMmPacketContextMesshandlerList::SaveConfig. ContextName: %S, ContextId: %d", &iContextInfoArray[i].iContextName, aContextId );
OstTraceExt2( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_SAVECONFIG, "CMmPacketContextMesshandlerList::SaveConfig;ContextName=%S;aContextId=%hhu", iContextInfoArray[i].iContextName, aContextId );
// Return object from the context info list
if( TPacketDataConfigBase::KConfigGPRS == aConfigurationType )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::SaveConfig. ConfigType: %d", aConfigurationType );
OstTrace1( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLERLIST_SAVECONFIG, "CMmPacketContextMesshandlerList::SaveConfig;aConfigurationType=%d", aConfigurationType );
iContextInfoArray[i].iConfig = *aConfig;
iContextInfoArray[i].iContextConfigurationType =
aConfigurationType;
ret = KErrNone;
}
else if( TPacketDataConfigBase::KConfigRel99Rel4 ==
aConfigurationType )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::SaveConfig. ConfigType: %d", aConfigurationType );
OstTrace1( TRACE_NORMAL, DUP2_CMMPACKETCONTEXTMESSHANDLERLIST_SAVECONFIG, "CMmPacketContextMesshandlerList::SaveConfig;aConfigurationType=%d", aConfigurationType );
iContextInfoArray[i].iConfig99 =
*aConfig99;
iContextInfoArray[i].iContextConfigurationType =
aConfigurationType;
ret = KErrNone;
}
// no else
i = iNumberOfCreatedContexts;
}
// no else
}
return ret;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::SaveConfig
// Get configuration for specific context by context Id and configuration type.
// -----------------------------------------------------------------------------
//
TPacketDataConfigBase* CMmPacketContextMesshandlerList::GetConfig(
const TUint8 aContextId,
const TInt aConfigurationType )
{
TFLOGSTRING("TSY: CMmPacketContextMesshandlerList::GetConfig");
OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_GETCONFIG, "CMmPacketContextMesshandlerList::GetConfig" );
TPacketDataConfigBase* config;
config = NULL;
// Find context pipehandle from context info list
for ( TInt i = 0; i < iNumberOfCreatedContexts; i++ )
{
if ( aContextId == iContextInfoArray[i].iContextId )
{
TFLOGSTRING3("TSY: CMmPacketContextMesshandlerList::GetConfig. ContextName: %S, ContextId: %d", &iContextInfoArray[i].iContextName, aContextId );
OstTraceExt2( TRACE_NORMAL, DUP3_CMMPACKETCONTEXTMESSHANDLERLIST_GETCONFIG, "CMmPacketContextMesshandlerList::GetConfig;ContextName=%S;aContextId=%hhu", iContextInfoArray[i].iContextName, aContextId );
// Return object from the context info list
if( TPacketDataConfigBase::KConfigGPRS == aConfigurationType )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::GetConfig. ConfigType: %d", aConfigurationType );
OstTrace1( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLERLIST_GETCONFIG, "CMmPacketContextMesshandlerList::GetConfig;aConfigurationType=%d", aConfigurationType );
// Return object from the context info list
config = &( iContextInfoArray[i].iConfig );
}
else if( TPacketDataConfigBase::KConfigRel99Rel4 ==
aConfigurationType )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::GetConfig. ConfigType: %d", aConfigurationType );
OstTrace1( TRACE_NORMAL, DUP2_CMMPACKETCONTEXTMESSHANDLERLIST_GETCONFIG, "CMmPacketContextMesshandlerList::GetConfig;aConfigurationType=%d", aConfigurationType );
// Return object from the context info list
config = &( iContextInfoArray[i].iConfig99 );
}
// no else
}
// no else
}
return config;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::SetPipeResetTraId
// Sets pipe reset transaction id for specific context by context Id.
// -----------------------------------------------------------------------------
//
TInt CMmPacketContextMesshandlerList::SetPipeResetTraId(
const TUint8 aContextId,
const TUint8 aTransId )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::SetPipeResetTraId. ContextId: %d", aContextId );
OstTraceExt1( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_SETPIPERESETTRAID, "CMmPacketContextMesshandlerList::SetPipeResetTraId;aContextId=%hhu", aContextId );
TInt ret( KErrNotFound );
// Find context pipehandle from context info list
for ( TInt i = 0; i < iNumberOfCreatedContexts; i++ )
{
if ( aContextId == iContextInfoArray[i].iContextId )
{
TFLOGSTRING3("TSY: CMmPacketContextMesshandlerList::SetPipeResetTraId. ContextName: %S, PipeResetTraId: %d", &iContextInfoArray[i].iContextName, aTransId );
OstTraceExt2( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLERLIST_SETPIPERESETTRAID, "CMmPacketContextMesshandlerList::SetPipeResetTraId;ContextName=%S;aTransId=%hhu", iContextInfoArray[i].iContextName, aTransId );
// Return object from the context info list
iContextInfoArray[i].iPipeResetTraId = aTransId;
i = iNumberOfCreatedContexts;
ret = KErrNone;
}
// no else
}
return ret;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::CheckAndResetPipeResetTraId
// Checks and resets pipe reset transaction id early saved.
// -----------------------------------------------------------------------------
//
TInt CMmPacketContextMesshandlerList::CheckAndResetPipeResetTraId(
const TUint8 aTransId )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::CheckAndResetPipeResetTraId. TransId: %d", aTransId );
OstTraceExt1( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_CHECKANDRESETPIPERESETTRAID, "CMmPacketContextMesshandlerList::CheckAndResetPipeResetTraId;aTransId=%hhu", aTransId );
TInt ret( KErrNotFound );
// Find context pipehandle from context info list
for ( TInt i = 0; i < iNumberOfCreatedContexts; i++ )
{
if ( aTransId == iContextInfoArray[i].iPipeResetTraId )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::CheckAndResetPipeResetTraId. ContextName: %S", &iContextInfoArray[i].iContextName );
OstTraceExt1( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLERLIST_CHECKANDRESETPIPERESETTRAID, "CMmPacketContextMesshandlerList::CheckAndResetPipeResetTraId;ContextName=%S", iContextInfoArray[i].iContextName );
ret = KErrNone;
i = iNumberOfCreatedContexts;
iContextInfoArray[i].iPipeResetTraId = KTUint8NotDefined;
}
// no else
}
return ret;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::ProxyIdByContextId
// Gets proxy Id specified by context Id.
// -----------------------------------------------------------------------------
//
TUint8 CMmPacketContextMesshandlerList::ProxyIdByContextId(
const TUint8 aContextId )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::ProxyIdByContextId. ContextId: %d", aContextId );
OstTraceExt1( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_PROXYIDBYCONTEXTID, "CMmPacketContextMesshandlerList::ProxyIdByContextId;aContextId=%hhu", aContextId );
TUint channelId( KTUint8NotDefined );
// Find context proxyId from context info list
for ( TInt i = 0; i < iNumberOfCreatedContexts; i++ )
{
if ( aContextId == iContextInfoArray[i].iContextId )
{
TFLOGSTRING3("TSY: CMmPacketContextMesshandlerList::ProxyIdByContextId. ContextName: %S, ChannelId: %d", &iContextInfoArray[i].iContextName, iContextInfoArray[i].iChannelId );
OstTraceExt2( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLERLIST_PROXYIDBYCONTEXTID, "CMmPacketContextMesshandlerList::ProxyIdByContextId;ContextName=%S;ChannelId=%hhu", iContextInfoArray[i].iContextName, iContextInfoArray[i].iChannelId );
channelId = iContextInfoArray[i].iChannelId;
}
// no else
}
// Valid values to return are, 0x00, 0x01, 0xFF = Not defined
return channelId;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::ProxyIdByContextId
// Sets context Id and name for dial-up context.
// -----------------------------------------------------------------------------
//
void CMmPacketContextMesshandlerList::SetDialUpContextId(
const TUint8 aContextId )
{
if( 0 == iDialUpContextName.Compare( KStringExternal ) )
{
TFLOGSTRING("TSY: CMmPacketContextMesshandlerList::SetDialUpContextId iSecondaryDialUpContextName.");
OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_SETDIALUPCONTEXTID, "CMmPacketContextMesshandlerList::SetDialUpContextId, iSecondaryDialUpContextName" );
iSecondaryDialUpContextName = KStringExternal2;
iSecondaryDialUpContextId = aContextId;
}
else
{
TFLOGSTRING("TSY: CMmPacketContextMesshandlerList::SetDialUpContextId iDialUpContextId.");
OstTrace0( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLERLIST_SETDIALUPCONTEXTID, "CMmPacketContextMesshandlerList::SetDialUpContextId, iDialUpContextId" );
iDialUpContextId = aContextId;
iDialUpContextName = KStringExternal;
}
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::GetDialUpContextId
// Gets context Id for dial-up context.
// -----------------------------------------------------------------------------
//
TUint8 CMmPacketContextMesshandlerList::GetDialUpContextId()
{
TFLOGSTRING("TSY: CMmPacketContextMesshandlerList::GetDialUpContextId");
OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_GETDIALUPCONTEXTID, "CMmPacketContextMesshandlerList::GetDialUpContextId" );
return iDialUpContextId;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::DialUpContextName
// Gets dial-up context name specified by context Id.
// -----------------------------------------------------------------------------
//
TInt CMmPacketContextMesshandlerList::DialUpContextName(
const TUint8 aContextId,
TInfoName& aContextName )
{
TFLOGSTRING("TSY: CMmPacketContextMesshandlerList::DialUpContextName");
OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_DIALUPCONTEXTNAME, "CMmPacketContextMesshandlerList::DialUpContextName" );
TInt ret( KErrNotFound );
if( aContextId == iDialUpContextId )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::DialUpContextName. DialUpContextId: %d", aContextId );
OstTraceExt1( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLERLIST_DIALUPCONTEXTNAME, "CMmPacketContextMesshandlerList::DialUpContextName;DialUpContextId=%hhu", aContextId );
aContextName = iDialUpContextName;
ret = KErrNone;
}
// no else
if( aContextId == iSecondaryDialUpContextId )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::DialUpContextName. SecondaryDialUpContextId: %d", aContextId );
OstTraceExt1( TRACE_NORMAL, DUP2_CMMPACKETCONTEXTMESSHANDLERLIST_DIALUPCONTEXTNAME, "CMmPacketContextMesshandlerList::DialUpContextName;DialUpContextName=%hhu", aContextId );
aContextName = iSecondaryDialUpContextName;
ret = KErrNone;
}
// no else
return ret;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::GetDialUpContextIdByName
// Gets dial-up context id specified by context name.
// -----------------------------------------------------------------------------
//
TUint8 CMmPacketContextMesshandlerList::GetDialUpContextIdByName(
TInfoName* const aContextName )
{
TFLOGSTRING("TSY: CMmPacketContextMesshandlerList::GetDialUpContextIdByName");
OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_GETDIALUPCONTEXTIDBYNAME, "CMmPacketContextMesshandlerList::GetDialUpContextIdByName" );
TUint8 contextId( GPDS_CID_VOID );
if ( *aContextName == iDialUpContextName )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::GetDialUpContextIdByName. DialUpContextId: %d", iDialUpContextId );
OstTraceExt1( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLERLIST_GETDIALUPCONTEXTIDBYNAME, "CMmPacketContextMesshandlerList::GetDialUpContextIdByName;DialUpContextId=%hhu", contextId );
// Name found, return object
contextId = iDialUpContextId;
}
// no else
if ( *aContextName == iSecondaryDialUpContextName )
{
// Name found, return object
contextId = iSecondaryDialUpContextId;
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::GetDialUpContextIdByName. SecondaryDialUpContextId: %d", contextId );
OstTraceExt1( TRACE_NORMAL, DUP2_CMMPACKETCONTEXTMESSHANDLERLIST_GETDIALUPCONTEXTIDBYNAME, "CMmPacketContextMesshandlerList::GetDialUpContextIdByName;SecondaryDialUpContextId=%hhu", contextId );
}
// no else
return contextId;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::RemoveObjectByName
// Removes buffered data belonging to a context specified by name.
// -----------------------------------------------------------------------------
//
void CMmPacketContextMesshandlerList::RemoveObjectByName(
TInfoName* aContextName )
{
TFLOGSTRING("TSY: CMmPacketContextMesshandlerList::RemoveObjectByName");
OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_REMOVEOBJECTBYNAME, "CMmPacketContextMesshandlerList::RemoveObjectByName" );
// Set ret to KErrArgument to check that context is in list
for ( TInt i = 0; i < iNumberOfCreatedContexts; i++ )
{
// Find aContext from context info list
if ( *aContextName == iContextInfoArray[i].iContextName )
{
for ( TInt j = 0; j < KMmMaxNumberOfContexts; j++ )
{
if ( ( iContextInfoArray[i].iChannelId ==
iProxyIdList[j].iChannelId ) && ( EFalse ==
iProxyIdList[j].iIsFree ) )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::RemoveObjectByName. Context Name: %S", &iContextInfoArray[i].iContextName );
OstTraceExt1( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLERLIST_REMOVEOBJECTBYNAME, "CMmPacketContextMesshandlerList::RemoveObjectByName;ContextName=%S", iContextInfoArray[i].iContextName );
// Release Proxy id
iProxyIdList[j].iIsFree = ETrue;
// Get index to last reserved cell in the list
const TInt lastContext( iNumberOfCreatedContexts - 1 );
// If not already last object
if ( i < lastContext )
{
// Replace object to be remove by last object
iContextInfoArray[i].iContextId =
iContextInfoArray[lastContext].iContextId;
iContextInfoArray[i].iChannelId =
iContextInfoArray[lastContext].iChannelId;
iContextInfoArray[i].iContextName =
iContextInfoArray[lastContext].iContextName;
iContextInfoArray[i].iHostContextName =
iContextInfoArray[lastContext].iHostContextName;
iContextInfoArray[i].iPipeStatus =
iContextInfoArray[lastContext].iPipeStatus;
iContextInfoArray[i].iPipeHandle =
iContextInfoArray[lastContext].iPipeHandle;
iContextInfoArray[i].iCreateContextIdTransId =
iContextInfoArray[lastContext].iCreateContextIdTransId;
iContextInfoArray[i].iPipeCreateTransId =
iContextInfoArray[lastContext].iPipeCreateTransId;
iContextInfoArray[i].iContextType =
iContextInfoArray[lastContext].iContextType;
iContextInfoArray[i].iInitialiseStarted =
iContextInfoArray[lastContext].iInitialiseStarted;
iContextInfoArray[i].iContextConfigurationType =
iContextInfoArray[lastContext].iContextConfigurationType;
iContextInfoArray[i].iActivationTraId =
iContextInfoArray[lastContext].iActivationTraId;
iContextInfoArray[i].iPipeResetTraId =
iContextInfoArray[lastContext].iPipeResetTraId;
iContextInfoArray[i].iDeleteTraId =
iContextInfoArray[lastContext].iDeleteTraId;
}
// no else
// Reset object information of the last object
iContextInfoArray[lastContext].iChannelId =
KTUint8NotDefined;
iContextInfoArray[lastContext].iContextName.Zero();
iContextInfoArray[lastContext].iContextId = GPDS_CID_VOID;
iContextInfoArray[lastContext].iHostContextName.Zero();
iContextInfoArray[lastContext].iPipeStatus =
PN_PIPE_DISABLE;
iContextInfoArray[lastContext].iPipeHandle =
KInvalidPipeHandle;
iContextInfoArray[lastContext].iCreateContextIdTransId =
KTUint8NotDefined;
iContextInfoArray[lastContext].iPipeCreateTransId =
KTUint8NotDefined;
iContextInfoArray[lastContext].iContextType =
GPDS_CONT_TYPE_NORMAL;
iContextInfoArray[lastContext].iInitialiseStarted = EFalse;
iContextInfoArray[lastContext].iContextConfigurationType =
KTIntNotDefined;
iContextInfoArray[lastContext].iActivationTraId =
KTUint8NotDefined;
iContextInfoArray[lastContext].iPipeResetTraId =
KTUint8NotDefined;
iContextInfoArray[lastContext].iDeleteTraId =
KTUint8NotDefined;
// Decrease number of created contexts
iNumberOfCreatedContexts--;
// Proxy id found, break
j = KMmMaxNumberOfContexts;
}
// no else
}
// aContext found, break
i = iNumberOfCreatedContexts;
}
// no else
}
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::SetDNSAddressInfoToContextInfo
// Adds DNS related information to context info array.
// -----------------------------------------------------------------------------
//
TInt CMmPacketContextMesshandlerList::SetDNSAddressInfoToContextInfo(
TUint8 aContextId )
{
TFLOGSTRING("TSY: CMmPacketContextMesshandlerList::SetDNSAddressInfoToContextInfo");
OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_SETDNSADDRESSINFOTOCONTEXTINFO, "CMmPacketContextMesshandlerList::SetDNSAddressInfoToContextInfo" );
TInt ret( KErrNotFound );
for ( TInt i = 0; i < iNumberOfCreatedContexts; i++ )
{
// Find aContext from context info list
if ( aContextId == iContextInfoArray[i].iContextId )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::SetDNSAddressInfoToContextInfo. ContextId: %d", aContextId );
OstTraceExt1( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLERLIST_SETDNSADDRESSINFOTOCONTEXTINFO, "CMmPacketContextMesshandlerList::SetDNSAddressInfoToContextInfo;aContextId=%hhu", aContextId );
iContextInfoArray[i].iAddDNSAddress = ETrue;
ret = KErrNone;
}
// no else
}
return ret;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::GetDNSAddressInfoToContextInfo
// Gets DNS related information from context info array.
// -----------------------------------------------------------------------------
//
TBool CMmPacketContextMesshandlerList::GetDNSAddressInfoToContextInfo(
TUint8 aContextId )
{
TFLOGSTRING("TSY: CMmPacketContextMesshandlerList::GetDNSAddressInfoToContextInfo");
OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_GETDNSADDRESSINFOTOCONTEXTINFO, "CMmPacketContextMesshandlerList::GetDNSAddressInfoToContextInfo" );
TBool addDNSAddress( EFalse );
for ( TInt i = 0; i < iNumberOfCreatedContexts; i++ )
{
// Find aContext from context info list
if ( aContextId == iContextInfoArray[i].iContextId )
{
TFLOGSTRING3("TSY: CMmPacketContextMesshandlerList::GetDNSAddressInfoToContextInfo. ContextId: %d, AddDNSAddress: %d", aContextId, iContextInfoArray[i].iAddDNSAddress );
OstTraceExt2( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLERLIST_GETDNSADDRESSINFOTOCONTEXTINFO, "CMmPacketContextMesshandlerList::GetDNSAddressInfoToContextInfo;aContextId=%hhu;AddDNSAddress=%hhu", aContextId, iContextInfoArray[i].iAddDNSAddress );
addDNSAddress = iContextInfoArray[i].iAddDNSAddress;
}
// no else
}
return addDNSAddress;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::SetPCSCFAddressInfoToContextInfo
// Adds PCSCF related information to context info array.
// -----------------------------------------------------------------------------
//
TInt CMmPacketContextMesshandlerList::SetPCSCFAddressInfoToContextInfo(
TUint8 aContextId )
{
TFLOGSTRING("TSY: CMmPacketContextMesshandlerList::SetPCSCFAddressInfoToContextInfo");
OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_SETPCSCFADDRESSINFOTOCONTEXTINFO, "CMmPacketContextMesshandlerList::SetPCSCFAddressInfoToContextInfo" );
TInt ret( KErrNotFound );
for ( TInt i = 0; i < iNumberOfCreatedContexts; i++ )
{
// Find aContext from context info list
if ( aContextId == iContextInfoArray[i].iContextId )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::SetPCSCFAddressInfoToContextInfo. ContextId: %d", aContextId );
OstTraceExt1( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLERLIST_SETPCSCFADDRESSINFOTOCONTEXTINFO, "CMmPacketContextMesshandlerList::SetPCSCFAddressInfoToContextInfo;aContextId=%hhu", aContextId );
iContextInfoArray[i].iAddPCSCFAddress = ETrue;
ret = KErrNone;
}
// no else
}
return ret;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::GetPCSCFAddressInfoToContextInfo
// Gets PCSCF related information from context info array.
// -----------------------------------------------------------------------------
//
TBool CMmPacketContextMesshandlerList::GetPCSCFAddressInfoToContextInfo(
TUint8 aContextId )
{
TFLOGSTRING("TSY: CMmPacketContextMesshandlerList::GetPCSCFAddressInfoToContextInfo");
OstTrace0( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_GETPCSCFADDRESSINFOTOCONTEXTINFO, "CMmPacketContextMesshandlerList::GetPCSCFAddressInfoToContextInfo" );
TBool addPCSCFAddress( EFalse );
for ( TInt i = 0; i < iNumberOfCreatedContexts; i++ )
{
// Find aContext from context info list
if ( aContextId == iContextInfoArray[i].iContextId )
{
TFLOGSTRING3("TSY: CMmPacketContextMesshandlerList::GetPCSCFAddressInfoToContextInfo. ContextId: %d, AddPCSCFAddress: %d", aContextId, iContextInfoArray[i].iAddPCSCFAddress );
OstTraceExt2( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLERLIST_GETPCSCFADDRESSINFOTOCONTEXTINFO, "CMmPacketContextMesshandlerList::GetPCSCFAddressInfoToContextInfo;aContextId=%hhu;AddPCSCFAddress=%hhu", aContextId, iContextInfoArray[i].iAddPCSCFAddress );
addPCSCFAddress = iContextInfoArray[i].iAddPCSCFAddress;
}
// no else
}
return addPCSCFAddress;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::ContextIdByListIndex
// Gets context id of the specified context by list index.
// -----------------------------------------------------------------------------
//
TUint8 CMmPacketContextMesshandlerList::ContextIdByListIndex(
const TInt aListIndex )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::ContextIdByListIndex, Index: %d", aListIndex );
OstTrace1( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_CONTEXTIDBYLISTINDEX, "CMmPacketContextMesshandlerList::ContextIdByListIndex;aListIndex=%d", aListIndex );
TUint8 contextId( GPDS_CID_VOID );
if ( aListIndex < iNumberOfCreatedContexts )
{
// Return context id from the context info list
contextId = iContextInfoArray[aListIndex].iContextId;
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::ContextIdByListIndex. ContextId: %d", contextId );
OstTraceExt1( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLERLIST_CONTEXTIDBYLISTINDEX, "CMmPacketContextMesshandlerList::ContextIdByListIndex;contextId=%hhu", contextId );
}
// no else
// Valid values to return are, 0x00, 0x01, 0xFF = GPDS_CID_VOID
return contextId;
}
// -----------------------------------------------------------------------------
// CMmPacketContextMesshandlerList::GetContextTypeById
// This function returns context type by context id.
// -----------------------------------------------------------------------------
//
TUint8 CMmPacketContextMesshandlerList::GetContextTypeById(
const TUint8 aContextId )
{
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::GetContextTypeByName, ContextId: %d", aContextId );
OstTraceExt1( TRACE_NORMAL, CMMPACKETCONTEXTMESSHANDLERLIST_GETCONTEXTTYPEBYID, "CMmPacketContextMesshandlerList::GetContextTypeById;aContextId=%hhu", aContextId );
TUint8 ret( GPDS_CONT_TYPE_NORMAL );
// Find context id from context info list
for ( TInt i = 0; i < iNumberOfCreatedContexts; i++ )
{
if ( aContextId == iContextInfoArray[i].iContextId )
{
// if host context is defined => context is secondary context
if( 0 != iContextInfoArray[i].iHostContextName.Length() )
{
ret = GPDS_CONT_TYPE_SEC;
}
// no else
TFLOGSTRING2("TSY: CMmPacketContextMesshandlerList::GetContextTypeById, ContextType: %d", ret );
OstTraceExt1( TRACE_NORMAL, DUP1_CMMPACKETCONTEXTMESSHANDLERLIST_GETCONTEXTTYPEBYID, "CMmPacketContextMesshandlerList::GetContextTypeById;ContextType=%hhu", ret );
}
// no else
}
return ret;
}
// ========================== OTHER EXPORTED FUNCTIONS =========================
//None
// End of File