--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/telephonyserverplugins/multimodetsy/Multimode/gprs/gprsqos.h Tue Feb 02 01:41:59 2010 +0200
@@ -0,0 +1,95 @@
+// Copyright (c) 2001-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 __GPRSQOS_H
+#define __GPRSQOS_H
+
+#include <etelqos.h>
+#include "Gprscontext.h"
+
+class CATGprsSetQoSProfile;
+class CATGprsGetQoSProfile;
+class CATIO;
+class CATInit;
+class CPhoneGlobals;
+
+
+class CATGprsSetProfile;
+class CATGprsGetProfile;
+class CATGprsGetCapsProflie;
+class CGprsQoS :public CSubSessionExtBase
+/**
+This class implements the RPacketQoS API.
+CGprsQoS inherits from CSubSessionExtBase.
+@internalComponent
+*/
+{
+public:
+ static CGprsQoS* NewL(CGprsContext* aParent, TInt iCid, CATIO* aIo, CATInit* aInit, CPhoneGlobals* aPhoneGlobals, TDes& aName);
+
+ virtual TInt ExtFunc(const TTsyReqHandle aTsyReqHandle,const TInt aIpc,const TDataPackage& aPackage);
+ virtual TReqMode ReqModeL(const TInt aIpc);
+ virtual CTelObject* OpenNewObjectByNameL(const TDesC& aName);
+ virtual CTelObject* OpenNewObjectL(TDes& aNewName);
+ virtual TInt CancelService(const TInt aIpc, const TTsyReqHandle aTsyReqHandle);
+ virtual void Init();
+ virtual TInt RegisterNotification(const TInt aIpc);
+ virtual TInt DeregisterNotification(const TInt aIpc);
+ virtual TInt NumberOfSlotsL(const TInt aIpc);
+
+ RPacketQoS::TQoSGPRSRequested* GetReqQoSProfile();
+ void SetReqQoSProfile(const RPacketQoS::TQoSGPRSRequested* aQoSRequested);
+ void SetNegQoSProfile(const RPacketQoS::TQoSGPRSNegotiated* aQoSNegotiated);
+
+ inline CGprsContext* Parent(){return iParent;};
+ TDes* GetProfileName();
+
+protected:
+ void ConstructL(TDes& aName);
+ CGprsQoS(CGprsContext* aParent, TInt iCid, CATIO* iIo, CATInit* iInit, CPhoneGlobals* iPhoneGlobals);
+ virtual ~CGprsQoS();
+
+private:
+ TInt SetProfile(const TTsyReqHandle aTsyReqHandle,const TDesC8* aReqProfile);
+ TInt SetProfileCancel(const TTsyReqHandle aTsyReqHandle);
+ TInt GetProfile(const TTsyReqHandle aTsyReqHandle,TDes8* aNegProfile);
+ TInt GetProfileCancel(const TTsyReqHandle aTsyReqHandle);
+ TInt NotifyProfileChanged(const TTsyReqHandle aTsyReqHandle, TDes8* aNegProfile);
+ TInt NotifyProfileChangedCancel(const TTsyReqHandle aTsyReqHandle);
+ TInt GetProfileCaps(const TTsyReqHandle aTsyReqHandle, TDes8* aCapsProfile);
+ TInt GetProfileCapsCancel(const TTsyReqHandle aTsyReqHandle);
+private:
+ TBool ShouldNotProcessIpcCall(TInt aIpc);
+ TBool ShouldNotProcessIpcCallWhenComportIsLoaned(TInt aIpc);
+private:
+ TName iQoSName;
+ TInt iCid; // context id relating the QoS profile to the context id.
+ CATGprsSetProfile* iATGprsSetProfile; //< Pointer to context activation AT command object.
+ CATGprsGetProfile* iATGprsGetProfile; //< Pointer to context deactivation AT command object.
+ CATGprsGetCapsProflie* iATGprsGetCapsProfile; //< Pointer to context configuration AT command object.
+ CGprsContext* iParent; //< Pointer to parent.
+ CATIO* iIo; //< Pointer to lowever layer (C32) communication object.
+ CATInit* iInit; //< Pointer to AT phone init.
+ CPhoneGlobals* iPhoneGlobals; //< Pointer to global wide phone states.
+ RPacketQoS::TQoSGPRSRequested iQoSRequested;
+ RPacketQoS::TQoSGPRSNegotiated iQoSNegotiated;
+};
+
+#endif