telephonyprotocols/pdplayer/umts/spudtel/inc/cspudcontextelem.h
changeset 0 3553901f7fa8
equal deleted inserted replaced
-1:000000000000 0:3553901f7fa8
       
     1 // Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     2 // All rights reserved.
       
     3 // This component and the accompanying materials are made available
       
     4 // under the terms of "Eclipse Public License v1.0"
       
     5 // which accompanies this distribution, and is available
       
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     7 //
       
     8 // Initial Contributors:
       
     9 // Nokia Corporation - initial contribution.
       
    10 //
       
    11 // Contributors:
       
    12 //
       
    13 // Description:
       
    14 // spud context element
       
    15 // 
       
    16 //
       
    17 
       
    18 /**
       
    19  @file 
       
    20  @internalComponent
       
    21 */
       
    22 
       
    23 #ifndef CSPUDCONTEXTELEM_H
       
    24 #define CSPUDCONTEXTELEM_H
       
    25 
       
    26 #include "ceteldrivercontext.h"
       
    27 #include "cpdpstatuschangenotifier.h"
       
    28 #include "cqoschangenotifier.h"
       
    29 #include "cpdpconfigchangenotifier.h"
       
    30 
       
    31 class CEtelDriverFactory;
       
    32 
       
    33 /* base class for contexts*/
       
    34 class CContextElemBase: public CBase
       
    35 	{
       
    36 	public:
       
    37 	virtual void Start()=0;
       
    38 	virtual void Cancel()=0;
       
    39 	virtual void ConstructL(TContextId aId, CEtelDriverFactory& aFactory, CPdpFsmInterface& aPdpFsmInterface)=0;
       
    40 	
       
    41 	CEtelDriverContext*			iContext;
       
    42 	};
       
    43 	
       
    44 /** structure to keep context object and associated notifiers */
       
    45 class CSpudContextElem : public CContextElemBase
       
    46 	{
       
    47 	public:
       
    48 		static CSpudContextElem* NewL(TContextId aId, CEtelDriverFactory& aFactory, CPdpFsmInterface& aPdpFsmInterface);
       
    49 		virtual ~CSpudContextElem();
       
    50 		void ConstructL(TContextId aId, CEtelDriverFactory& aFactory, CPdpFsmInterface& aPdpFsmInterface);
       
    51 		void Start();
       
    52 		void Cancel();
       
    53 	private:	
       
    54 		/** pdp status change notifier */
       
    55 		CPdpStatusChangeNotifier*	iPdpStatusChangeNotifier;
       
    56 		/** QoS profile change notifier */
       
    57 		CQoSChangeNotifier*			iQoSChangeNotifier;
       
    58 		/** pdp config  change notifier */
       
    59 		CPdpConfigChangeNotifier*	iPdpConfigChangeNotifier;
       
    60 	};
       
    61 
       
    62 /** structure to keep mbms context object and associated notifiers */	
       
    63 class CMbmsContextElem : public CContextElemBase
       
    64 	{
       
    65 	public:
       
    66 		static CMbmsContextElem* NewL(TContextId aId, CEtelDriverFactory& aFactory, CPdpFsmInterface& aPdpFsmInterface);
       
    67 		virtual ~CMbmsContextElem();
       
    68 		void ConstructL(TContextId aId, CEtelDriverFactory& aFactory, CPdpFsmInterface& aPdpFsmInterface);
       
    69 		void Start();
       
    70 		void Cancel();
       
    71 	private:
       
    72 		/** pdp status change notifier */
       
    73 		CMbmsPdpStatusChangeNotifier*	iMbmsPdpStatusChangeNotifier;
       
    74 		/** pdp config  change notifier */
       
    75 		CMbmsPdpConfigChangeNotifier*	iMbmsPdpConfigChangeNotifier;
       
    76 	};
       
    77 	
       
    78 
       
    79 #endif // CSPUDCONTEXTELEM_H