cbsref/telephonyrefplugins/atltsy/atcommand/generic/src/asynchelperrequest.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
// Description:
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    14
// This contains CAsyncHelperRequest which is a helper request which callback to ctsy asynchronously 
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    15
// 
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    16
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    17
#include <ctsy/ltsy/cctsydispatchercallback.h>
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    18
#include <rmmcustomapi.h> 
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    19
#include "asynchelperrequest.h"
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    20
#include <ctsy/ltsy/mltsydispatchphoneinterface.h>
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    21
#include "globalphonemanager.h"
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    22
#include "tsyconfg.h"
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    23
#include "mslogger.h"
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    24
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    25
// Class CAsyncHelperRequest
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    26
// ---------------------------------------------------------------------------
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    27
// CAsyncHelperRequest::NewL
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    28
// other items were commented in a header
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    29
// ---------------------------------------------------------------------------
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    30
CAsyncHelperRequest* CAsyncHelperRequest::NewL(CGlobalPhonemanager& aGloblePhone,
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    31
		                           CCtsyDispatcherCallback& aCallBack,
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    32
		                           TInt aPriority )
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    33
	{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    34
	CAsyncHelperRequest* newTimer=new(ELeave) CAsyncHelperRequest(aGloblePhone,aCallBack,aPriority);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    35
	CleanupStack::PushL(newTimer);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    36
	newTimer->ConstructL();
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    37
	CleanupStack::Pop();
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    38
	return newTimer;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    39
	}
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    40
// ---------------------------------------------------------------------------
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    41
// CAsyncHelperRequest::CAsyncHelperRequest
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    42
// other items were commented in a header
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    43
// ---------------------------------------------------------------------------
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    44
CAsyncHelperRequest ::CAsyncHelperRequest(CGlobalPhonemanager& aGloblePhone,
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    45
		                      CCtsyDispatcherCallback& aCallBack,
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    46
		                      TInt aPriority)
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    47
	: CTimer(aPriority),iCallBack(aCallBack),iGloblePhone(aGloblePhone)
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    48
	{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    49
	CActiveScheduler::Add(this);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    50
	iRequestId = 0;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    51
	iReqArray.Reset();
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    52
	}
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    53
// ---------------------------------------------------------------------------
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    54
// CAsyncHelperRequest::~CAsyncHelperRequest
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    55
// other items were commented in a header
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    56
// ---------------------------------------------------------------------------
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    57
CAsyncHelperRequest::~CAsyncHelperRequest()
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    58
	{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    59
	Cancel();
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    60
	}
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    61
// ---------------------------------------------------------------------------
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    62
// CAsyncHelperRequest::SetRequestId
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    63
// other items were commented in a header
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    64
// ---------------------------------------------------------------------------
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    65
void CAsyncHelperRequest::SetRequestId(const TInt aIpc)
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    66
	{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    67
	TInt count = iReqArray.Count();
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    68
	if((count > 0)||IsActive())
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    69
		{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    70
		iReqArray.Append(aIpc);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    71
		}
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    72
	else
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    73
		{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    74
		iRequestId = aIpc;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    75
		StartTimer();
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    76
		}
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    77
	}
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    78
// ---------------------------------------------------------------------------
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    79
// CAsyncHelperRequest::RunL
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    80
// other items were commented in a header
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    81
// ---------------------------------------------------------------------------
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    82
void CAsyncHelperRequest::RunL()
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    83
	{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    84
	switch(iRequestId)
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    85
		{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    86
		case MLtsyDispatchPhoneGetNetworkMode::KLtsyDispatchPhoneGetNetworkModeApiId:
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    87
			iCallBack.CallbackPhoneGetNetworkModeComp(KErrNone,RMobilePhone::ENetworkModeGsm);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    88
			break;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    89
		case MLtsyDispatchPhoneGetCurrentSystemNetworkModes::KLtsyDispatchPhoneGetCurrentSystemNetworkModesApiId:
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    90
			iCallBack.CallbackPhoneGetCurrentSystemNetworkModesComp(KErrNone,RMmCustomAPI::KCapsNetworkModeGsm);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    91
			break;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    92
		case MLtsyDispatchPhoneGetNitzInfo::KLtsyDispatchPhoneGetNitzInfoApiId:
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    93
			iCallBack.CallbackPhoneGetNitzInfoComp(KErrNone,iGloblePhone.iPhoneStatus.iMobilePhoneNITZ);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    94
			break;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    95
		case MLtsyDispatchPhoneSimRefreshRegister::KLtsyDispatchPhoneSimRefreshRegisterApiId:
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    96
			iCallBack.CallbackPhoneSimRefreshRegisterComp(KErrNone);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    97
			break;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    98
		case MLtsyDispatchPacketServicesSetDefaultPdpContextGprsParams::KLtsyDispatchPacketServicesSetDefaultPdpContextGprsParamsApiId:
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    99
			iCallBack.CallbackPacketServicesSetDefaultPdpContextParamsComp(KErrNone);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   100
			break;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   101
		case MLtsyDispatchPacketServicesGetStaticCapabilities::KLtsyDispatchPacketServicesGetStaticCapabilitiesApiId:
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   102
			TUint aCaps ;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   103
			aCaps=RPacketService::KCapsSetDefaultContextSupported;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   104
			aCaps|=RPacketService::KCapsMSClassSupported;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   105
			iCallBack.CallbackPacketServicesGetStaticCapabilitiesComp(KErrNone,aCaps);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   106
			break;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   107
		case MLtsyDispatchPacketServicesGetMaxNoMonitoredServiceLists::KLtsyDispatchPacketServicesGetMaxNoMonitoredServiceListsApiId:
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   108
			iCallBack.CallbackPacketServicesGetMaxNoMonitoredServiceListsComp(KErrNone,1);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   109
			break;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   110
		case MLtsyDispatchPacketServicesGetMaxNoActiveServices::KLtsyDispatchPacketServicesGetMaxNoActiveServicesApiId:
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   111
			iCallBack.CallbackPacketServicesGetMaxNoActiveServicesComp(KErrNone,1);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   112
			break;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   113
		case MLtsyDispatchPacketServicesGetStatus::KLtsyDispatchPacketServicesGetStatusApiId:
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   114
			iCallBack.CallbackPacketServicesGetStatusComp(KErrNone,iGloblePhone.iPhoneStatus.iPacketStatus,EFalse);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   115
			break;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   116
		case MLtsyDispatchPhoneGetDetectedNetworksCancel::KLtsyDispatchPhoneGetDetectedNetworksCancelApiId:
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   117
			iCallBack.CallbackPhoneGetDetectedNetworksCancelComp(KErrNone);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   118
			break;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   119
		case MLtsyDispatchPhoneSelectNetworkCancel::KLtsyDispatchPhoneSelectNetworkCancelApiId:
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   120
			iCallBack.CallbackPhoneSelectNetworkCancelComp(KErrGeneral);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   121
			break;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   122
		case MLtsyDispatchSmsSetMoSmsBearer::KLtsyDispatchSmsSetMoSmsBearerApiId:
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   123
			iCallBack.CallbackSmsSetMoSmsBearerComp(KErrNotSupported);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   124
			break;	
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   125
		case MLtsyDispatchPacketServicesGetPacketAttachMode::KLtsyDispatchPacketServicesGetPacketAttachModeApiId:
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   126
		    iCallBack.CallbackPacketServicesGetPacketAttachModeComp(KErrNone, RPacketService::EAttachWhenNeeded);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   127
		    break;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   128
		default:
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   129
			break;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   130
		}
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   131
	TInt count = iReqArray.Count();
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   132
	if(count > 0)
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   133
		{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   134
		iRequestId = iReqArray[0];
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   135
		iReqArray.Remove(0);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   136
		StartTimer();
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   137
		}
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   138
	}
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   139
// ---------------------------------------------------------------------------
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   140
// CAsyncHelperRequest::StartTimer
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   141
// other items were commented in a header
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   142
// ---------------------------------------------------------------------------
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   143
void CAsyncHelperRequest::StartTimer(const TTimeIntervalMicroSeconds32 aTimeout)
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   144
	{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   145
	if (IsActive())
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   146
		Cancel();
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   147
	After(aTimeout);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   148
	}
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   149
// ---------------------------------------------------------------------------
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   150
// CAsyncHelperRequest::StopTimer
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   151
// other items were commented in a header
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   152
// ---------------------------------------------------------------------------
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   153
void CAsyncHelperRequest::StopTimer()
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   154
	{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   155
	Cancel();
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   156
	}
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   157
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   158
//
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   159
// End of file