diff -r 000000000000 -r 3553901f7fa8 telephonyprotocols/pdplayer/umts/spudtel/inc/cspudcontextelem.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/telephonyprotocols/pdplayer/umts/spudtel/inc/cspudcontextelem.h Tue Feb 02 01:41:59 2010 +0200 @@ -0,0 +1,79 @@ +// Copyright (c) 2004-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: +// spud context element +// +// + +/** + @file + @internalComponent +*/ + +#ifndef CSPUDCONTEXTELEM_H +#define CSPUDCONTEXTELEM_H + +#include "ceteldrivercontext.h" +#include "cpdpstatuschangenotifier.h" +#include "cqoschangenotifier.h" +#include "cpdpconfigchangenotifier.h" + +class CEtelDriverFactory; + +/* base class for contexts*/ +class CContextElemBase: public CBase + { + public: + virtual void Start()=0; + virtual void Cancel()=0; + virtual void ConstructL(TContextId aId, CEtelDriverFactory& aFactory, CPdpFsmInterface& aPdpFsmInterface)=0; + + CEtelDriverContext* iContext; + }; + +/** structure to keep context object and associated notifiers */ +class CSpudContextElem : public CContextElemBase + { + public: + static CSpudContextElem* NewL(TContextId aId, CEtelDriverFactory& aFactory, CPdpFsmInterface& aPdpFsmInterface); + virtual ~CSpudContextElem(); + void ConstructL(TContextId aId, CEtelDriverFactory& aFactory, CPdpFsmInterface& aPdpFsmInterface); + void Start(); + void Cancel(); + private: + /** pdp status change notifier */ + CPdpStatusChangeNotifier* iPdpStatusChangeNotifier; + /** QoS profile change notifier */ + CQoSChangeNotifier* iQoSChangeNotifier; + /** pdp config change notifier */ + CPdpConfigChangeNotifier* iPdpConfigChangeNotifier; + }; + +/** structure to keep mbms context object and associated notifiers */ +class CMbmsContextElem : public CContextElemBase + { + public: + static CMbmsContextElem* NewL(TContextId aId, CEtelDriverFactory& aFactory, CPdpFsmInterface& aPdpFsmInterface); + virtual ~CMbmsContextElem(); + void ConstructL(TContextId aId, CEtelDriverFactory& aFactory, CPdpFsmInterface& aPdpFsmInterface); + void Start(); + void Cancel(); + private: + /** pdp status change notifier */ + CMbmsPdpStatusChangeNotifier* iMbmsPdpStatusChangeNotifier; + /** pdp config change notifier */ + CMbmsPdpConfigChangeNotifier* iMbmsPdpConfigChangeNotifier; + }; + + +#endif // CSPUDCONTEXTELEM_H