--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/telephonyserverplugins/ctsydispatchlayer/exportinc/mltsydispatchpacketservicesinterface.h Tue Feb 02 01:41:59 2010 +0200
@@ -0,0 +1,789 @@
+// 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:
+// This file contains all the interfaces classes that can be implemented by
+// the Licensee LTSY relating to PacketServices related features.
+//
+
+
+
+
+/**
+ @file
+ @internalAll
+*/
+
+
+#ifndef MLTSYDISPATCHPACKETSERVICESINTERFACE_H_
+#define MLTSYDISPATCHPACKETSERVICESINTERFACE_H_
+
+#include <ctsy/ltsy/mltsydispatchinterface.h>
+#include <etelpckt.h>
+#include <etelqos.h>
+
+
+
+
+class MLtsyDispatchPacketServicesPacketAttach : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesPacketAttachApiId = KDispatchPacketServicesFuncUnitId + 1;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EPacketAttach
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesPacketAttachComp()
+ *
+ * Implementation of this interface should issue an attach request to the LTSY.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandlePacketAttachReqL() = 0;
+
+ }; // class MLtsyDispatchPacketServicesPacketAttach
+
+
+
+class MLtsyDispatchPacketServicesGetPacketAttachMode : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesGetPacketAttachModeApiId = KDispatchPacketServicesFuncUnitId + 2;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EPacketGetAttachMode
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesGetPacketAttachModeComp()
+ *
+ * Implementation of this interface will return the attach mode. However if the call is
+ * being made during a packet service open process it will skip the get attach mode call.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleGetPacketAttachModeReqL() = 0;
+
+ }; // class MLtsyDispatchPacketServicesGetPacketAttachMode
+
+
+
+class MLtsyDispatchPacketServicesGetPacketNetworkRegistrationStatus : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesGetPacketNetworkRegistrationStatusApiId = KDispatchPacketServicesFuncUnitId + 3;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EPacketGetNtwkRegStatus
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesGetPacketNetworkRegistrationStatusComp()
+ *
+ * Implementation of this interface should retrieve the packet network registration status
+ * from the baseband.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleGetPacketNetworkRegistrationStatusReqL() = 0;
+
+ }; // class MLtsyDispatchPacketServicesGetPacketNetworkRegistrationStatus
+
+
+
+class MLtsyDispatchPacketServicesPacketDetach : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesPacketDetachApiId = KDispatchPacketServicesFuncUnitId + 4;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EPacketDetach
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesPacketDetachComp()
+ *
+ * Implementation of this interface should issue a detach request to the LTSY.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandlePacketDetachReqL() = 0;
+
+ }; // class MLtsyDispatchPacketServicesPacketDetach
+
+
+
+class MLtsyDispatchPacketServicesSetPdpContextConfig : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesSetPdpContextConfigApiId = KDispatchPacketServicesFuncUnitId + 5;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EPacketContextSetConfig
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesSetPdpContextConfigComp()
+ * Implementation of this interface should pass LTSY the parameters it needs to set the
+ * context configuration
+ *
+ * @param aContextId the context name
+ * @param aAccessPointName the access name which identifies the GGSN to be used
+ * @param aPdpType the protocol type
+ * @param aPdpAddress the PDP address for this context
+ * @param aPcoBuffer the pco buffer
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleSetPdpContextConfigReqL(const TDesC& aContextId,
+ const TDesC8& aAccessPointName,
+ const RPacketContext::TProtocolType aPdpType,
+ const TDesC8& aPdpAddress,
+ const TDesC8& aPcoBuffer) = 0;
+
+ }; // class MLtsyDispatchPacketServicesSetPdpContextConfig
+
+
+
+class MLtsyDispatchPacketServicesModifyActivePdpContext : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesModifyActivePdpContextApiId = KDispatchPacketServicesFuncUnitId + 6;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EPacketContextModifyActiveContext
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesModifyActivePdpContextComp()
+ * Implementation of this interface should signal to the Licensee TSY that it can action the modification
+ * of an existing context, the changes being indicated via appropriate RPacketContext::SetConfig and
+ * RPacketContext::SetProfileParameters calls
+ *
+ * @param aContextName the context name.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleModifyActivePdpContextReqL(const TDesC& aContextName) = 0;
+ }; // class MLtsyDispatchPacketServicesModifyActivePdpContext
+
+
+
+class MLtsyDispatchPacketServicesInitialisePdpContext : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesInitialisePdpContextApiId = KDispatchPacketServicesFuncUnitId + 7;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EPacketContextInitialiseContext
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesInitialisePdpContextComp()
+ * Implementation of this interface should initialise either primary or secondary contexts
+ *
+ *
+ * @param aPrimaryContextName Primary context name in the form of a character string,
+ * the maximum length of the descriptor should not exceed KMaxInfoName.
+ * @param aSecondaryContextName Optional secondary context name in the form of a character
+ * string, the maximum length of the descriptor should not exceed KMaxInfoName.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleInitialisePdpContextReqL(const TDesC& aPrimaryContextName, const TDesC& aSecondaryContextName) = 0;
+ }; // class MLtsyDispatchPacketServicesInitialisePdpContext
+
+
+
+class MLtsyDispatchPacketServicesDeletePdpContext : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesDeletePdpContextApiId = KDispatchPacketServicesFuncUnitId + 8;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EPacketContextDelete
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesDeletePdpContextComp()
+ *
+ * Implementation of this interface should delete the context given.
+ *
+ * @param aContextName The name of the context to delete,
+ * the maximum length of the descriptor should not exceed KMaxInfoName.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleDeletePdpContextReqL(const TDesC& aContextName) = 0;
+
+ }; // class MLtsyDispatchPacketServicesDeletePdpContext
+
+
+
+class MLtsyDispatchPacketServicesSetPacketAttachMode : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesSetPacketAttachModeApiId = KDispatchPacketServicesFuncUnitId + 9;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EPacketSetAttachMode
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesSetPacketAttachModeComp()
+ *
+ * Implementation of this interface should set the packet service attach mode.
+ * @param aAttachMode the attach mode due to be set.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleSetPacketAttachModeReqL(RPacketService::TAttachMode aAttachMode) = 0;
+
+ }; // class MLtsyDispatchPacketServicesSetPacketAttachMode
+
+
+
+class MLtsyDispatchPacketServicesNotifyPacketStatusChange : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesNotifyPacketStatusChangeApiId = KDispatchPacketServicesFuncUnitId + 10;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EPacketNotifyStatusChange
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesNotifyPacketStatusChangeComp()
+ *
+ * Implementation of this interface should notify when the status of the packet service was changed.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleNotifyPacketStatusChangeReqL() = 0;
+
+ }; // class MLtsyDispatchPacketServicesNotifyPacketStatusChange
+
+
+
+class MLtsyDispatchPacketServicesSetDefaultPdpContextGprsParams : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesSetDefaultPdpContextGprsParamsApiId = KDispatchPacketServicesFuncUnitId + 11;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EPacketSetDefaultContextParams
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesSetDefaultPdpContextParamsComp()
+ *
+ * Implementation of this interface should set default configuration for Packet Context using GPRS params.
+ *
+ * @param aContextConfigGprs GPRS configuration input parameters.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleSetDefaultPdpContextGprsParamsReqL(const RPacketContext::TContextConfigGPRS& aContextConfigGprs) = 0;
+
+ }; // class MLtsyDispatchPacketServicesSetDefaultPdpContextGprsParams
+
+class MLtsyDispatchPacketServicesSetDefaultPdpContextR99R4Params : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesSetDefaultPdpContextR99R4ParamsApiId = KDispatchPacketServicesFuncUnitId + 12;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EPacketSetDefaultContextParams
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesSetDefaultPdpContextParamsComp()
+ *
+ * Implementation of this interface should set default configuration for Packet Context using R99/R4 params.
+ *
+ * @param aContextConfigR99R4 R99/R4 configuration input parameters.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleSetDefaultPdpContextR99R4ParamsReqL(const RPacketContext::TContextConfigR99_R4& aContextConfigR99R4) = 0;
+
+ }; // class MLtsyDispatchPacketServicesSetDefaultPdpContextR99R4Params
+
+
+class MLtsyDispatchPacketServicesActivatePdpContext : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesActivatePdpContextApiId = KDispatchPacketServicesFuncUnitId + 13;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EPacketContextActivate
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesActivatePdpContextComp()
+ *
+ * Implementation of this interface should activate the context given.
+ *
+ * @param aContextName The context name, the maximum length of the descriptor
+ * should not exceed KMaxInfoName.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleActivatePdpContextReqL(const TDesC& aContextName) = 0;
+
+ }; // class MLtsyDispatchPacketServicesActivatePdpContext
+
+
+
+class MLtsyDispatchPacketServicesSetPdpContextQosGprs : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId = KDispatchPacketServicesFuncUnitId + 14;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EPacketQoSSetProfileParams
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesSetPdpContextQosComp()
+ *
+ * Implementation of this interface should set GPRS QoS parametes for the given context.
+ *
+ * @param aContextName The name of the context, the maximum length of the
+ * descriptor should not exceed KMaxInfoName.
+ * @param aQoSConfig The QoS configuration parameters.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleSetPdpContextQosGprsReqL(const TDesC& aContextName, const RPacketQoS::TQoSGPRSRequested& aQoSConfig) = 0;
+
+ }; // class MLtsyDispatchPacketServicesSetPdpContextQosGprs
+
+class MLtsyDispatchPacketServicesSetPdpContextQosR99R4 : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId = KDispatchPacketServicesFuncUnitId + 15;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EPacketQoSSetProfileParams
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesSetPdpContextQosComp()
+ *
+ * Implementation of this interface should set R99R4 QoS parametes for the given context.
+ *
+ *
+ * @param aContextName the name of the context.
+ * @param aQoSConfig the QoS configuration parameters.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleSetPdpContextQosR99R4ReqL(const TDesC& aContextName, const RPacketQoS::TQoSR99_R4Requested& aQoSConfig) = 0;
+
+ }; // class MLtsyDispatchPacketServicesSetPdpContextQosR99R4
+
+class MLtsyDispatchPacketServicesSetPdpContextQosR5 : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesSetPdpContextQosR5ApiId = KDispatchPacketServicesFuncUnitId + 16;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EPacketQoSSetProfileParams
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesSetPdpContextQosComp()
+ *
+ * Implementation of this interface should set R5 QoS parametes for the given context.
+ *
+ *
+ * @param aContextName The name of the context, the maximum length of the
+ * descriptor should not exceed KMaxInfoName.
+ * @param aQoSConfig The QoS configuration parameters.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleSetPdpContextQosR5ReqL(const TDesC& aContextName, const RPacketQoS::TQoSR5Requested& aQoSConfig) = 0;
+
+ }; // class MLtsyDispatchPacketServicesSetPdpContextQosR5
+
+
+
+
+class MLtsyDispatchPacketServicesRejectNetworkInitiatedContextActivationRequest : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesRejectNetworkInitiatedContextActivationRequestApiId = KDispatchPacketServicesFuncUnitId + 17;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EPacketRejectActivationRequest
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesRejectNetworkInitiatedContextActivationRequestComp()
+ *
+ * Implementation of this interface should reject the network initiated context activation request.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleRejectNetworkInitiatedContextActivationRequestReqL() = 0;
+
+ }; // class MLtsyDispatchPacketServicesRejectNetworkInitiatedContextActivationRequest
+
+
+
+class MLtsyDispatchPacketServicesDeactivatePdpContext : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesDeactivatePdpContextApiId = KDispatchPacketServicesFuncUnitId + 18;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EPacketContextDeactivate
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesDeactivatePdpContextComp()
+ * Implementation of this interface should deactivate the context indicated by the context name.
+ *
+ *
+ * @param aContextName The context name that is to be deactivated,
+ * the maximum length of the descriptor should not exceed KMaxInfoName.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleDeactivatePdpContextReqL(const TDesC& aContextName) = 0;
+
+ }; // class MLtsyDispatchPacketServicesDeactivatePdpContext
+
+
+
+class MLtsyDispatchPacketServicesAddPacketFilter : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesAddPacketFilterApiId = KDispatchPacketServicesFuncUnitId + 19;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EPacketContextAddPacketFilter
+ * request from the CTSY.
+ * Implementation of this interface should add a packet filter to the packet service.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesSetPdpContextConfigComp()
+ *
+ * @param aContextName The name of the context, the maximum length of the
+ * descriptor should not exceed KMaxInfoName.
+ * @param aContextFilter An array contains up to eight filters to be used
+ * for configuring the secondary context.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleAddPacketFilterSyncL(const TDesC& aContextName, CArrayFixFlat<RPacketContext::TPacketFilterV2>& aContextFilter) = 0;
+
+ }; // class MLtsyDispatchPacketServicesAddPacketFilter
+
+class MLtsyDispatchPacketServicesGetStatus : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesGetStatusApiId = KDispatchPacketServicesFuncUnitId + 20;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function during the packet services bootup
+ * as part of EPacketNotifyStatusChange call.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesGetStatusComp()
+ *
+ * Implemetation of this interface should retrieve the packet service status.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleGetStatusReqL() = 0;
+
+ }; // class MLtsyDispatchPacketServicesGetStatus
+
+class MLtsyDispatchPacketServicesGetStaticCapabilities : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesGetStaticCapabilitiesApiId = KDispatchPacketServicesFuncUnitId + 21;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function during the packet services bootup
+ * as part of EPacketGetStaticCaps call.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesGetStaticCapabilitiesComp()
+ *
+ * Implemetation of this interface should retrieve the packet service static capabilities.
+ *
+ * Calls to RPacketService::GetStaticCaps() will then return the static capabilities returned
+ * in the callback.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RPacketService::GetStaticCaps()
+ */
+ virtual TInt HandleGetStaticCapabilitiesReqL() = 0;
+
+ }; // class MLtsyDispatchPacketServicesGetStaticCapabilities
+
+class MLtsyDispatchPacketServicesGetMaxNoMonitoredServiceLists : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesGetMaxNoMonitoredServiceListsApiId = KDispatchPacketServicesFuncUnitId + 22;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function during the packet services bootup
+ * as part of EPacketEnumerateMbmsMonitorServiceList call.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesGetMaxNoMonitoredServiceListsComp()
+ *
+ * Implemetation of this interface should retrieve the maximum number of monitored service lists.
+ *
+ * Calls to RPacketService::EnumerateMbmsMonitorServiceList() will then return the
+ * maximum number of monitored service lists in the aMaxAllowed field.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RPacketService::EnumerateMbmsMonitorServiceList()
+ */
+ virtual TInt HandleGetMaxNoMonitoredServiceListsReqL() = 0;
+
+ }; // class MLtsyDispatchPacketServicesGetMaxNoMonitoredServiceLists
+
+class MLtsyDispatchPacketServicesGetMaxNoActiveServices : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesGetMaxNoActiveServicesApiId = KDispatchPacketServicesFuncUnitId + 23;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function during the packet services bootup
+ * as part of EPacketEnumerateMbmsActiveServiceList call.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesGetMaxNoActiveServicesComp()
+ *
+ * Implemetation of this interface should retrieve the maximum number of active services allowed
+ * (hence the maximum number of contexts allowed).
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ */
+ virtual TInt HandleGetMaxNoActiveServicesReqL() = 0;
+
+ }; // class MLtsyDispatchPacketServicesGetMaxNoActiveServices
+
+class MLtsyDispatchPacketServicesInitialiseMbmsContext : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesInitialiseMbmsContextApiId = KDispatchPacketServicesFuncUnitId + 24;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the ECtsyPacketMbmsInitialiseContextReq
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesInitialiseMbmsContextComp()
+ *
+ * Implementation of this interface should initialise the Mbms Context
+ * (Multimedia Broadcast Multicast Service).
+ *
+ * @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, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RPacketMbmsContext::InitialiseContext()
+ */
+ virtual TInt HandleInitialiseMbmsContextReqL(const TDesC& aContextName) = 0;
+
+ }; // class MLtsyDispatchPacketServicesInitialiseMbmsContext
+
+class MLtsyDispatchPacketServicesGetMbmsNetworkServiceStatus : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesGetMbmsNetworkServiceStatusApiId = KDispatchPacketServicesFuncUnitId + 25;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EPacketGetMbmsNetworkServiceStatus
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesGetMbmsNetworkServiceStatusComp()
+ *
+ * Implementation of this interface should retrieve the current MBMS
+ * (Multimedia Broadcast Multicast Service) network state.
+ *
+ * There can be 3 states that MBMS feature availability could return,
+ * Unknown - when UE is not GMM Attached.
+ * Supported - When UE is GMM Attached and it is known that cell supports MBMS.
+ * Not Supported - When UE is GMM Attached and it is know that cell does not support MBMS.
+ *
+ * The state is only known from GMM Attach response from the network or during a Routing Area update.
+ * A consequence of this is that it is required for the UE to be in GMM Attach mode in order
+ * for either of these messages to be received. If the UE is not in GMM ATTACH then it is unable
+ * to determine MBMS network support.
+ *
+ * @param aAttemptAttach If a GMM attached is to be performed.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RPacketService::GetMbmsNetworkServiceStatus()
+ */
+ virtual TInt HandleGetMbmsNetworkServiceStatusReqL(TBool aAttemptAttach) = 0;
+
+ }; // class MLtsyDispatchPacketServicesInitialiseMbmsContext
+
+class MLtsyDispatchPacketServicesUpdateMbmsMonitorServiceList : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesUpdateMbmsMonitorServiceListApiId = KDispatchPacketServicesFuncUnitId + 26;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EPacketUpdateMbmsMonitorServiceList
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesUpdateMbmsMonitorServiceListComp()
+ *
+ * Implementation of this interface should request to update the MBMS (Multimedia Broadcast Multicast Service)
+ * monitor service availability list with the change list entries as per the action mentioned.
+ * The CTSY stores the monitor service availability list, this list is updated on a successful completion.
+ *
+ * @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.
+ *
+ * @see RPacketService::UpdateMbmsMonitorServiceListL()
+ * @see RPacketService::NotifyMbmsServiceAvailabilityChange()
+ * @see CRetrievePcktMbmsMonitoredServices()
+ */
+ virtual TInt HandleUpdateMbmsMonitorServiceListsReqL(TMbmsAction aAction, const CPcktMbmsMonitoredServiceList& aServiceList, const CPcktMbmsMonitoredServiceList& aChangeList) = 0;
+
+ }; // class MLtsyDispatchPacketServicesUpdateMbmsMonitorServiceList
+
+class MLtsyDispatchPacketServicesUpdateMbmsSessionList : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesUpdateMbmsSessionListApiId = KDispatchPacketServicesFuncUnitId + 27;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EPacketContextUpdateMbmsSessionList
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesUpdateMbmsSessionListComp()
+ *
+ * Implementation of this interface should request to add a new session to be received or remove
+ * an existing session to/from the MBMS services table.
+ * The CTSY stores the MBMS services table, this table is updated on a successful completion.
+ *
+ * @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.
+ *
+ * @see RPacketService::UpdateMbmsSessionList()
+ * @see CRetrievePcktMbmsSessionList()
+ */
+ virtual TInt HandleUpdateMbmsSessionListReqL(const TDesC& aContextName, TMbmsAction aAction, TMbmsSessionId aSessionId, const TMbmsSessionIdList& aServiceList) = 0;
+
+ }; // class MLtsyDispatchPacketServicesUpdateMbmsSessionList
+
+class MLtsyDispatchPacketServicesRemovePacketFilter : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesRemovePacketFilterApiId = KDispatchPacketServicesFuncUnitId + 28;
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EPacketContextRemovePacketFilter
+ * request from the CTSY.
+ * Implementation of this interface should remove a packet filter from the packet service.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesSetPdpContextConfigComp()
+ *
+ * @param aContextName The name of the context, the maximum length of the
+ * descriptor should not exceed KMaxInfoName.
+ * @param aFilterId The filter Id to remove.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleRemovePacketFilterSyncL(const TDesC& aContextName, TInt aFilterId) = 0;
+
+ }; // class MLtsyDispatchPacketServicesRemovePacketFilter
+
+#endif /*MLTSYDISPATCHPACKETSERVICESINTERFACE_H_*/