telephonyserverplugins/common_tsy/commontsy/inc/mmpacket/cmmpacketqosgsmwcdmaext.h
changeset 0 3553901f7fa8
child 24 6638e7f4bd8f
equal deleted inserted replaced
-1:000000000000 0:3553901f7fa8
       
     1 /*
       
     2 * Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 
       
    20 #ifndef CMMPACKETQOSGSMWCDMAEXT_H
       
    21 #define CMMPACKETQOSGSMWCDMAEXT_H
       
    22 
       
    23 // INCLUDES
       
    24 #include "Cmmpacketqostsy.h"
       
    25 #include "cmmpacketcontextgsmwcdmaext.h"
       
    26 
       
    27 // FORWARD DECLARATIONS
       
    28 class CMmPacketQoSTsy;
       
    29 class CMmPacketServiceTsy;
       
    30 
       
    31 // CLASS DECLARATION
       
    32 
       
    33 /**
       
    34 *  CMmPacketQoSGsmWcdmaExt contains mode specific QoS 
       
    35 *  functionality for GSM/WCDMA Packet Data.
       
    36 */
       
    37 NONSHARABLE_CLASS( CMmPacketQoSGsmWcdmaExt ) : public CBase
       
    38     {
       
    39     public: // Constructors and destructor
       
    40 
       
    41         /**
       
    42          * Two-phased constructor. NewL method is used to create a new 
       
    43          * instance of CMmPacketQoSGsmWcdmaExt class.
       
    44          *  
       
    45          *                 
       
    46 		 * @param aMmPacketQoSTsy pointer to PacketQosTsy
       
    47 		 * @param aMmPacketService pointer to PacketServiceTsy
       
    48          */
       
    49         static CMmPacketQoSGsmWcdmaExt* NewL
       
    50             (
       
    51             CMmPacketQoSTsy* aMmPacketQoSTsy,
       
    52             CMmPacketServiceTsy* aMmPacketService
       
    53             );
       
    54         
       
    55         /**
       
    56          * Destructor.
       
    57          */
       
    58         ~CMmPacketQoSGsmWcdmaExt();
       
    59 
       
    60         /**
       
    61          * Set Profile Parameters
       
    62          *         
       
    63          *
       
    64 		 * @param aProfile profile clinet side QoS data
       
    65 		 * @return error value
       
    66          */
       
    67         TInt SetProfileParametersL( TDes8* aProfile );
       
    68 
       
    69         /**
       
    70          * Get Profile Parameters
       
    71          *          
       
    72          *
       
    73 		 * @param aProfileCaps Profile capabilities
       
    74 		 * @return error value
       
    75          */
       
    76         TInt GetProfileParameters( TDes8* aProfileCaps );
       
    77 
       
    78         /**
       
    79          * Notify Profile Changed
       
    80          *          
       
    81          *
       
    82 		 * @param aProfile Profile capabilities
       
    83 		 * @return error value
       
    84          */
       
    85         TInt NotifyProfileChanged( TDes8* aProfile );
       
    86 
       
    87         /**
       
    88          * Cancel Notify Profile Changed
       
    89          *          
       
    90          *
       
    91          */
       
    92         void NotifyProfileChangedCancel();
       
    93 
       
    94 
       
    95         /**
       
    96          * Complete Set Profile Parameters
       
    97          *          
       
    98          *
       
    99 		 * @param aErrorValue error value for completion
       
   100          */
       
   101         void CompleteSetProfileParameters( const TInt aErrorValue );
       
   102 
       
   103         /**
       
   104          * Get Profile Capabilities
       
   105          *          
       
   106          *         
       
   107 		 * @param aProfileCaps Profile capabilities
       
   108 		 * @return error value
       
   109          */
       
   110         TInt GetProfileCapabilities( TDes8* aProfileCaps );
       
   111 
       
   112 		/*
       
   113          * Saves negotiated Qos values and completes notification to client
       
   114          *          
       
   115          *
       
   116          * @param aDataPackage contains initial data
       
   117 		 */
       
   118 		void CompleteNotifyProfileChanged( CMmDataPackage* aDataPackage );
       
   119         /**
       
   120 		 * QoS is asked
       
   121 		 * 		 
       
   122          *
       
   123 		 * @return true if client has succesfully set up Qos values 
       
   124          *         else false
       
   125 		 */
       
   126         TBool ProfileAsked();
       
   127 
       
   128         /**
       
   129 		 * Gets Qos profile
       
   130 		 * 		 
       
   131          *
       
   132 		 * @return Requested 99 QoS parameters in return
       
   133 		 */
       
   134         RPacketQoS::TQoSGPRSRequested* Requested97();
       
   135 
       
   136         /**
       
   137 		 * Gets Qos profile
       
   138 		 * 		 
       
   139          *
       
   140 		 * @return Requested 97/98 QoS parameters in return
       
   141 		 */
       
   142         RPacketQoS::TQoSR99_R4Requested* Requested99();
       
   143     
       
   144 		/**
       
   145 		 * Gets Qos profile
       
   146 		 * 		 
       
   147          *
       
   148 		 * @return Requested Rel5 QoS parameters in return
       
   149 		 */
       
   150 		RPacketQoS::TQoSR5Requested* RequestedR5();
       
   151         /**
       
   152          * Gets configuration type
       
   153          *          
       
   154          *
       
   155          */
       
   156         TInt ConfigurationType() const;
       
   157 
       
   158     private:
       
   159 
       
   160         /**
       
   161          * C++ default constructor.
       
   162          */
       
   163         CMmPacketQoSGsmWcdmaExt();
       
   164 
       
   165         /**
       
   166          * Second phase constructor of CMmPacketQoSGsmWcdmaExt.
       
   167          */
       
   168         void ConstructL();
       
   169 
       
   170 
       
   171            
       
   172     private: // Data
       
   173 
       
   174 
       
   175         /**
       
   176          * A pointer to the Packet Service Tsy
       
   177          */
       
   178         CMmPacketServiceTsy* iMmPacketService;
       
   179 
       
   180         /**
       
   181          * Pointer to the Packet QoS Tsy
       
   182          */
       
   183         CMmPacketQoSTsy* iMmPacketQoSTsy;
       
   184         
       
   185         /**
       
   186          * Negotieated QoSGPRS profile
       
   187         */        
       
   188         RPacketQoS::TQoSGPRSNegotiated iQoSGPRSNegotiated;
       
   189         
       
   190         /**
       
   191          * Negotieated QoS 99 parameters
       
   192         */            
       
   193         RPacketQoS::TQoSR99_R4Negotiated iQoSR99_R4Negotiated;
       
   194         
       
   195         /**
       
   196          * Negotiated QoS rel5 parameters
       
   197         */             
       
   198         RPacketQoS::TQoSR5Negotiated iQoSR5Negotiated;
       
   199 
       
   200         /**
       
   201          * Pointer to the notify pckg
       
   202          * Not own.         
       
   203         */      
       
   204         TDes8* iQoSGPRSNotifyPckg;
       
   205 
       
   206         /**
       
   207          * for saving client request
       
   208         */            
       
   209 		TBool iQoSGPRSRequested;
       
   210 
       
   211         /**
       
   212          * for saving client request      
       
   213         */            
       
   214 		TBool iQoSR99_R4Requested;	
       
   215 		
       
   216         /**
       
   217          * for saving client request      
       
   218         */        
       
   219 		TBool iQoSR5Requested;			
       
   220 
       
   221         /**
       
   222          * Tells if QoS is asked.      
       
   223         */        
       
   224         TBool iQosAsked;
       
   225 
       
   226         /**
       
   227          * Struct containing reguested Qos R5 params      
       
   228         */        
       
   229         RPacketQoS::TQoSR5Requested iRequestedR5;
       
   230         
       
   231         /**
       
   232          * Struct containing reguested Qos R99 params      
       
   233         */     
       
   234         RPacketQoS::TQoSR99_R4Requested iRequested99; 
       
   235 
       
   236         /**
       
   237          * Struct containing reguested Qos 97/98 params      
       
   238         */                    
       
   239         RPacketQoS::TQoSGPRSRequested iRequested;
       
   240 
       
   241         /**
       
   242          * Configuraton type      
       
   243         */   
       
   244         TInt iConfigurationType;
       
   245 
       
   246     };
       
   247 
       
   248 #endif //CMMPACKETQOSGSMWCDMAEXT_H 
       
   249 
       
   250 // End of File