--- a/telephonyserverplugins/ctsydispatchlayer/inc/cpacketservicesdispatcher.h Mon May 03 13:37:20 2010 +0300
+++ b/telephonyserverplugins/ctsydispatchlayer/inc/cpacketservicesdispatcher.h Thu May 06 15:10:38 2010 +0100
@@ -1,262 +1,257 @@
-// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-/**
- @file
- @internalAll
-*/
-
-#ifndef __CPACKETSERVICESDISPATCHER_H_
-#define __CPACKETSERVICESDISPATCHER_H_
-
-// INCLUDES
-#include <e32std.h>
-#include <e32base.h>
-#include <e32def.h>
-#include <etelmm.h>
-#include <etelpckt.h>
-#include <etelqos.h>
-#include <ctsy/serviceapi/cmmutility.h>
-
-#include <ctsy/ltsy/mltsydispatchfactory.h>
-#include "requestqueueoneshot.h"
-#include <ctsy/ltsy/ltsylogger.h>
-#include "mdispatchercallback.h"
-
-const TInt KPrimaryAndSecondaryDNSLength = 16;
-const TUint KPasswordUsernameHeaderLength = 7;
-const TUint KIPCRequestCode = 1;
-const TUint KRequestID = 0;
-const TUint KIDLength = 3;
-const TUint KMaxUserAndPassLength = 80;
-const TUint KMaxPdpAddressLength = 50;
-const TUint KPrimaryAndSecondaryDNSID = 0xC023;
-const TUint KUsenamePasswordDNSID = 0x8021;
-const TUint KIndicatePrimaryAddress = 0x81;
-const TUint KIndicateSecondaryAddress = 0x83;
-const TUint KPacketLengthMSB = 0x0;
-const TUint KDnsAddressLength = 6;
-_LIT(KEmptyInfoName, "");
-
-const TInt KHeaderGap = 8; // Offsets for decoding PCO buffer
-const TInt KIPv4Len = 4; // Offsets for decoding PCO buffer
-const TInt KLengthLocation = 4;// Offsets for decoding PCO buffer
-const TInt KMinPCOSize = 3; // Minimum PCO buffer size as set in 3G TS 24.008 spec
-
-// FORWARD DECLARATIONS
-class CMmDataPackage;
-class MmMessageManagerCallback;
-class TDispatcherHolder;
-
-class MLtsyDispatchPacketServicesPacketAttach;
-class MLtsyDispatchPacketServicesGetPacketAttachMode;
-class MLtsyDispatchPacketServicesGetPacketNetworkRegistrationStatus;
-class MLtsyDispatchPacketServicesPacketDetach;
-class MLtsyDispatchPacketServicesSetPdpContextConfig;
-class MLtsyDispatchPacketServicesModifyActivePdpContext;
-class MLtsyDispatchPacketServicesInitialisePdpContext;
-class MLtsyDispatchPacketServicesDeletePdpContext;
-class MLtsyDispatchPacketServicesSetPacketAttachMode;
-class MLtsyDispatchPacketServicesNotifyPacketStatusChange;
-class MLtsyDispatchPacketServicesSetDefaultPdpContextGprsParams;
-class MLtsyDispatchPacketServicesSetDefaultPdpContextR99R4Params;
-class MLtsyDispatchPacketServicesActivatePdpContext;
-class MLtsyDispatchPacketServicesSetPdpContextQosGprs;
-class MLtsyDispatchPacketServicesSetPdpContextQosR99R4;
-class MLtsyDispatchPacketServicesSetPdpContextQosR5;
-class MLtsyDispatchPacketServicesRejectNetworkInitiatedContextActivationRequest;
-class MLtsyDispatchPacketServicesDeactivatePdpContext;
-class MLtsyDispatchPacketServicesAddPacketFilter;
-class MLtsyDispatchPacketServicesGetStatus;
-class MLtsyDispatchPacketServicesGetStaticCapabilities;
-class MLtsyDispatchPacketServicesGetMaxNoMonitoredServiceLists;
-class MLtsyDispatchPacketServicesGetMaxNoActiveServices;
-class MLtsyDispatchPacketServicesInitialiseMbmsContext;
-class MLtsyDispatchPacketServicesGetMbmsNetworkServiceStatus;
-class MLtsyDispatchPacketServicesUpdateMbmsMonitorServiceList;
-class MLtsyDispatchPacketServicesUpdateMbmsSessionList;
-class MLtsyDispatchPacketServicesRemovePacketFilter;
-
-// CLASS DECLARATION
-
-/**
- * This class is responsible for packing and unpacking data belonging
- * to PacketServices related requests to the Licensee LTSY.
- */
-class CPacketServicesDispatcher : public CBase, public MDispatcherCallback
- {
-public:
-
- virtual ~CPacketServicesDispatcher();
-
- static CPacketServicesDispatcher* NewL(
- MLtsyDispatchFactoryV1& aLtsyFactory,
- MmMessageManagerCallback& aMessageManagerCallback,
- CRequestQueueOneShot& aRequestAsyncOneShot);
-
- static CPacketServicesDispatcher* NewLC(
- MLtsyDispatchFactoryV1& aLtsyFactory,
- MmMessageManagerCallback& aMessageManagerCallback,
- CRequestQueueOneShot& aRequestAsyncOneShot);
-
- // Dispatcher functions for dispatching requests DOWN to the Licensee LTSY
-
- TInt DispatchPacketAttachL();
- TInt DispatchGetPacketAttachModeL(const CMmDataPackage* aDataPackage);
- TInt DispatchGetStatusL();
- TInt DispatchGetPacketNetworkRegistrationStatusL();
- TInt DispatchPacketDetachL();
- TInt DispatchSetPdpContextConfigL(const CMmDataPackage* aDataPackage);
- TInt DispatchModifyActivePdpContextL(const CMmDataPackage* aDataPackage);
- TInt DispatchInitialisePdpContextL(const CMmDataPackage* aDataPackage);
- TInt DispatchDeletePdpContextL(const CMmDataPackage* aDataPackage);
- TInt DispatchSetPacketAttachModeL(const CMmDataPackage* aDataPackage);
- TInt DispatchSetDefaultPdpContextParamsL(const CMmDataPackage* aDataPackage);
- TInt DispatchActivatePdpContextL(const CMmDataPackage* aDataPackage);
- TInt DispatchSetPdpContextQosL(const CMmDataPackage* aDataPackage);
- TInt DispatchRejectNetworkInitiatedContextActivationRequestL();
- TInt DispatchDeactivatePdpContextL(const CMmDataPackage* aDataPackage);
- TInt DispatchAddPacketFilterL(const CMmDataPackage* aDataPackage);
- TInt DispatchRemovePacketFilterL(const CMmDataPackage* aDataPackage);
- TInt DispatchGetStaticCapabilitiesL();
- TInt DispatchGetMaxNoMonitoredServiceListsL();
- TInt DispatchGetMaxNoActiveServicesL();
- TInt DispatchInitialiseMbmsContextL(const CMmDataPackage* aDataPackage);
- TInt DispatchGetMbmsNetworkServiceStatusL(const CMmDataPackage* aDataPackage);
- TInt DispatchUpdateMbmsMonitorServiceListL(const CMmDataPackage* aDataPackage);
- TInt DispatchUpdateMbmsSessionListL(const CMmDataPackage* aDataPackage);
-
- // Complete functions for receiving completions UP from the Licensee LTSY
- // via the CCtsyDispatcherCallback object.
-
- void CallbackNotifyPacketAttachModeChange(TInt aError, RPacketService::TPreferredBearer aBearer);
- void CallbackNotifyQosProfileChange(TInt aError, const TDesC& aContextName, const RPacketQoS::TQoSGPRSNegotiated& aQoSGPRSNegotiated);
- void CallbackNotifyQosProfileChange(TInt aError, const TDesC& aContextName, const RPacketQoS::TQoSR99_R4Negotiated& aQoSR99_R4Negotiated);
- void CallbackNotifyQosProfileChange(TInt aError, const TDesC& aContextName, const RPacketQoS::TQoSR5Negotiated& aQoSR5Negotiated);
- void CallbackNotifyRatTransferCapsChange(TInt aError, TDynamicTransferCapsFlags aCaps);
- void CallbackNotifyPacketMsClassChange(TInt aError, RPacketService::TMSClass aMSClass);
- void CallbackNotifyPacketDynamicCapsChange(TInt aError, TBool aGprsIsSupportedOnCell, TBool aCsServicesIsSupportedOnCell);
- void CallbackNotifyPdpContextAdded(TInt aError, const TDesC& aContextName);
- void CallbackNotifyNetworkInitiatedContextActivationRequest(TInt aError, const RPacketContext::TContextConfigGPRS& aContextConfigGPRS);
- void CallbackNotifyNetworkInitiatedContextActivationRequest(TInt aError, const RPacketContext::TContextConfigR99_R4& aContextConfigR99_R4);
- void CallbackNotifyNetworkInitiatedContextActivationRequest(TInt aError, const RPacketContext::TContextConfig_R5& aContextConfig_R5);
- void CallbackNotifyPdpContextConfigChanged(TInt aError, const TDesC& aContextName, const TDesC8& aAccessPointName, const TDesC8& aPdpAddress, TUint aPdpCompression, const TDesC8& aPcoBuffer);
- void CallbackNotifyPdpContextStatusChange(TInt aError, const TDesC& aContextName, const TContextMisc& aContextMisc);
- void CallbackNotifyPdpContextConnectionSpeedChange(TInt aError, const TDesC& aContextName, TUint aConnectionSpeed);
- void CallbackNotifyPacketNetworkRegistrationStatus(TInt aError, const RPacketService::TRegistrationStatus aRegistrationStatus);
- void CallbackNotifyMbmsContextConfigChanged(TInt aError, const TDesC& aContextName, const RPacketMbmsContext::TContextConfigMbmsV1& aContextConfigMbms);
- void CallbackPacketAttach(TInt aError);
- void CallbackGetPacketAttachMode(TInt aError, RPacketService::TAttachMode aAttachMode);
- void CallbackGetPacketNetworkRegistrationStatus(TInt aError, RPacketService::TRegistrationStatus aRegistrationStatus);
- void CallbackPacketDetach(TInt aError);
- void CallbackSetPdpContextConfig(TInt aError, const TDesC& aContextName);
- void CallbackModifyActivePdpContext(TInt aError, const TDesC& aContextName, TInt8 aRejectionCode);
- void CallbackInitialisePdpContext(TInt aError, const TDesC& aContextName, const TDesC& aChannelId);
- void CallbackDeletePdpContext(TInt aError, const TDesC& aContextName);
- void CallbackSetPacketAttachMode(TInt aError);
- void CallbackNotifyPacketStatusChange(TInt aError);
- void CallbackSetDefaultPdpContextParams(TInt aError);
- void CallbackActivatePdpContext(TInt aError, const TDesC& aContextName, const TDesC8& aAccessPointName, RPacketContext::TProtocolType aPdpType);
- void CallbackSetPdpContextQos(TInt aError, const TDesC& aContextName);
- void CallbackRejectNetworkInitiatedContextActivationRequest(TInt aError);
- void CallbackDeactivatePdpContext(TInt aError, const TDesC& aContextName);
- void CallbackGetStatus(TInt aError, RPacketService::TStatus aPacketStatus, TBool aIsResumed);
- void CallbackGetStaticCapabilities(TInt aError, TUint aStaticCapabilities);
- void CallbackGetMaxNoMonitoredServiceLists(TInt aError, TInt aMaxNoMonitoredServiceLists);
- void CallbackGetMaxNoActiveServices(TInt aError, TInt aMaxNoActiveServices);
- void CallbackInitialiseMbmsContext(TInt aError, const TDesC& aContextName, const TDesC& aChannelId);
- void CallbackGetMbmsNetworkServiceStatus(TInt aError, TMbmsNetworkServiceStatus aMbmsNetworkServiceStatus);
- void CallbackNotifyMbmsNetworkServiceStatusChange(TInt aError, TMbmsNetworkServiceStatus aMbmsNetworkServiceStatus);
- void CallbackUpdateMbmsMonitorServiceList(TInt aError);
- void CallbackUpdateMbmsMonitorServiceList(TInt aError, const RArray<TUint>& aFailedServiceIds);
- void CallbackNotifyMbmsServiceAvailabilityChange(TInt aError, const RArray<TUint>& aAvailableServiceIds);
- void CallbackUpdateMbmsSessionList(TInt aError, const TDesC& aContextName);
- void CallbackNotifyConnectionInfoChange(TInt aError, const TDesC& aContextName, const RPacketContext::TConnectionInfoV1& aConnectionInfo);
-
- // From MDispatcherCallback
- void CallbackSync(CRequestQueueOneShot::TIpcDataPackage& aIpcDataPackage);
-
- // Other public functions
- void SetDispatcherHolder(TDispatcherHolder& aDispatcherHolder);
-
-private:
-
- CPacketServicesDispatcher(MLtsyDispatchFactoryV1& aLtsyFactory,
- MmMessageManagerCallback& aMessageManagerCallback,
- CRequestQueueOneShot& aRequestAsyncOneShot);
-
- TInt EtelPcktR99R4NegToEtelPcktR97NegQoS(const RPacketQoS::TQoSR99_R4Negotiated& aQoSR99_R4Negotiated,
- RPacketQoS::TQoSGPRSNegotiated& aQoSGPRSNegotiated);
-
- TInt EtelPcktR97NegToEtelPcktR99R4NegQoS(const RPacketQoS::TQoSGPRSNegotiated& aQoSGPRSNegotiated,
- RPacketQoS::TQoSR99_R4Negotiated& aQoSR99_R4Negotiated);
-
- TInt EtelPcktR99R4NegToEtelPcktR5NegQoS(const RPacketQoS::TQoSR99_R4Negotiated& aQoSR99_R4Negotiated,
- RPacketQoS::TQoSR5Negotiated& aQoSR5Negotiated);
-
- void ConvertDNSToPCOBuffer (const TDes8& aPrimaryDNS, const TDes8& aSecondaryDNS, const TUint8 aRequestID, TDes8& aFormatPcoBufferAddr);
- void ConvertUsernameAndPasswordToPCOBuffer(const TDes8& aUsername, const TDes8& aPassword, const TUint8 aRequestID, TDes8& aFormatedBuffer);
-
- void DecodePCO(const RPacketContext::TMiscProtocolBuffer& aPcoBuffer, RPacketContext::TAuthData& aUsername, RPacketContext::TAuthData& aPassword, RPacketContext::TProtocolAddress& aPrimaryDNS, RPacketContext::TProtocolAddress& aSecondaryDNS, RPacketContext::TMiscProtocolBuffer& aMiscBuffer);
-
- CPcktMbmsMonitoredServiceList* CreateServiceListL(const RArray<TUint>& aServiceIds) const;
-
-
- void ConstructL();
-
-
-
-private: // Not owned
-
- MLtsyDispatchFactoryV1& iLtsyFactoryV1;
- MmMessageManagerCallback& iMessageManagerCallback;
- CRequestQueueOneShot& iRequestAsyncOneShot;
- TDispatcherHolder* iDispatcherHolder;
-
- // Interfaces in the Licensee LTSY, not owned by this object
-
- MLtsyDispatchPacketServicesPacketAttach* iLtsyDispatchPacketServicesPacketAttach;
- MLtsyDispatchPacketServicesGetPacketAttachMode* iLtsyDispatchPacketServicesGetPacketAttachMode;
- MLtsyDispatchPacketServicesGetPacketNetworkRegistrationStatus* iLtsyDispatchPacketServicesGetPacketNetworkRegistrationStatus;
- MLtsyDispatchPacketServicesPacketDetach* iLtsyDispatchPacketServicesPacketDetach;
- MLtsyDispatchPacketServicesSetPdpContextConfig* iLtsyDispatchPacketServicesSetPdpContextConfig;
- MLtsyDispatchPacketServicesModifyActivePdpContext* iLtsyDispatchPacketServicesModifyActivePdpContext;
- MLtsyDispatchPacketServicesInitialisePdpContext* iLtsyDispatchPacketServicesInitialisePdpContext;
- MLtsyDispatchPacketServicesDeletePdpContext* iLtsyDispatchPacketServicesDeletePdpContext;
- MLtsyDispatchPacketServicesSetPacketAttachMode* iLtsyDispatchPacketServicesSetPacketAttachMode;
- MLtsyDispatchPacketServicesNotifyPacketStatusChange* iLtsyDispatchPacketServicesNotifyPacketStatusChange;
- MLtsyDispatchPacketServicesSetDefaultPdpContextGprsParams* iLtsyDispatchPacketServicesSetDefaultPdpContextGprsParams;
- MLtsyDispatchPacketServicesSetDefaultPdpContextR99R4Params* iLtsyDispatchPacketServicesSetDefaultPdpContextR99R4Params;
- MLtsyDispatchPacketServicesActivatePdpContext* iLtsyDispatchPacketServicesActivatePdpContext;
- MLtsyDispatchPacketServicesSetPdpContextQosGprs* iLtsyDispatchPacketServicesSetPdpContextQosGprs;
- MLtsyDispatchPacketServicesSetPdpContextQosR99R4* iLtsyDispatchPacketServicesSetPdpContextQosR99R4;
- MLtsyDispatchPacketServicesSetPdpContextQosR5* iLtsyDispatchPacketServicesSetPdpContextQosR5;
- MLtsyDispatchPacketServicesRejectNetworkInitiatedContextActivationRequest* iLtsyDispatchPacketServicesRejectNetworkInitiatedContextActivationRequest;
- MLtsyDispatchPacketServicesDeactivatePdpContext* iLtsyDispatchPacketServicesDeactivatePdpContext;
- MLtsyDispatchPacketServicesAddPacketFilter* iLtsyDispatchPacketServicesAddPacketFilter;
- MLtsyDispatchPacketServicesGetStatus* iLtsyDispatchPacketServicesGetStatus;
- MLtsyDispatchPacketServicesGetStaticCapabilities* iLtsyDispatchPacketServicesGetStaticCapabilities;
- MLtsyDispatchPacketServicesGetMaxNoMonitoredServiceLists* iLtsyDispatchPacketServicesGetMaxNoMonitoredServiceLists;
- MLtsyDispatchPacketServicesGetMaxNoActiveServices* iLtsyDispatchPacketServicesGetMaxNoActiveServices;
- MLtsyDispatchPacketServicesInitialiseMbmsContext* iLtsyDispatchPacketServicesInitialiseMbmsContext;
- MLtsyDispatchPacketServicesGetMbmsNetworkServiceStatus* iLtsyDispatchPacketServicesGetMbmsNetworkServiceStatus;
- MLtsyDispatchPacketServicesUpdateMbmsMonitorServiceList* iLtsyDispatchPacketServicesUpdateMbmsMonitorServiceList;
- MLtsyDispatchPacketServicesUpdateMbmsSessionList* iLtsyDispatchPacketServicesUpdateMbmsSessionList;
- MLtsyDispatchPacketServicesRemovePacketFilter* iLtsyDispatchPacketServicesRemovePacketFilter;
-
- }; // class CPacketServicesDispatcher
-
-#endif // __CPACKETSERVICESDISPATCHER_H_
-
+// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+#ifndef __CPACKETSERVICESDISPATCHER_H_
+#define __CPACKETSERVICESDISPATCHER_H_
+
+// INCLUDES
+#include <e32std.h>
+#include <e32base.h>
+#include <e32def.h>
+#include <etelmm.h>
+#include <etelpckt.h>
+#include <etelqos.h>
+#include <ctsy/serviceapi/cmmutility.h>
+
+#include <ctsy/ltsy/mltsydispatchfactory.h>
+#include "requestqueueoneshot.h"
+#include <ctsy/ltsy/ltsylogger.h>
+#include "mdispatchercallback.h"
+
+const TInt KPrimaryAndSecondaryDNSLength = 16;
+const TUint KPasswordUsernameHeaderLength = 7;
+const TUint KIPCRequestCode = 1;
+const TUint KRequestID = 0;
+const TUint KIDLength = 3;
+const TUint KMaxUserAndPassLength = 80;
+const TUint KMaxPdpAddressLength = 50;
+const TUint KPrimaryAndSecondaryDNSID = 0xC023;
+const TUint KUsenamePasswordDNSID = 0x8021;
+const TUint KIndicatePrimaryAddress = 0x81;
+const TUint KIndicateSecondaryAddress = 0x83;
+const TUint KPacketLengthMSB = 0x0;
+const TUint KDnsAddressLength = 6;
+_LIT(KEmptyInfoName, "");
+
+const TInt KHeaderGap = 8; // Offsets for decoding PCO buffer
+const TInt KIPv4Len = 4; // Offsets for decoding PCO buffer
+const TInt KLengthLocation = 4;// Offsets for decoding PCO buffer
+const TInt KMinPCOSize = 3; // Minimum PCO buffer size as set in 3G TS 24.008 spec
+
+// FORWARD DECLARATIONS
+class CMmDataPackage;
+class MmMessageManagerCallback;
+class TDispatcherHolder;
+
+class MLtsyDispatchPacketServicesPacketAttach;
+class MLtsyDispatchPacketServicesGetPacketAttachMode;
+class MLtsyDispatchPacketServicesGetPacketNetworkRegistrationStatus;
+class MLtsyDispatchPacketServicesPacketDetach;
+class MLtsyDispatchPacketServicesSetPdpContextConfig;
+class MLtsyDispatchPacketServicesModifyActivePdpContext;
+class MLtsyDispatchPacketServicesInitialisePdpContext;
+class MLtsyDispatchPacketServicesDeletePdpContext;
+class MLtsyDispatchPacketServicesSetPacketAttachMode;
+class MLtsyDispatchPacketServicesNotifyPacketStatusChange;
+class MLtsyDispatchPacketServicesSetDefaultPdpContextGprsParams;
+class MLtsyDispatchPacketServicesSetDefaultPdpContextR99R4Params;
+class MLtsyDispatchPacketServicesActivatePdpContext;
+class MLtsyDispatchPacketServicesSetPdpContextQosGprs;
+class MLtsyDispatchPacketServicesSetPdpContextQosR99R4;
+class MLtsyDispatchPacketServicesSetPdpContextQosR5;
+class MLtsyDispatchPacketServicesRejectNetworkInitiatedContextActivationRequest;
+class MLtsyDispatchPacketServicesDeactivatePdpContext;
+class MLtsyDispatchPacketServicesAddPacketFilter;
+class MLtsyDispatchPacketServicesGetStatus;
+class MLtsyDispatchPacketServicesGetStaticCapabilities;
+class MLtsyDispatchPacketServicesGetMaxNoMonitoredServiceLists;
+class MLtsyDispatchPacketServicesGetMaxNoActiveServices;
+class MLtsyDispatchPacketServicesInitialiseMbmsContext;
+class MLtsyDispatchPacketServicesGetMbmsNetworkServiceStatus;
+class MLtsyDispatchPacketServicesUpdateMbmsMonitorServiceList;
+class MLtsyDispatchPacketServicesUpdateMbmsSessionList;
+class MLtsyDispatchPacketServicesRemovePacketFilter;
+
+// CLASS DECLARATION
+
+/**
+ * This class is responsible for packing and unpacking data belonging
+ * to PacketServices related requests to the Licensee LTSY.
+ */
+class CPacketServicesDispatcher : public CBase, public MDispatcherCallback
+ {
+public:
+
+ virtual ~CPacketServicesDispatcher();
+
+ static CPacketServicesDispatcher* NewL(
+ MLtsyDispatchFactoryV1& aLtsyFactory,
+ MmMessageManagerCallback& aMessageManagerCallback,
+ CRequestQueueOneShot& aRequestAsyncOneShot);
+
+ static CPacketServicesDispatcher* NewLC(
+ MLtsyDispatchFactoryV1& aLtsyFactory,
+ MmMessageManagerCallback& aMessageManagerCallback,
+ CRequestQueueOneShot& aRequestAsyncOneShot);
+
+ // Dispatcher functions for dispatching requests DOWN to the Licensee LTSY
+
+ TInt DispatchPacketAttachL();
+ TInt DispatchGetPacketAttachModeL(const CMmDataPackage* aDataPackage);
+ TInt DispatchGetStatusL();
+ TInt DispatchGetPacketNetworkRegistrationStatusL();
+ TInt DispatchPacketDetachL();
+ TInt DispatchSetPdpContextConfigL(const CMmDataPackage* aDataPackage);
+ TInt DispatchModifyActivePdpContextL(const CMmDataPackage* aDataPackage);
+ TInt DispatchInitialisePdpContextL(const CMmDataPackage* aDataPackage);
+ TInt DispatchDeletePdpContextL(const CMmDataPackage* aDataPackage);
+ TInt DispatchSetPacketAttachModeL(const CMmDataPackage* aDataPackage);
+ TInt DispatchSetDefaultPdpContextParamsL(const CMmDataPackage* aDataPackage);
+ TInt DispatchActivatePdpContextL(const CMmDataPackage* aDataPackage);
+ TInt DispatchSetPdpContextQosL(const CMmDataPackage* aDataPackage);
+ TInt DispatchRejectNetworkInitiatedContextActivationRequestL();
+ TInt DispatchDeactivatePdpContextL(const CMmDataPackage* aDataPackage);
+ TInt DispatchAddPacketFilterL(const CMmDataPackage* aDataPackage);
+ TInt DispatchRemovePacketFilterL(const CMmDataPackage* aDataPackage);
+ TInt DispatchGetStaticCapabilitiesL();
+ TInt DispatchGetMaxNoMonitoredServiceListsL();
+ TInt DispatchGetMaxNoActiveServicesL();
+ TInt DispatchInitialiseMbmsContextL(const CMmDataPackage* aDataPackage);
+ TInt DispatchGetMbmsNetworkServiceStatusL(const CMmDataPackage* aDataPackage);
+ TInt DispatchUpdateMbmsMonitorServiceListL(const CMmDataPackage* aDataPackage);
+ TInt DispatchUpdateMbmsSessionListL(const CMmDataPackage* aDataPackage);
+
+ // Complete functions for receiving completions UP from the Licensee LTSY
+ // via the CCtsyDispatcherCallback object.
+
+ void CallbackNotifyPacketAttachModeChange(TInt aError, RPacketService::TPreferredBearer aBearer);
+ void CallbackNotifyQosProfileChange(TInt aError, const TDesC& aContextName, const RPacketQoS::TQoSGPRSNegotiated& aQoSGPRSNegotiated);
+ void CallbackNotifyQosProfileChange(TInt aError, const TDesC& aContextName, const RPacketQoS::TQoSR99_R4Negotiated& aQoSR99_R4Negotiated);
+ void CallbackNotifyQosProfileChange(TInt aError, const TDesC& aContextName, const RPacketQoS::TQoSR5Negotiated& aQoSR5Negotiated);
+ void CallbackNotifyRatTransferCapsChange(TInt aError, TDynamicTransferCapsFlags aCaps);
+ void CallbackNotifyPacketMsClassChange(TInt aError, RPacketService::TMSClass aMSClass);
+ void CallbackNotifyPacketDynamicCapsChange(TInt aError, TBool aGprsIsSupportedOnCell, TBool aCsServicesIsSupportedOnCell);
+ void CallbackNotifyPdpContextAdded(TInt aError, const TDesC& aContextName);
+ void CallbackNotifyNetworkInitiatedContextActivationRequest(TInt aError, const RPacketContext::TContextConfigGPRS& aContextConfigGPRS);
+ void CallbackNotifyNetworkInitiatedContextActivationRequest(TInt aError, const RPacketContext::TContextConfigR99_R4& aContextConfigR99_R4);
+ void CallbackNotifyNetworkInitiatedContextActivationRequest(TInt aError, const RPacketContext::TContextConfig_R5& aContextConfig_R5);
+ void CallbackNotifyPdpContextConfigChanged(TInt aError, const TDesC& aContextName, const TDesC8& aAccessPointName, const TDesC8& aPdpAddress, TUint aPdpCompression, const TDesC8& aPcoBuffer);
+ void CallbackNotifyPdpContextStatusChange(TInt aError, const TDesC& aContextName, const TContextMisc& aContextMisc);
+ void CallbackNotifyPdpContextConnectionSpeedChange(TInt aError, const TDesC& aContextName, TUint aConnectionSpeed);
+ void CallbackNotifyPacketNetworkRegistrationStatus(TInt aError, const RPacketService::TRegistrationStatus aRegistrationStatus);
+ void CallbackNotifyMbmsContextConfigChanged(TInt aError, const TDesC& aContextName, const RPacketMbmsContext::TContextConfigMbmsV1& aContextConfigMbms);
+ void CallbackPacketAttach(TInt aError);
+ void CallbackGetPacketAttachMode(TInt aError, RPacketService::TAttachMode aAttachMode);
+ void CallbackGetPacketNetworkRegistrationStatus(TInt aError, RPacketService::TRegistrationStatus aRegistrationStatus);
+ void CallbackPacketDetach(TInt aError);
+ void CallbackSetPdpContextConfig(TInt aError, const TDesC& aContextName);
+ void CallbackModifyActivePdpContext(TInt aError, const TDesC& aContextName, TInt8 aRejectionCode);
+ void CallbackInitialisePdpContext(TInt aError, const TDesC& aContextName, const TDesC& aChannelId);
+ void CallbackDeletePdpContext(TInt aError, const TDesC& aContextName);
+ void CallbackSetPacketAttachMode(TInt aError);
+ void CallbackNotifyPacketStatusChange(TInt aError);
+ void CallbackSetDefaultPdpContextParams(TInt aError);
+ void CallbackActivatePdpContext(TInt aError, const TDesC& aContextName, const TDesC8& aAccessPointName, RPacketContext::TProtocolType aPdpType);
+ void CallbackSetPdpContextQos(TInt aError, const TDesC& aContextName);
+ void CallbackRejectNetworkInitiatedContextActivationRequest(TInt aError);
+ void CallbackDeactivatePdpContext(TInt aError, const TDesC& aContextName);
+ void CallbackGetStatus(TInt aError, RPacketService::TStatus aPacketStatus, TBool aIsResumed);
+ void CallbackGetStaticCapabilities(TInt aError, TUint aStaticCapabilities);
+ void CallbackGetMaxNoMonitoredServiceLists(TInt aError, TInt aMaxNoMonitoredServiceLists);
+ void CallbackGetMaxNoActiveServices(TInt aError, TInt aMaxNoActiveServices);
+ void CallbackInitialiseMbmsContext(TInt aError, const TDesC& aContextName, const TDesC& aChannelId);
+ void CallbackGetMbmsNetworkServiceStatus(TInt aError, TMbmsNetworkServiceStatus aMbmsNetworkServiceStatus);
+ void CallbackNotifyMbmsNetworkServiceStatusChange(TInt aError, TMbmsNetworkServiceStatus aMbmsNetworkServiceStatus);
+ void CallbackUpdateMbmsMonitorServiceList(TInt aError);
+ void CallbackUpdateMbmsMonitorServiceList(TInt aError, const RArray<TUint>& aFailedServiceIds);
+ void CallbackNotifyMbmsServiceAvailabilityChange(TInt aError, const RArray<TUint>& aAvailableServiceIds);
+ void CallbackUpdateMbmsSessionList(TInt aError, const TDesC& aContextName);
+ void CallbackNotifyConnectionInfoChange(TInt aError, const TDesC& aContextName, const RPacketContext::TConnectionInfoV1& aConnectionInfo);
+
+ // From MDispatcherCallback
+ void CallbackSync(CRequestQueueOneShot::TIpcDataPackage& aIpcDataPackage);
+
+ // Other public functions
+ void SetDispatcherHolder(TDispatcherHolder& aDispatcherHolder);
+
+private:
+
+ CPacketServicesDispatcher(MLtsyDispatchFactoryV1& aLtsyFactory,
+ MmMessageManagerCallback& aMessageManagerCallback,
+ CRequestQueueOneShot& aRequestAsyncOneShot);
+
+ TInt EtelPcktR99R4NegToEtelPcktR97NegQoS(const RPacketQoS::TQoSR99_R4Negotiated& aQoSR99_R4Negotiated,
+ RPacketQoS::TQoSGPRSNegotiated& aQoSGPRSNegotiated);
+
+ TInt EtelPcktR97NegToEtelPcktR99R4NegQoS(const RPacketQoS::TQoSGPRSNegotiated& aQoSGPRSNegotiated,
+ RPacketQoS::TQoSR99_R4Negotiated& aQoSR99_R4Negotiated);
+
+ TInt EtelPcktR99R4NegToEtelPcktR5NegQoS(const RPacketQoS::TQoSR99_R4Negotiated& aQoSR99_R4Negotiated,
+ RPacketQoS::TQoSR5Negotiated& aQoSR5Negotiated);
+
+ void ConvertDNSToPCOBuffer (const TDes8& aPrimaryDNS, const TDes8& aSecondaryDNS, const TUint8 aRequestID, TDes8& aFormatPcoBufferAddr);
+ void ConvertUsernameAndPasswordToPCOBuffer(const TDes8& aUsername, const TDes8& aPassword, const TUint8 aRequestID, TDes8& aFormatedBuffer);
+
+ void DecodePCO(const RPacketContext::TMiscProtocolBuffer& aPcoBuffer, RPacketContext::TAuthData& aUsername, RPacketContext::TAuthData& aPassword, RPacketContext::TProtocolAddress& aPrimaryDNS, RPacketContext::TProtocolAddress& aSecondaryDNS, RPacketContext::TMiscProtocolBuffer& aMiscBuffer);
+
+ CPcktMbmsMonitoredServiceList* CreateServiceListL(const RArray<TUint>& aServiceIds) const;
+
+
+ void ConstructL();
+
+
+
+private: // Not owned
+
+ MLtsyDispatchFactoryV1& iLtsyFactoryV1;
+ MmMessageManagerCallback& iMessageManagerCallback;
+ CRequestQueueOneShot& iRequestAsyncOneShot;
+ TDispatcherHolder* iDispatcherHolder;
+
+ // Interfaces in the Licensee LTSY, not owned by this object
+
+ MLtsyDispatchPacketServicesPacketAttach* iLtsyDispatchPacketServicesPacketAttach;
+ MLtsyDispatchPacketServicesGetPacketAttachMode* iLtsyDispatchPacketServicesGetPacketAttachMode;
+ MLtsyDispatchPacketServicesGetPacketNetworkRegistrationStatus* iLtsyDispatchPacketServicesGetPacketNetworkRegistrationStatus;
+ MLtsyDispatchPacketServicesPacketDetach* iLtsyDispatchPacketServicesPacketDetach;
+ MLtsyDispatchPacketServicesSetPdpContextConfig* iLtsyDispatchPacketServicesSetPdpContextConfig;
+ MLtsyDispatchPacketServicesModifyActivePdpContext* iLtsyDispatchPacketServicesModifyActivePdpContext;
+ MLtsyDispatchPacketServicesInitialisePdpContext* iLtsyDispatchPacketServicesInitialisePdpContext;
+ MLtsyDispatchPacketServicesDeletePdpContext* iLtsyDispatchPacketServicesDeletePdpContext;
+ MLtsyDispatchPacketServicesSetPacketAttachMode* iLtsyDispatchPacketServicesSetPacketAttachMode;
+ MLtsyDispatchPacketServicesNotifyPacketStatusChange* iLtsyDispatchPacketServicesNotifyPacketStatusChange;
+ MLtsyDispatchPacketServicesSetDefaultPdpContextGprsParams* iLtsyDispatchPacketServicesSetDefaultPdpContextGprsParams;
+ MLtsyDispatchPacketServicesSetDefaultPdpContextR99R4Params* iLtsyDispatchPacketServicesSetDefaultPdpContextR99R4Params;
+ MLtsyDispatchPacketServicesActivatePdpContext* iLtsyDispatchPacketServicesActivatePdpContext;
+ MLtsyDispatchPacketServicesSetPdpContextQosGprs* iLtsyDispatchPacketServicesSetPdpContextQosGprs;
+ MLtsyDispatchPacketServicesSetPdpContextQosR99R4* iLtsyDispatchPacketServicesSetPdpContextQosR99R4;
+ MLtsyDispatchPacketServicesSetPdpContextQosR5* iLtsyDispatchPacketServicesSetPdpContextQosR5;
+ MLtsyDispatchPacketServicesRejectNetworkInitiatedContextActivationRequest* iLtsyDispatchPacketServicesRejectNetworkInitiatedContextActivationRequest;
+ MLtsyDispatchPacketServicesDeactivatePdpContext* iLtsyDispatchPacketServicesDeactivatePdpContext;
+ MLtsyDispatchPacketServicesAddPacketFilter* iLtsyDispatchPacketServicesAddPacketFilter;
+ MLtsyDispatchPacketServicesGetStatus* iLtsyDispatchPacketServicesGetStatus;
+ MLtsyDispatchPacketServicesGetStaticCapabilities* iLtsyDispatchPacketServicesGetStaticCapabilities;
+ MLtsyDispatchPacketServicesGetMaxNoMonitoredServiceLists* iLtsyDispatchPacketServicesGetMaxNoMonitoredServiceLists;
+ MLtsyDispatchPacketServicesGetMaxNoActiveServices* iLtsyDispatchPacketServicesGetMaxNoActiveServices;
+ MLtsyDispatchPacketServicesInitialiseMbmsContext* iLtsyDispatchPacketServicesInitialiseMbmsContext;
+ MLtsyDispatchPacketServicesGetMbmsNetworkServiceStatus* iLtsyDispatchPacketServicesGetMbmsNetworkServiceStatus;
+ MLtsyDispatchPacketServicesUpdateMbmsMonitorServiceList* iLtsyDispatchPacketServicesUpdateMbmsMonitorServiceList;
+ MLtsyDispatchPacketServicesUpdateMbmsSessionList* iLtsyDispatchPacketServicesUpdateMbmsSessionList;
+ MLtsyDispatchPacketServicesRemovePacketFilter* iLtsyDispatchPacketServicesRemovePacketFilter;
+
+ }; // class CPacketServicesDispatcher
+
+#endif // __CPACKETSERVICESDISPATCHER_H_
+