cbsref/telephonyrefplugins/atltsy/atcommand/pktservice/src/initialisepdpcontext.cpp
author hgs
Thu, 07 Oct 2010 11:24:36 +0100
changeset 76 91e0f833dd8b
parent 44 8b72faa1200f
permissions -rw-r--r--
201039_01
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
44
8b72faa1200f 201024_02
hgs
parents:
diff changeset
     1
// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
8b72faa1200f 201024_02
hgs
parents:
diff changeset
     2
// All rights reserved.
8b72faa1200f 201024_02
hgs
parents:
diff changeset
     3
// This component and the accompanying materials are made available
8b72faa1200f 201024_02
hgs
parents:
diff changeset
     4
// under the terms of "Eclipse Public License v1.0"
8b72faa1200f 201024_02
hgs
parents:
diff changeset
     5
// which accompanies this distribution, and is available
8b72faa1200f 201024_02
hgs
parents:
diff changeset
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
8b72faa1200f 201024_02
hgs
parents:
diff changeset
     7
//
8b72faa1200f 201024_02
hgs
parents:
diff changeset
     8
// Initial Contributors:
8b72faa1200f 201024_02
hgs
parents:
diff changeset
     9
// Nokia Corporation - initial contribution.
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    10
//
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    11
// Contributors:
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    12
//
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    13
// CInitialisePdpContext:
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    14
// 
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    15
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    16
#include "initialisepdpcontext.h"
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    17
#include "mslogger.h"
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    18
#include "tsyconfg.h"
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    19
#include "globalphonemanager.h"
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    20
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    21
const TInt KLtsyOnePause = 100000;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    22
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    23
// ---------------------------------------------------------------------------
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    24
// CInitialisePdpContext::NewL()
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    25
// other items were commented in a header
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    26
// ---------------------------------------------------------------------------
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    27
CInitialisePdpContext* CInitialisePdpContext::NewL(CGlobalPhonemanager& aGloblePhone, 
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    28
	                                               CCtsyDispatcherCallback& aCtsyDispatcherCallback)
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    29
	{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    30
	CInitialisePdpContext* self = new(ELeave) CInitialisePdpContext(aGloblePhone,aCtsyDispatcherCallback);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    31
	CleanupStack::PushL(self );
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    32
	self->ConstructL();
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    33
	CleanupStack::Pop();
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    34
	return self ;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    35
	}
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    36
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    37
// ---------------------------------------------------------------------------
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    38
// CInitialisePdpContext::CInitialisePdpContext()
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    39
// other items were commented in a header
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    40
// ---------------------------------------------------------------------------
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    41
CInitialisePdpContext::CInitialisePdpContext(CGlobalPhonemanager& aGloblePhone, 
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    42
	                                         CCtsyDispatcherCallback& aCtsyDispatcherCallback)
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    43
		:iPhoneGlobals(aGloblePhone),
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    44
		 iCtsyDispatcherCallback(aCtsyDispatcherCallback)
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    45
	{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    46
	}
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    47
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    48
// ---------------------------------------------------------------------------
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    49
// CInitialisePdpContext::ConstructL()
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    50
// other items were commented in a header
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    51
// ---------------------------------------------------------------------------
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    52
void CInitialisePdpContext::ConstructL()
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    53
	{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    54
	iCallbackTimer = CCallbackTimer::NewL(*this);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    55
	}
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    56
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    57
// ---------------------------------------------------------------------------
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    58
// CInitialisePdpContext::~CInitialisePdpContext()
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    59
// other items were commented in a header
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    60
// ---------------------------------------------------------------------------
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    61
CInitialisePdpContext::~CInitialisePdpContext()
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    62
	{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    63
	if(iCallbackTimer)
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    64
		{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    65
		iCallbackTimer->Cancel();
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    66
		delete iCallbackTimer;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    67
		iCallbackTimer = NULL;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    68
		}
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    69
	}
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    70
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    71
// ---------------------------------------------------------------------------
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    72
// CInitialisePdpContext::StartRequest()
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    73
// other items were commented in a header
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    74
// ---------------------------------------------------------------------------
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    75
void CInitialisePdpContext::StartRequest()
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    76
	{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    77
	iCallbackTimer->After(KLtsyOnePause);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    78
	}
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    79
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    80
// ---------------------------------------------------------------------------
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    81
// CInitialisePdpContext::SetContext()
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    82
// other items were commented in a header
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    83
// ---------------------------------------------------------------------------
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    84
void CInitialisePdpContext::SetContext(const TInt aContextId)
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    85
	{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    86
	iContextId = aContextId;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    87
	}
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    88
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    89
// ---------------------------------------------------------------------------
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    90
// CInitialisePdpContext::LoanCommPort()
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    91
// other items were commented in a header
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    92
// ---------------------------------------------------------------------------
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    93
void CInitialisePdpContext::LoanCommPort()
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    94
	{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    95
	TInt count = iPhoneGlobals.iContextList.Count();
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    96
	TInt i = 0;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    97
	
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    98
	//Get the context from context list
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    99
	for(i = 0; i < count;i++)
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   100
		{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   101
		if(iPhoneGlobals.iContextList[i]->iContextID == iContextId)
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   102
			{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   103
			break;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   104
			}
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   105
		}
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   106
	
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   107
	TFileName csy;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   108
	TName port;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   109
	if(iPhoneGlobals.iPhoneStatus.iDataPortLoaned)
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   110
		{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   111
		iCtsyDispatcherCallback.CallbackPacketServicesInitialisePdpContextComp(KErrEtelPortAlreadyLoaned,
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   112
				                iPhoneGlobals.iContextList[i]->iInfo.iName,
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   113
								port);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   114
		return ;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   115
		}
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   116
	TInt ret = 0;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   117
	TRAP(ret,iPhoneGlobals.iConfiguration->ConfigModemStringL(TPtrC(KCDTypeNameCsyName),csy));
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   118
	if (ret!=KErrNone)
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   119
		{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   120
		iCtsyDispatcherCallback.CallbackPacketServicesInitialisePdpContextComp(ret,
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   121
				                iPhoneGlobals.iContextList[i]->iInfo.iName,
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   122
				                port);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   123
		return ;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   124
		}
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   125
	TBuf8<KMaxName> tmp;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   126
	tmp.Copy(csy);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   127
    LOGTEXTREL2(_L8("csy:\t%S"),&tmp);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   128
	
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   129
	TRAP(ret,iPhoneGlobals.iConfiguration->ConfigModemStringL(TPtrC(KCDTypeNamePortName),port));
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   130
	if (ret!=KErrNone)
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   131
		{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   132
		iCtsyDispatcherCallback.CallbackPacketServicesInitialisePdpContextComp(ret,
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   133
				                iPhoneGlobals.iContextList[i]->iInfo.iName,
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   134
				                port);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   135
		return;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   136
		}
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   137
    tmp.Copy(port);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   138
    LOGTEXTREL2(_L8("port:\t%S"),&tmp);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   139
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   140
	iCtsyDispatcherCallback.CallbackPacketServicesInitialisePdpContextComp(KErrNone,
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   141
			                iPhoneGlobals.iContextList[i]->iInfo.iName,
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   142
			                port);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   143
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   144
	TContextMisc contextMisc;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   145
	contextMisc.iStatus = RPacketContext::EStatusInactive;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   146
	iPhoneGlobals.iContextList[i]->iInfo.iStatus = RPacketContext::EStatusInactive;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   147
	iCtsyDispatcherCallback.CallbackPacketServicesNotifyPdpContextStatusChangeInd(ret,
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   148
			                iPhoneGlobals.iContextList[i]->iInfo.iName,
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   149
							contextMisc);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   150
	iCtsyDispatcherCallback.CallbackPacketServicesNotifyPdpContextAddedInd(ret, 
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   151
			                iPhoneGlobals.iContextList[i]->iInfo.iName);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   152
	}
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   153
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   154
void CInitialisePdpContext::TimerRun(TInt aError)
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   155
    {
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   156
	if(aError == KErrNone)
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   157
	    {
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   158
	    LoanCommPort();
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   159
		}
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   160
	}
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   161
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   162
// End of file