diff -r f92a4f87e424 -r 012cc2ee6408 usbmgmt/usbmgr/device/classdrivers/ncm/classimplementation/ncmpktdrv/pktdrv/inc/ncmdatainterface.h --- a/usbmgmt/usbmgr/device/classdrivers/ncm/classimplementation/ncmpktdrv/pktdrv/inc/ncmdatainterface.h Tue Aug 31 17:01:47 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,115 +0,0 @@ -/* -* Copyright (c) 2010 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 -@internalComponent -*/ - -#ifndef NCMDATAINTERFACE_H -#define NCMDATAINTERFACE_H - -#include -#ifndef __OVER_DUMMYUSBSCLDD__ -#include -#include -#include -#else -#include -#include -#endif - -#include "ncmpktdrvcommon.h" - -class CNcmDataSender; -class CNcmDataReceiver; - -/** -The interface to NCM data channel. -*/ -NONSHARABLE_CLASS(MNcmDataObserver) -{ -public: - /** - Process received datagram parsed from NCM. - @param[in] aPacket, contains the datagram(ethernet frame) to be dealed with. - */ - virtual void ProcessReceivedDatagram(RMBufPacket& aPacket) = 0; - /** - Notify the upper layer(TCP/IP stack) to continue to send data. - */ - virtual void ResumeSending() = 0; - /** - Notify unrecoverable error in data channel. - */ - virtual void DataError(TInt aError) = 0; - /** - Notify the Data Interface's alt-setting changes, which commonly from 0 to 1, or vice versa. - @param[in] aIfAltSet, the alt-setting number. - */ - virtual void HandleAltSetting(TInt aIfAltSet) = 0; -}; - -/** -Maintain the logic of Ncm data channel -*/ -NONSHARABLE_CLASS(CNcmDataInterface) : public CActive - { -public: - static CNcmDataInterface* NewL(MNcmDataObserver& aEngine, RDevUsbcScClient& aLdd); - ~CNcmDataInterface(); - - inline TBool IsStarted() const; - void Start(); - void Stop(); - TInt Send(RMBufChain& aPacket); - - TInt GetSpeed(TInt& aSpeed); - TInt GetNtbInputSize(TDes8& aSize); - TInt SetNtbInputSize(TDesC8& aSize); - TInt GetNtbParam(TDes8& aParam); - TInt SetInEpBufferSize(TUint aSize); - - void ActivateLdd(); - inline void DataError(TInt aErroCode) const; - inline void ResumeSending() const; - inline void ProcessDatagram(RMBufPacket& aPacket) const; - inline TInt AltSetting() const; - -private: - CNcmDataInterface(MNcmDataObserver& aEngine, RDevUsbcScClient& aLdd); - void ConstructL(); - - //From CActive - void RunL(); - void DoCancel(); - -private: - TBool iStarted; - CNcmDataSender* iSender; - CNcmDataReceiver* iReceiver; - MNcmDataObserver& iEngine; - - RDevUsbcScClient& iLdd; - TInt iAltSetting; - TUint iIfState; - }; - -// inline functions -#include "ncmdatainterface.inl" - -#endif // NCMDATAINTERFACE_H