--- a/cbsref/telephonyrefplugins/atltsy/handler/src/cltsypacketserviceshandler.cpp Tue Aug 31 16:23:08 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,995 +0,0 @@
-// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// CLtsyPacketServicesHandler
-
-#include <ctsy/ltsy/cctsydispatchercallback.h>
-#include <mmtsy_ipcdefs.h>
-#include <pcktcs.h>
-#include <ctsy/ltsy/ltsylogger.h>
-
-#include "commengine.h"
-#include "tsyconfg.h"
-#include "cltsypacketserviceshandler.h"
-#include "ltsymacros.h"
-#include "tsyconfg.h"
-#include "mslogger.h"
-#include "atgprsattach.h"
-#include "atgprsdetach.h"
-#include "atgprsntwkregstatus.h"
-#include "atgprsconfig.h"
-#include "initialisepdpcontext.h"
-#include "atgprscontextactivate.h"
-#include "activatecontextandgetaddr.h"
-#include "atgprscontextdeactivate.h"
-#include "atgprscontextdelete.h"
-#include "atgprsqosprofile.h"
-#include "asynchelperrequest.h"
-#include "atgprsntwkregstatuschange.h"
-
-CLtsyPacketServicesHandler::CLtsyPacketServicesHandler(
- CCtsyDispatcherCallback& aCtsyDispatcherCallback,
- CGlobalPhonemanager* aGloblePhone)
- : iCtsyDispatcherCallback(aCtsyDispatcherCallback),
- iGloblePhone(aGloblePhone)
- {
- }
-
-CLtsyPacketServicesHandler::~CLtsyPacketServicesHandler()
- {
- if(iAsyncHelperRequest)
- {
- delete iAsyncHelperRequest;
- iAsyncHelperRequest = NULL;
- }
- if(iNtwkRegStatusChange)
- {
- delete iNtwkRegStatusChange;
- iNtwkRegStatusChange = NULL;
- }
- }
-
-CLtsyPacketServicesHandler* CLtsyPacketServicesHandler::NewLC(
- CCtsyDispatcherCallback& aCtsyDispatcherCallback,
- CGlobalPhonemanager* aGloblePhone)
- {
- TSYLOGENTRYEXIT;
- CLtsyPacketServicesHandler* self = new (ELeave) CLtsyPacketServicesHandler(aCtsyDispatcherCallback,aGloblePhone);
- CleanupStack::PushL(self);
- self->ConstructL();
- return self;
- }
-
-CLtsyPacketServicesHandler* CLtsyPacketServicesHandler::NewL(CCtsyDispatcherCallback& aCtsyDispatcherCallback,
- CGlobalPhonemanager* aGloblePhone)
- {
- TSYLOGENTRYEXIT;
- CLtsyPacketServicesHandler* self=
- CLtsyPacketServicesHandler::NewLC(aCtsyDispatcherCallback,aGloblePhone);
- CleanupStack::Pop(self);
- return self;
- }
-
-void CLtsyPacketServicesHandler::ConstructL()
-/**
- * Second phase constructor.
- */
- {
- TSYLOGENTRYEXIT;
- iAsyncHelperRequest = CAsyncHelperRequest::NewL((*iGloblePhone), iCtsyDispatcherCallback);
- iInitialisePdpContext = CInitialisePdpContext::NewL(*iGloblePhone, iCtsyDispatcherCallback);
- iNtwkRegStatusChange = CATGprsNtwkRegStatusChange::NewL((*iGloblePhone), iCtsyDispatcherCallback);
- } // CLtsyPacketServicesHandler::ConstructL
-
-TBool CLtsyPacketServicesHandler::IsInterfaceSupported(TLtsyDispatchInterfaceApiId aDispatchApiId)
-/**
- * Returns whether a Dispatch Interface APi is supported or not.
- *
- * @param aDispatchApiId Id of Dispatch interface being queried
- * @return indication whether interface is supported or not
- */
- {
- switch(aDispatchApiId)
- {
- // Insert ApiIds when support is provided in LTSY e.g.
- case KLtsyDispatchPacketServicesPacketAttachApiId:
- return ETrue;
- case KLtsyDispatchPacketServicesGetPacketAttachModeApiId:
- return ETrue;
- case KLtsyDispatchPacketServicesGetPacketNetworkRegistrationStatusApiId:
- return ETrue;
- case KLtsyDispatchPacketServicesPacketDetachApiId:
- return ETrue;
- case KLtsyDispatchPacketServicesSetPdpContextConfigApiId:
- return ETrue;
- case KLtsyDispatchPacketServicesModifyActivePdpContextApiId:
- return EFalse;
- case KLtsyDispatchPacketServicesInitialisePdpContextApiId:
- return ETrue;
- case KLtsyDispatchPacketServicesDeletePdpContextApiId:
- return ETrue;
- case KLtsyDispatchPacketServicesSetPacketAttachModeApiId:
- return EFalse;
- case KLtsyDispatchPacketServicesNotifyPacketStatusChangeApiId:
- return ETrue;
- case KLtsyDispatchPacketServicesSetDefaultPdpContextGprsParamsApiId:
- return ETrue;
- case KLtsyDispatchPacketServicesSetDefaultPdpContextR99R4ParamsApiId:
- return ETrue;
- case KLtsyDispatchPacketServicesActivatePdpContextApiId:
- return ETrue;
- case KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId:
- return ETrue;
- case KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId:
- return ETrue;
- case KLtsyDispatchPacketServicesSetPdpContextQosR5ApiId:
- return ETrue;
- case KLtsyDispatchPacketServicesRejectNetworkInitiatedContextActivationRequestApiId:
- return ETrue;
- case KLtsyDispatchPacketServicesDeactivatePdpContextApiId:
- return ETrue;
- case KLtsyDispatchPacketServicesAddPacketFilterApiId:
- return EFalse;
- case KLtsyDispatchPacketServicesGetStatusApiId:
- return ETrue;
- case KLtsyDispatchPacketServicesGetStaticCapabilitiesApiId:
- return EFalse;
- case KLtsyDispatchPacketServicesGetMaxNoMonitoredServiceListsApiId:
- return EFalse;
- case KLtsyDispatchPacketServicesGetMaxNoActiveServicesApiId:
- return EFalse;
- case KLtsyDispatchPacketServicesInitialiseMbmsContextApiId:
- return EFalse;
- case KLtsyDispatchPacketServicesGetMbmsNetworkServiceStatusApiId:
- return EFalse;
- case KLtsyDispatchPacketServicesUpdateMbmsMonitorServiceListApiId:
- return EFalse;
- case KLtsyDispatchPacketServicesUpdateMbmsSessionListApiId:
- return EFalse;
- case KLtsyDispatchPacketServicesRemovePacketFilterApiId:
- return EFalse;
- default:
- return EFalse;
- }
- }
-
-void CLtsyPacketServicesHandler::IsCallbackIndicatorSupported(TLtsyDispatchIndIdGroup aIdGroup, TUint32& aIndIdBitMask)
-/**
- * Returns the set of callback indicators that are supported.
- *
- * @param aIdGroup ID of group that is being queried e.g. aIdGroup=EIndIdGroup1
- * @param aIndIdBitMask [out] argument that should return a bitmask indicating which indicator callbacks are supported.
- */
- {
- //Create bitmask with bitset for each indicator ID that is supported. E.g.
- if(aIdGroup == EIndIdGroup1)
- aIndIdBitMask = KLtsyDispatchPacketServicesNotifyQosProfileChangedIndId |
- KLtsyDispatchPacketServicesNotifyRatTransferCapsChangeIndId |
- KLtsyDispatchPacketServicesNotifyPacketDynamicCapsChangeIndId |
- KLtsyDispatchPacketServicesNotifyPdpContextAddedIndId |
- KLtsyDispatchPacketServicesNotifyNetworkInitiatedContextActivationRequestIndId |
- KLtsyDispatchPacketServicesNotifyPdpContextConfigChangedIndId |
- KLtsyDispatchPacketServicesNotifyPdpContextStatusChangeIndId |
- KLtsyDispatchPacketServicesNotifyPacketNetworkRegistrationStatusIndId;
- else
- aIndIdBitMask = 0; //no indicators from other groups supported
- }
-
-
-TInt CLtsyPacketServicesHandler::HandlePacketAttachReqL()
-/**
- * This request is completed by invoking
- * CCtsyDispatcherCallback::CallbackPacketServicesPacketAttachComp()
- *
- *
- * @return KErrNone on success, KErrNotSupported if this request is not supported,
- * or another error code to indicate the failure otherwise.
- */
- {
- TSYLOGENTRYEXIT;
- LOGTEXTREL(_L8("pkt:attach"));
-
- TInt ret = KErrNotSupported;
- ret = iGloblePhone->CheckGlobalPhoneStatus();
- if(KErrNone == ret)
- {
- CATGprsAttach* ATGprsAttach = CATGprsAttach::NewL(*iGloblePhone, iCtsyDispatcherCallback);
- iGloblePhone->iEventSignalActive = ETrue;
- iGloblePhone->SetActiveRequest(ATGprsAttach);
- ATGprsAttach->StartRequest();
- }
- else
- {
- LOGTEXTREL2(_L8("pkt:err(%d) in attach"), ret);
- }
-
- return TSYLOGSETEXITERR(ret);
- } // CLtsyPacketServicesHandler::HandlePacketAttachReqL
-
-
-TInt CLtsyPacketServicesHandler::HandleGetPacketAttachModeReqL()
-/**
- * This request is completed by invoking
- * CCtsyDispatcherCallback::CallbackPacketServicesGetPacketAttachModeComp()
- *
- * @return KErrNone on success, KErrNotSupported if this request is not supported,
- * or another error code to indicate the failure otherwise.
- */
- {
- TSYLOGENTRYEXIT;
- TInt ret = KErrNone;
- iAsyncHelperRequest->SetRequestId(MLtsyDispatchPacketServicesGetPacketAttachMode::KLtsyDispatchPacketServicesGetPacketAttachModeApiId);
-
- return TSYLOGSETEXITERR(ret);
- } // CLtsyPacketServicesHandler::HandleGetPacketAttachModeReqL
-
-
-TInt CLtsyPacketServicesHandler::HandleGetPacketNetworkRegistrationStatusReqL()
-/**
- * This request is completed by invoking
- * CCtsyDispatcherCallback::CallbackPacketServicesGetPacketNetworkRegistrationStatusComp()
- *
- * @return KErrNone on success, KErrNotSupported if this request is not supported,
- * or another error code to indicate the failure otherwise.
- */
- {
- TSYLOGENTRYEXIT;
-
- TInt ret = KErrNotSupported;
- ret = iGloblePhone->CheckGlobalPhoneStatus();
- if(KErrNone == ret)
- {
- CATGprsNtwkRegStatus* ATGprsNtwkRegStatus = CATGprsNtwkRegStatus::NewL(*iGloblePhone,
- iCtsyDispatcherCallback,
- *iNtwkRegStatusChange);
- iGloblePhone->iEventSignalActive = ETrue;
- iGloblePhone->SetActiveRequest(ATGprsNtwkRegStatus);
- ATGprsNtwkRegStatus->StartRequest();
- }
- else
- {
- LOGTEXTREL2(_L8("pkt:err(%d) in GetPacketNetworkRegistrationStatus"), ret);
- }
-
- return TSYLOGSETEXITERR(ret);
- } // CLtsyPacketServicesHandler::HandleGetPacketNetworkRegistrationStatusReqL
-
-
-TInt CLtsyPacketServicesHandler::HandlePacketDetachReqL()
-/**
- * This request is completed by invoking
- * CCtsyDispatcherCallback::CallbackPacketServicesPacketDetachComp()
- *
- * @return KErrNone on success, KErrNotSupported if this request is not supported,
- * or another error code to indicate the failure otherwise.
- */
- {
- TSYLOGENTRYEXIT;
- LOGTEXTREL(_L8("pkt:detach"));
-
- TInt ret = KErrNotSupported;
- ret = iGloblePhone->CheckGlobalPhoneStatus();
- if(KErrNone == ret)
- {
- CATGprsDetach* ATGprsDetach = CATGprsDetach::NewL(*iGloblePhone, iCtsyDispatcherCallback);
- iGloblePhone->iEventSignalActive = ETrue;
- iGloblePhone->SetActiveRequest(ATGprsDetach);
- ATGprsDetach->StartRequest();
- }
- else
- {
- LOGTEXTREL2(_L8("pkt:err(%d) in detach"), ret);
- }
-
- return TSYLOGSETEXITERR(ret);
- } // CLtsyPacketServicesHandler::HandlePacketDetachReqL
-
-
-TInt CLtsyPacketServicesHandler::HandleSetPdpContextConfigReqL(const TDesC& aContextId,
- const TDesC8& aAccessPointName,
- const RPacketContext::TProtocolType aPdpType,
- const TDesC8& aPdpAddress,
- const TDesC8& aPcoBuffer)
-/**
- * This request is completed by invoking
- * CCtsyDispatcherCallback::CallbackPacketServicesSetPdpContextConfigComp()
- *
- * @param contextId The context name, the descriptor should be TBuf<10>
- * @param iAccessPointName The access name which identifies the GGSN to be used
- * @param iPdpType The protocol type
- * @param iPdpAddress The PDP address for this context
- * @param aPcoBuffer The pco buffer
- *
- * The purpose of the protocol configuration options (PCO) is to transfer external network protocol options
- * associated with a PDP context activation, and transfer additional (protocol) data
- * (e.g. configuration parameters, error codes or messages/events) associated with an external protocol
- * or an application.
- * The protocol configuration options (PCO) is a type 4 information element with a minimum length of 3
- * octets and a maximum length of 253 octets
- * In order to generate the PCO buffer a TTlvStruct object is being used. The TTlvStruct wraps the buffers
- * inserted to the PCO and identifies the buffers with given IDs.
- *
- * @return KErrNone on success, KErrNotSupported if this request is not supported,
- * or another error code to indicate the failure otherwise.
- */
- {
- TSYLOGENTRYEXIT;
-
- LOGTEXTREL2(_L8("pkt:setconfig,APN>%S<"), &aAccessPointName);
- TInt ret = KErrNotSupported;
- ret = iGloblePhone->CheckGlobalPhoneStatus();
- if(KErrNone == ret)
- {
- TInt tmp = GetContext(aContextId);
- if(tmp >= 0)
- {
- iGloblePhone->iContextList[tmp]->iDefContextConfigGPRS.iAccessPointName = aAccessPointName;
- iGloblePhone->iContextList[tmp]->iDefContextConfigGPRS.iPdpType = aPdpType;
- iGloblePhone->iContextList[tmp]->iDefContextConfigGPRS.iPdpAddress = aPdpAddress;
- iGloblePhone->iContextList[tmp]->iDefContextConfigGPRS.iProtocolConfigOption.iMiscBuffer = aPcoBuffer;
-
-
- CATGPRSSetConfig* ATGPRSSetConfig = CATGPRSSetConfig::NewL(*iGloblePhone, iCtsyDispatcherCallback);
- iGloblePhone->iEventSignalActive = ETrue;
- ATGPRSSetConfig->SetContext(iGloblePhone->iContextList[tmp]->iContextID);
- iGloblePhone->SetActiveRequest(ATGPRSSetConfig);
- ATGPRSSetConfig->StartRequest();
- }
- else
- {
- LOGTEXTREL2(_L8("pkt:err(%d) in setconfig, not found"), tmp);
- }
- }
- else
- {
- LOGTEXTREL2(_L8("pkt:err(%d) in setconfig"), ret);
- }
-
- return TSYLOGSETEXITERR(ret);
- } // CLtsyPacketServicesHandler::HandleSetPdpContextConfigReqL
-
-
-TInt CLtsyPacketServicesHandler::HandleModifyActivePdpContextReqL(const TDesC& /*aContextName*/)
-/**
- * This request is completed by invoking
- * CCtsyDispatcherCallback::CallbackPacketServicesModifyActivePdpContextComp()
- *
- * @param aContextName Context name for which the modification is intended
- *
- * @return KErrNone on success, KErrNotSupported if this request is not supported,
- * or another error code to indicate the failure otherwise.
- */
- {
- TSYLOGENTRYEXIT;
-
- TInt ret = KErrNotSupported;
-
- return TSYLOGSETEXITERR(ret);
- } // CLtsyPacketServicesHandler::HandleModifyActivePdpContextReqL
-
-
-TInt CLtsyPacketServicesHandler::HandleInitialisePdpContextReqL(const TDesC& aPrimaryContextName, const TDesC& /*aSecondaryContextName*/)
-/**
- * This request is completed by invoking
- * CCtsyDispatcherCallback::CallbackPacketServicesInitialisePdpContextComp()
- *
- * @param aPrimaryContextName Primary context name in the form of a character string, the descriptor should be TBuf<10>
- * @param aSecondaryContextName Optional secondary context name in the form of a character string, the descriptor should be TBuf<10>
- *
- * @return KErrNone on success, KErrNotSupported if this request is not supported,
- * or another error code to indicate the failure otherwise.
- */
- {
- TSYLOGENTRYEXIT;
- LOGTEXT2(_L8("aPrimaryContextName >%S<"), &aPrimaryContextName);
- LOGTEXTREL2(_L8("pkt:initctxt>%S<"), &aPrimaryContextName);
- TInt ret = KErrNone;
- TInt cid = 0;
- TInt contextCount = iGloblePhone->iContextList.Count();
- if(contextCount > 0)
- {
- for(TInt i = 0;i < contextCount;i++)
- {
- if(iGloblePhone->iContextList[i]->iInfo.iName == aPrimaryContextName)
- {
- LOGTEXTREL2(_L8("pkt:err(%d) in initctxt, already existed"), ret);
- return KErrNotSupported;
- }
- }
- }
-
- cid = GenerateNewContextCid(aPrimaryContextName);
- LOGTEXT2(_L8("newcid=%d"),cid);
- if(cid > MaxNumberOfContexts())
- {
- LOGTEXTREL2(_L8("pkt:err(%d) in initctxt, context number overflow"), ret);
- return KErrNotSupported;
- }
-
- TContextInfomation *tmpContext = new TContextInfomation;
- tmpContext->iInfo.iName = aPrimaryContextName;
- tmpContext->iContextID = cid;
- iGloblePhone->iContextList.Append(tmpContext);
- LOGTEXT2(_L8("iGloblePhone->iContextList[0]->iContextID=%d"),iGloblePhone->iContextList[0]->iContextID);
-
- iInitialisePdpContext->SetContext(cid);
- iInitialisePdpContext->StartRequest();
-
- return TSYLOGSETEXITERR(ret);
- } // CLtsyPacketServicesHandler::HandleInitialisePdpContextReqL
-
-
-TInt CLtsyPacketServicesHandler::HandleDeletePdpContextReqL(const TDesC& aContextName)
-/**
- * This request is completed by invoking
- * CCtsyDispatcherCallback::CallbackPacketServicesDeletePdpContextComp()
- *
- * @param aContextName the context name to be deleted, , the descriptor should be TBuf<10>
- *
- * @return KErrNone on success, KErrNotSupported if this request is not supported,
- * or another error code to indicate the failure otherwise.
- */
- {
- TSYLOGENTRYEXIT;
- LOGTEXTREL2(_L8("pkt:delete aContextName:\t%S"),&aContextName);
-
- TInt ret = KErrNotSupported;
- ret = iGloblePhone->CheckGlobalPhoneStatus();
- if(KErrNone == ret)
- {
- TInt tmp = -1;
- tmp = GetContext(aContextName);
- if(tmp >= 0)
- {
- CATGprsContextDelete* ATGprsContextDelete = CATGprsContextDelete::NewL(*iGloblePhone, iCtsyDispatcherCallback);
- iGloblePhone->iEventSignalActive = ETrue;
- ATGprsContextDelete->SetContext(iGloblePhone->iContextList[tmp]->iContextID);
- iGloblePhone->SetActiveRequest(ATGprsContextDelete);
- ATGprsContextDelete->StartRequest();
- }
- else
- {
- LOGTEXTREL2(_L8("pkt:err(%d) in deletectxt, not found"), tmp);
- ret = KErrNotFound;
- }
- }
- else
- {
- LOGTEXTREL2(_L8("pkt:err(%d) in deletectxt"), ret);
- }
-
- return TSYLOGSETEXITERR(ret);
- } // CLtsyPacketServicesHandler::HandleDeletePdpContextReqL
-
-
-TInt CLtsyPacketServicesHandler::HandleSetPacketAttachModeReqL(RPacketService::TAttachMode /*aAttachMode*/)
-/**
- * This request is completed by invoking
- * CCtsyDispatcherCallback::CallbackPacketServicesSetPacketAttachModeComp()
- *
- * @param aAttachMode the attach mode due to be set.
- *
- * @return KErrNone on success, KErrNotSupported if this request is not supported,
- * or another error code to indicate the failure otherwise.
- */
- {
- TSYLOGENTRYEXIT;
- TInt ret = KErrNotSupported;
- return TSYLOGSETEXITERR(ret);
- } // CLtsyPacketServicesHandler::HandleSetPacketAttachModeReqL
-
-
-TInt CLtsyPacketServicesHandler::HandleNotifyPacketStatusChangeReqL()
-/**
- * This request is completed by invoking
- * CCtsyDispatcherCallback::CallbackPacketServicesNotifyPacketStatusChangeComp()
- *
- * @return KErrNone on success, KErrNotSupported if this request is not supported,
- * or another error code to indicate the failure otherwise.
- */
- {
- TSYLOGENTRYEXIT;
-
- TInt ret = KErrNotSupported;
- return TSYLOGSETEXITERR(ret);
- } // CLtsyPacketServicesHandler::HandleNotifyPacketStatusChangeReqL
-
-
-TInt CLtsyPacketServicesHandler::HandleSetDefaultPdpContextGprsParamsReqL(const RPacketContext::TContextConfigGPRS& aContextConfigGprs)
-/**
- * This request is completed by invoking
- * CCtsyDispatcherCallback::CallbackPacketServicesSetDefaultPdpContextParamsComp()
- *
- * @param aContextConfigGprs Default GPRS parameters
- * @return KErrNone on success, KErrNotSupported if this request is not supported,
- * or another error code to indicate the failure otherwise.
- */
- {
- TSYLOGENTRYEXIT;
- TInt ret = 0;
- SetDefaultContextConfigGPRS(&aContextConfigGprs);
- iAsyncHelperRequest->SetRequestId(KLtsyDispatchPacketServicesSetDefaultPdpContextGprsParamsApiId);
- return TSYLOGSETEXITERR(ret);
- } // CLtsyPacketServicesHandler::HandleSetDefaultPdpContextGprsParamsReqL
-
-TInt CLtsyPacketServicesHandler::HandleSetDefaultPdpContextR99R4ParamsReqL(const RPacketContext::TContextConfigR99_R4& /*aContextConfigR99R4*/)
-/**
- * This request is completed by invoking
- * CCtsyDispatcherCallback::CallbackPacketServicesSetDefaultPdpContextParamsComp()
- *
- * @param aContextConfigR99R4 Default R99/R4 parameters
- *
- * @return KErrNone on success, KErrNotSupported if this request is not supported,
- * or another error code to indicate the failure otherwise.
- */
- {
- TSYLOGENTRYEXIT;
- TInt ret = KErrNotSupported;
- return TSYLOGSETEXITERR(ret);
- } // CLtsyPacketServicesHandler::HandleSetDefaultPdpContextR99R4ParamsReqL
-
-
-
-TInt CLtsyPacketServicesHandler::HandleActivatePdpContextReqL(const TDesC& aContextName)
-/**
- * This request is completed by invoking
- * CCtsyDispatcherCallback::CallbackPacketServicesActivatePdpContextComp()
- *
- * @param aContextName The context name.
- *
- * @return KErrNone on success, KErrNotSupported if this request is not supported,
- * or another error code to indicate the failure otherwise.
- */
- {
- TSYLOGENTRYEXIT;
-
- LOGTEXTREL(_L8("pkt:activatectxt"));
- TInt ret = KErrNotSupported;
- ret = iGloblePhone->CheckGlobalPhoneStatus();
- if(KErrNone == ret)
- {
- TInt tmp = GetContext(aContextName);
- if(tmp >= 0)
- {
- CActivatContextAndGetAddr* ActivatContextAndGetAddr = CActivatContextAndGetAddr::NewL(*iGloblePhone, iCtsyDispatcherCallback);
- iGloblePhone->iEventSignalActive = ETrue;
- ActivatContextAndGetAddr->SetContext(iGloblePhone->iContextList[tmp]->iContextID);
- iGloblePhone->SetActiveRequest(ActivatContextAndGetAddr);
- ActivatContextAndGetAddr->StartRequest();
- }
- }
- else
- {
- LOGTEXTREL2(_L8("pkt:err(%d) in activatectxt"), ret);
- }
-
- return TSYLOGSETEXITERR(ret);
- } // CLtsyPacketServicesHandler::HandleActivatePdpContextReqL
-
-
-TInt CLtsyPacketServicesHandler::HandleSetPdpContextQosGprsReqL(const TDesC& aContextName, const RPacketQoS::TQoSGPRSRequested& aQoSConfig)
-/**
- * This request is completed by invoking
- * CCtsyDispatcherCallback::CallbackPacketServicesSetPdpContextQosComp()
- *
- * @param aContextName the name of the context.
- * @param aQoSConfig the QoS configuration parameters.
- *
- * @return KErrNone on success, KErrNotSupported if this request is not supported,
- * or another error code to indicate the failure otherwise.
- */
- {
- TSYLOGENTRYEXIT;
-
- LOGTEXTREL(_L8("pkt:setctxtQos"));
- TInt ret = KErrNotSupported;
- ret = iGloblePhone->CheckGlobalPhoneStatus();
- if(KErrNone == ret)
- {
- TInt tmp = GetContext(aContextName);
- if(tmp >= 0)
- {
- CATGprsSetProfileReq* ATGprsSetProfileReq = CATGprsSetProfileReq::NewL(*iGloblePhone, iCtsyDispatcherCallback);
- iGloblePhone->iEventSignalActive = ETrue;
- iGloblePhone->iContextList[tmp]->iQoSConfig = aQoSConfig;
- ATGprsSetProfileReq->SetContext(iGloblePhone->iContextList[tmp]->iContextID);
- iGloblePhone->SetActiveRequest(ATGprsSetProfileReq);
- ATGprsSetProfileReq->StartRequest();
- }
- }
- else
- {
- LOGTEXTREL2(_L8("pkt:err(%d) in setctxtQos"), ret);
- }
-
- return TSYLOGSETEXITERR(ret);
- } // CLtsyPacketServicesHandler::HandleSetPdpContextQosGprsReqL
-
-TInt CLtsyPacketServicesHandler::HandleSetPdpContextQosR99R4ReqL(const TDesC& aContextName, const RPacketQoS::TQoSR99_R4Requested& /*aQoSConfig*/)
-/**
- * This request is completed by invoking
- * CCtsyDispatcherCallback::CallbackPacketServicesSetPdpContextQosComp()
- *
- * @param aContextName The name of the context.
- * @param aQoSConfig The QoS configuration parameters.
- *
- * @return KErrNone on success, KErrNotSupported if this request is not supported,
- * or another error code to indicate the failure otherwise.
- */
- {
- TSYLOGENTRYEXIT;
-
- RPacketQoS::TQoSGPRSRequested qosGprsReq;
- qosGprsReq.iReqPrecedence = RPacketQoS::EPriorityMediumPrecedence;
- qosGprsReq.iMinPrecedence = RPacketQoS::EPriorityMediumPrecedence;
- qosGprsReq.iReqDelay = RPacketQoS::EUnspecifiedDelayClass;
- qosGprsReq.iMinDelay = RPacketQoS::EUnspecifiedDelayClass;
- qosGprsReq.iReqReliability = RPacketQoS::EUnspecifiedReliabilityClass;
- qosGprsReq.iMinReliability = RPacketQoS::EUnspecifiedReliabilityClass;
- qosGprsReq.iReqPeakThroughput = RPacketQoS::EUnspecifiedPeakThroughput;
- qosGprsReq.iMinPeakThroughput = RPacketQoS::EUnspecifiedPeakThroughput;
- qosGprsReq.iReqMeanThroughput = RPacketQoS::EMeanThroughputBestEffort;
- qosGprsReq.iMinMeanThroughput = RPacketQoS::EMeanThroughputBestEffort;
-
- return HandleSetPdpContextQosGprsReqL(aContextName, qosGprsReq);
- } // CLtsyPacketServicesHandler::HandleSetPdpContextQosR99R4ReqL
-
-TInt CLtsyPacketServicesHandler::HandleSetPdpContextQosR5ReqL(const TDesC& aContextName, const RPacketQoS::TQoSR5Requested& /*aQoSConfig*/)
-/**
- * This request is completed by invoking
- * CCtsyDispatcherCallback::CallbackPacketServicesSetPdpContextQosComp()
- *
- * @param aContextName The name of the context.
- * @param aQoSConfig The QoS configuration parameters.
- *
- * @return KErrNone on success, KErrNotSupported if this request is not supported,
- * or another error code to indicate the failure otherwise.
- */
- {
- TSYLOGENTRYEXIT;
-
- RPacketQoS::TQoSGPRSRequested qosGprsReq;
- qosGprsReq.iReqPrecedence = RPacketQoS::EPriorityMediumPrecedence;
- qosGprsReq.iMinPrecedence = RPacketQoS::EPriorityMediumPrecedence;
- qosGprsReq.iReqDelay = RPacketQoS::EUnspecifiedDelayClass;
- qosGprsReq.iMinDelay = RPacketQoS::EUnspecifiedDelayClass;
- qosGprsReq.iReqReliability = RPacketQoS::EUnspecifiedReliabilityClass;
- qosGprsReq.iMinReliability = RPacketQoS::EUnspecifiedReliabilityClass;
- qosGprsReq.iReqPeakThroughput = RPacketQoS::EUnspecifiedPeakThroughput;
- qosGprsReq.iMinPeakThroughput = RPacketQoS::EUnspecifiedPeakThroughput;
- qosGprsReq.iReqMeanThroughput = RPacketQoS::EMeanThroughputBestEffort;
- qosGprsReq.iMinMeanThroughput = RPacketQoS::EMeanThroughputBestEffort;
-
- return HandleSetPdpContextQosGprsReqL(aContextName, qosGprsReq);
- } // CLtsyPacketServicesHandler::HandleSetPdpContextQosR5ReqL
-
-
-
-TInt CLtsyPacketServicesHandler::HandleRejectNetworkInitiatedContextActivationRequestReqL()
-/**
- * This request is completed by invoking
- * CCtsyDispatcherCallback::CallbackPacketServicesRejectNetworkInitiatedContextActivationRequestComp()
- *
- *
- * @return KErrNone on success, KErrNotSupported if this request is not supported,
- * or another error code to indicate the failure otherwise.
- */
- {
- TSYLOGENTRYEXIT;
-
- TInt ret = KErrNotSupported;
-
-
- return TSYLOGSETEXITERR(ret);
- } // CLtsyPacketServicesHandler::HandleRejectNetworkInitiatedContextActivationRequestReqL
-
-
-TInt CLtsyPacketServicesHandler::HandleDeactivatePdpContextReqL(const TDesC& aContextName)
-/**
- * This request is completed by invoking
- * CCtsyDispatcherCallback::CallbackPacketServicesDeactivatePdpContextComp()
- *
- * @param aContextName The context name that is to be deactivated.
- *
- * @return KErrNone on success, KErrNotSupported if this request is not supported,
- * or another error code to indicate the failure otherwise.
- */
- {
- TSYLOGENTRYEXIT;
- LOGTEXTREL2(_L8("pkt:deact ctxt>%S<"),&aContextName);
- TInt ret = KErrNotSupported;
-
- ret = iGloblePhone->CheckGlobalPhoneStatus();
- if(KErrNone == ret)
- {
- TInt tmp = GetContext(aContextName);
- if(tmp >= 0)
- {
- CATGprsContextDeactivate* ATGprsContextDeactivate = CATGprsContextDeactivate::NewL(*iGloblePhone, iCtsyDispatcherCallback);
- iGloblePhone->iEventSignalActive = ETrue;
- ATGprsContextDeactivate->SetContext(iGloblePhone->iContextList[tmp]->iContextID);
- iGloblePhone->SetActiveRequest(ATGprsContextDeactivate);
- ATGprsContextDeactivate->StartRequest();
- ret = KErrNone;
- }
- else
- {
- LOGTEXTREL2(_L8("pkt:err(%d) in deact ctxt, not found"), tmp);
- ret = KErrNotFound;
- }
- }
- else
- {
- LOGTEXTREL2(_L8("pkt:err(%d) in deact ctxt"), ret);
- }
-
- return TSYLOGSETEXITERR(ret);
- } // CLtsyPacketServicesHandler::HandleDeactivatePdpContextReqL
-
-TInt CLtsyPacketServicesHandler::HandleAddPacketFilterSyncL(const TDesC& /*aContextName*/, CArrayFixFlat<RPacketContext::TPacketFilterV2>& /*aContextFilter*/)
-/**
- * This request is completed by invoking
- * CCtsyDispatcherCallback::CallbackPacketServicesSetPdpContextConfigComp
- *
- * @param aContextName The name of the context.
- * @param aContextFilter An array contains up to eight filters to be used
- * for configuring the secondary context.
- *
- * @return KErrNone on success, KErrNotSupported if this request is not supported,
- * or another error code to indicate the failure otherwise.
- */
- {
- TSYLOGENTRYEXIT;
-
- TInt ret = KErrNotSupported;
-
- return TSYLOGSETEXITERR(ret);
- } // CLtsyPacketServicesHandler::HandleAddPacketFilterSyncL
-
-
-TInt CLtsyPacketServicesHandler::HandleGetStatusReqL()
-/**
- * This request is completed by invoking
- * CCtsyDispatcherCallback::CallbackPacketServicesGetStatus()
- *
- * @return KErrNone on success, KErrNotSupported if this request is not supported,
- * or another error code to indicate the failure otherwise.
- */
- {
- TSYLOGENTRYEXIT;
- TInt ret = 0;
- iAsyncHelperRequest->SetRequestId(KLtsyDispatchPacketServicesGetStatusApiId);
-
- return TSYLOGSETEXITERR(ret);
- } // CLtsyPacketServicesHandler::HandleGetStatusReqL
-
-TInt CLtsyPacketServicesHandler::HandleGetStaticCapabilitiesReqL()
-/**
- * This request is completed by invoking
- * CCtsyDispatcherCallback::CallbackPacketServicesGetStaticCapabilitiesComp()
- *
- * @return KErrNone on success, KErrNotSupported if this request is not supported,
- * or another error code to indicate the failure otherwise.
- */
- {
- TSYLOGENTRYEXIT;
- TInt ret = 0;
- iAsyncHelperRequest->SetRequestId(KLtsyDispatchPacketServicesGetStaticCapabilitiesApiId);
- return TSYLOGSETEXITERR(ret);
- } // CLtsyPacketServicesHandler::HandleGetStaticCapabilitiesReqL
-
-TInt CLtsyPacketServicesHandler::HandleGetMaxNoMonitoredServiceListsReqL()
-/**
- * This request is completed by invoking
- * CCtsyDispatcherCallback::CallbackPacketServicesGetMaxNoMonitoredServiceListsComp()
- *
- * @return KErrNone on success, KErrNotSupported if this request is not supported,
- * or another error code to indicate the failure otherwise.
- */
- {
- TSYLOGENTRYEXIT;
-
- TInt ret = 0;
- iAsyncHelperRequest->SetRequestId(KLtsyDispatchPacketServicesGetMaxNoMonitoredServiceListsApiId);
- return TSYLOGSETEXITERR(ret);
- } // CLtsyPacketServicesHandler::HandleGetMaxNoMonitoredServiceListsReqL
-
-TInt CLtsyPacketServicesHandler::HandleGetMaxNoActiveServicesReqL()
-/**
- * This request is completed by invoking
- * CCtsyDispatcherCallback::CallbackPacketServicesGetMaxNoActiveServicesComp()
- *
- * @return KErrNone on success, KErrNotSupported if this request is not supported,
- * or another error code to indicate the failure otherwise.
- */
- {
- TSYLOGENTRYEXIT;
- TInt ret = 0;
- iAsyncHelperRequest->SetRequestId(KLtsyDispatchPacketServicesGetMaxNoActiveServicesApiId);
-
- return TSYLOGSETEXITERR(ret);
- } // CLtsyPacketServicesHandler::HandleGetMaxNoActiveServicesReqL
-
-TInt CLtsyPacketServicesHandler::HandleInitialiseMbmsContextReqL(const TDesC& /*aContextName*/)
-/**
- * This request is completed by invoking
- * CCtsyDispatcherCallback::CallbackPacketServicesInitialiseMbmsContextComp()
- *
- * @param aContextName The context name in the form of a character string
- * the maximum length of the descriptor should not exceed KMaxInfoName.
- *
- * @return KErrNone on success, KErrNotSupported if this request is not supported,
- * or another error code to indicate the failure otherwise.
- */
- {
- TSYLOGENTRYEXIT;
-
- TInt ret = KErrNotSupported;
-
- return TSYLOGSETEXITERR(ret);
- } // CLtsyPacketServicesHandler::HandleInitialiseMbmsContextReqL
-
-TInt CLtsyPacketServicesHandler::HandleGetMbmsNetworkServiceStatusReqL(TBool /*aAttemptAttach*/)
-/**
- * This request is completed by invoking
- * CCtsyDispatcherCallback::CallbackPacketServicesGetMbmsNetworkServiceStatusComp()
- *
- * @param aAttemptAttach If a GMM attached is to be perfomed.
- *
- * @return KErrNone on success, KErrNotSupported if this request is not supported,
- * or another error code to indicate the failure otherwise.
- */
- {
- TSYLOGENTRYEXIT;
-
- TInt ret = KErrNotSupported;
-
- return TSYLOGSETEXITERR(ret);
- } // CLtsyPacketServicesHandler::HandleGetMbmsNetworkServiceStatusReqL
-
-TInt CLtsyPacketServicesHandler::HandleUpdateMbmsMonitorServiceListsReqL(TMbmsAction /*aAction*/, const CPcktMbmsMonitoredServiceList& /*aServiceList*/, const CPcktMbmsMonitoredServiceList& /*aChangeList*/)
-/**
- * It is a request call that is completed by invoking
- * CCtsyDispatcherCallback::CallbackPacketServicesUpdateMbmsMonitorServiceListComp()
- *
- * @param aAction The MBMS action (add, remove or remove all).
- * @param aServiceList The current MBMS monitor service availability list as held by the CTSY.
- * @param aChangeList The list of entries to be changed as per the action. (e.g. the action = Add,
- * the change list will contain entries to be added to the MBMS monitor service availability list)
- *
- * @return KErrNone on success, otherwise another error code indicating the
- * failure.
- */
- {
- TSYLOGENTRYEXIT;
-
- TInt ret = KErrNotSupported;
-
- return TSYLOGSETEXITERR(ret);
- } // CLtsyPacketServicesHandler::HandleUpdateMbmsMonitorServiceListsReqL
-
-
-TInt CLtsyPacketServicesHandler::HandleUpdateMbmsSessionListReqL(const TDesC& /*aContextName*/, TMbmsAction /*aAction*/, TMbmsSessionId /*aSessionId*/, const TMbmsSessionIdList& /*aServiceList*/)
-/**
- * It is a request call that is completed by invoking
- * CCtsyDispatcherCallback::CallbackPacketServicesUpdateMbmsSessionListComp()
- *
- * @param aContextName The MBMS context name in the form of a character string.
- * @param aAction The action to be performed (add, remove or remove all).
- * @param aSessionId The MBMS session identifier which needs to be received or removed.
- * @param aServiceList The MBMS services table as held by the CTSY.
- *
- * @return KErrNone on success, otherwise another error code indicating the
- * failure.
- */
- {
- TSYLOGENTRYEXIT;
-
- TInt ret = KErrNotSupported;
-
- return TSYLOGSETEXITERR(ret);
- } // CLtsyPacketServicesHandler::HandleUpdateMbmsSessionListReqL
-
-
-TInt CLtsyPacketServicesHandler::HandleRemovePacketFilterSyncL(const TDesC& /*aContextName*/, TInt /*aFilterId*/)
-/**
- * This request is completed by invoking
- * CCtsyDispatcherCallback::CallbackPacketServicesSetPdpContextConfigComp
- *
- * @param aContextName The name of the context.
- * @param aFilterId The filter Id to be removed.
- *
- * @return KErrNone on success, KErrNotSupported if this request is not supported,
- * or another error code to indicate the failure otherwise.
- */
- {
- TSYLOGENTRYEXIT;
-
- TInt ret = KErrNotSupported;
-
- return TSYLOGSETEXITERR(ret);
- } // CLtsyPacketServicesHandler::HandleRemovePacketFilterSyncL
-
-TInt CLtsyPacketServicesHandler::MaxNumberOfContexts()
-/**
- * This function returns the maximum number of contexts that the phone supports.
- */
- {
- return iGloblePhone->iPhoneStatus.iGprsMaxNumContexts;
- }
-TInt CLtsyPacketServicesHandler::GetContext(const TDesC& aName)
-/**
- * This function returns a specific context
- * @param aCount context to Retrieve in linked list.
- */
- {
- TInt index = -1;
- TInt count = iGloblePhone->iContextList.Count();
- for(TInt i = 0; i < count; i++)
- {
- if(0 ==(iGloblePhone->iContextList[i]->iInfo.iName.Compare(aName)))
- {
- index = i;
- }
- }
-
- LOGTEXT3(_L8("[Ltsy Pkt] iContext->ContextName() >%S<, index=%d"), &aName, index);
- return index;
- }
-
-TInt CLtsyPacketServicesHandler::GenerateNewContextCid(const TDesC& /*aName*/)
-/**
- * This function generates a unique context name and the first not taken cid number.
- * There is a 1 to 1 mapping between this Cid and the one in the phone.
- * In order to do this we need to check all existing Cids, since they may not
- * be in conical order and there can be holes in the list(3,1,4,6,5) we need
- * to loop around and find the lowest that we can use to create a name and a new
- * Cid.
- * @param aName New name that is generated.
- * @param aCid New context id.
- */
- {
- TInt lowestAvailableCid = 1;
- TInt count = iGloblePhone->iContextList.Count();
- if(count != 0 )
- {
- // There can be gaps between the Cids that the tsy has, so get the
- // Cid number between them, if any. This nested for loop will find
- // the lowest available cid there is.
- for(TInt k = 0; k < count;k++)
- {
- for(TInt i = 0; i < count;i++)
- {
- if(iGloblePhone->iContextList[i]->iContextID == lowestAvailableCid)
- ++lowestAvailableCid;
- }
- }
- }
- return lowestAvailableCid;
- }
-
-void CLtsyPacketServicesHandler::SetDefaultContextConfigGPRS(const RPacketContext::TContextConfigGPRS* aContextConfig)
-/**
- * This function sets the default context configuration.
- *
- * @param aContextConfigV01 Set default context configuration.
- */
- {
- iDefContextConfigGPRS.iPdpType = aContextConfig->iPdpType;
- iDefContextConfigGPRS.iAccessPointName.Copy(aContextConfig->iAccessPointName);
- iDefContextConfigGPRS.iPdpAddress.Copy(aContextConfig->iPdpAddress);
- iDefContextConfigGPRS.iPdpCompression = aContextConfig->iPdpCompression;
- iDefContextConfigGPRS.iAnonymousAccessReqd = aContextConfig->iAnonymousAccessReqd;
- }
-//
-// End of file