usbmgmt/usbmgr/device/classdrivers/ncm/classimplementation/ncmpktdrv/pktdrv/inc/ncmcommunicationinterface.h
branchRCL_3
changeset 16 012cc2ee6408
parent 15 f92a4f87e424
--- a/usbmgmt/usbmgr/device/classdrivers/ncm/classimplementation/ncmpktdrv/pktdrv/inc/ncmcommunicationinterface.h	Tue Aug 31 17:01:47 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,153 +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:
-* header file for NCM communication interface class 
-*
-*/
-
-/**
-@file
-@internalComponent
-*/
-
-#ifndef NCMCOMMUNICATIONINTERFACE_H
-#define NCMCOMMUNICATIONINTERFACE_H
-
-#include <e32base.h>
-
-#ifndef __OVER_DUMMYUSBSCLDD__
-#include <d32usbcsc.h>
-#else //!__OVER_DUMMYUSBSCLDD__
-#include <dummyusbsclddapi.h>
-#endif// __OVER_DUMMYUSBSCLDD__
-
-#include "ncmcomminterfacesenderandreceiver.h"
-#include "ncmpktdrvcommon.h"
-
-const TUint KSetupPacketLength = 8;
-const TUint KNtbParamStructLength = 28;
-const TUint KNtbInputSizeStructLength = 4;
-
-_LIT(KNcmCommInterface, "NcmCommunicationInterface");
-
-enum TNcmCommErrorCode
-    {
-    EInternalError,
-    EInvalidSetupPacketLength,
-    EInvalidOutSetupPacket,
-    EInvalidInSetupPacket,
-    EInvalidLengthToRead,
-    EInvalidDataPacketLength,
-    EInvalidFilterOffset
-    };
-
-/**
-* The interface to Ncm engine
-*/
-
-NONSHARABLE_CLASS(MNcmControlObserver)
-{
-public:
-    virtual TInt HandleSetNtbInputSize(TDes8& aBuf) = 0;
-    virtual TInt HandleGetNtbParam(TDes8& aBuf) = 0;
-    virtual TInt HandleGetNtbInputSize(TDes8& aBuf) = 0;
-    virtual void ControlError(TInt aError) = 0;
-};
-
-/**
-*  implement NCM control interface
-*/
-
-NONSHARABLE_CLASS(CNcmCommunicationInterface) : public CActive
-    {
-public:
-    static CNcmCommunicationInterface* NewL(MNcmControlObserver& aEngine, RDevUsbcScClient& aLdd);
-    ~CNcmCommunicationInterface();
-    TInt Start();
-    void Stop();
-    void ControlMsgError(TNcmCommErrorCode aCode);
-    TInt SendConnectionNotification(TBool aConnected);
-    TInt SendSpeedNotification(TInt aUSBitRate, TInt aDSBitRate);
-
-public:
-    inline RDevUsbcScClient& Ldd();
-    inline TBool IsStarted();
-    
-private:
-    enum TNcmCommRWState
-        {
-        EStateInitial = 0,
-        EStateReadSetup, 
-        EStateReadDataout, 
-        EStateWriteDatain
-        };
-
-    enum TUsbRequestType
-        {
-        EGetNtbParameters = 0x80,
-        EGetNtbInputSize  = 0x85,
-        ESetNtbInputSize  = 0x86
-        };
-
-private:
-    CNcmCommunicationInterface(MNcmControlObserver& aEngine, RDevUsbcScClient& aLdd);
-    void ConstructL();
-    void RunL();
-    void DoCancel();
-    void ReadSetup();
-    void DecodeSetup();
-    void ReadDataOut();
-    void WriteDataIn();
-    void ParseDataOut();
-    TInt WriteInterruptData(TInt aEndPoint, TDesC8& aDes, TInt aLength);
-    TInt GetInterfaceNumber();
-    
-
-private:
-    
-    MNcmControlObserver&                   iEngine;
-    /**
-    * USB request type
-    */        
-    TUint8                                 iRequestType;
-    /**
-    * data stage data length
-    */    
-    TUint16                                iDataStageLength;
-    /**
-    * usb setup packet
-    */    
-    TBuf8<KSetupPacketLength>              iSetupPacket;
-    /**
-    * control transfer data
-    */    
-    TBuf8<KNtbParamStructLength>           iDataBuffer;
-    TNcmCommRWState                        iRWState;
-    TBool                                  iStarted;
-    RDevUsbcScClient&                      iPort;
-    /**
-    * instance to CNcmCommInterfaceSenderAndReceiver
-    */    
-    CNcmCommInterfaceSenderAndReceiver*    iSenderAndReceiver;
-    /**
-    * communication interface number
-    */    
-    TUint8 iInterfaceNumber;
-
-    };
-
-// Inline functions
-#include "ncmcommunicationinterface.inl"
-
-#endif //NCMCOMMUNICATIONINTERFACE_H