usbdrv/peripheral/pdd/pil/inc/controltransfersm.inl
author hgs
Wed, 20 Oct 2010 12:04:53 +0800
changeset 59 bbdce6bffaad
permissions -rw-r--r--
201041_02
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
59
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
     1
/*
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
     2
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
     3
* All rights reserved.
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
     8
*
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
     9
* Initial Contributors:
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    11
*
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    12
* Contributors:
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    13
*
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    14
* Description:
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    15
*
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    16
*/
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    17
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    18
#ifndef CONTROLTRANSFERSM_INL
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    19
#define CONTROLTRANSFERSM_INL
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    20
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    21
inline MControlTransferIf& DControlTransferManager::CtrTransferIf() 
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    22
    { 
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    23
    return iCtrTransferIf; 
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    24
    }
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    25
    
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    26
inline TSetupPkgParser& DControlTransferManager::PktParser() 
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    27
    { 
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    28
    return iPacketParser; 
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    29
    }
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    30
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    31
inline void DControlTransferManager::DataReceived(TUint16 aCount)
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    32
    {
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    33
    iDataTransfered += aCount;
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    34
    }
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    35
    
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    36
inline TBool DControlTransferManager::IsMoreBytesNeeded()
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    37
    {
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    38
    return (iDataTransfered >= iPacketParser.DataLength())?EFalse:ETrue;
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    39
    }
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    40
    
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    41
inline TUsbDataDir TSetupPkgParser::DataDirection()
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    42
    {
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    43
    return (iSetupPkt.iRequestType & KUSB_SETUPKT_DATA_DIR_MASK) ? 
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    44
                                    EUsbDataDir_ToHost : EUsbDataDir_ToDevice;
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    45
    }
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    46
    
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    47
inline TBool TSetupPkgParser::IsVendorRequest()
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    48
    {
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    49
    return (iSetupPkt.iRequestType & KUSB_SETUPKT_REQ_TYPE_VENDOR_MASK) ? ETrue : EFalse;
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    50
    }
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    51
   
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    52
inline TBool TSetupPkgParser::IsClassRequest()
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    53
    {
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    54
    return (iSetupPkt.iRequestType & KUSB_SETUPKT_REQ_TYPE_CLASS_MASK) ? ETrue : EFalse;
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    55
    }
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    56
    
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    57
inline TBool TSetupPkgParser::IsStandardRequest()
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    58
    {
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    59
    return (iSetupPkt.iRequestType & KUSB_SETUPKT_REQ_TYPE_STANDARD_MASK == 0)? ETrue : EFalse;
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    60
    }
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    61
    
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    62
inline TUsbRequest TSetupPkgParser::Request()
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    63
    {
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    64
    return iSetupPkt.iRequestType;
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    65
    }
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    66
    
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    67
inline TUint16 TSetupPkgParser::Value()
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    68
    {
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    69
    return iSetupPkt.iValue;
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    70
    }
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    71
    
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    72
inline TUint16 TSetupPkgParser::Index()
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    73
    {
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    74
    return iSetupPkt.iIndex;
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    75
    }
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    76
    
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    77
inline TUint16 TSetupPkgParser::DataLength()
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    78
    {     
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    79
    return iSetupPkt.iLength;
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    80
    }
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    81
    
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    82
inline TUsbcSetup& TSetupPkgParser::SetupPacket()
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    83
    {
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    84
    return iSetupPkt;
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    85
    } 
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    86
    
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    87
#endif //CONTROLTRANSFERSM_INL
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    88
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    89
// End of file
bbdce6bffaad 201041_02
hgs
parents:
diff changeset
    90