mtptransports/mtpusbtransport/usbdatatypes/inc/tmtpusbcontrolrequestmodheader.h
changeset 0 d0791faffa3f
equal deleted inserted replaced
-1:000000000000 0:d0791faffa3f
       
     1 // Copyright (c) 2006-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 //
       
    15 
       
    16 /**
       
    17  @file
       
    18  @internalComponent
       
    19 */
       
    20 
       
    21 #ifndef TMTPUSBCONTROLREQUESTMODHEADER_H
       
    22 #define TMTPUSBCONTROLREQUESTMODHEADER_H
       
    23 
       
    24 #include <mtp/tmtptypeflatbase.h>
       
    25 
       
    26 /**
       
    27 Defines the MTP USB device class Microsoft OS Feature Descriptor (MOD) header 
       
    28 section dataset.
       
    29 @internalComponent
       
    30  
       
    31 */
       
    32 class TMTPUsbControlRequestMODHeader : public TMTPTypeFlatBase 
       
    33     {
       
    34     
       
    35 public:
       
    36 
       
    37     /**
       
    38     MTP USB MOD header section dataset element identifiers.
       
    39     */
       
    40     enum TElements
       
    41         {
       
    42         EdwLength,
       
    43         EbcdVersion,
       
    44         EwIndex,
       
    45         EbCount,
       
    46         EReserved1,
       
    47         EReserved2,
       
    48         EReserved3,
       
    49         EReserved4,
       
    50         EReserved5,
       
    51         EReserved6,
       
    52         EReserved7,
       
    53         ENumElements
       
    54         };
       
    55      
       
    56 public:
       
    57 
       
    58     IMPORT_C TMTPUsbControlRequestMODHeader();
       
    59      
       
    60 public: // From TMTPTypeFlatBase
       
    61 
       
    62     IMPORT_C TUint Type() const;
       
    63     
       
    64 private: // From TMTPTypeFlatBase
       
    65 
       
    66     IMPORT_C const TMTPTypeFlatBase::TElementInfo& ElementInfo(TInt aElementId) const;
       
    67        
       
    68 private:
       
    69    
       
    70     /**
       
    71     The dataset size in bytes.
       
    72     */
       
    73     static const TInt                               KSize = 16;
       
    74     
       
    75     /**
       
    76     The dataset element metadata table content.
       
    77     */
       
    78     static const TMTPTypeFlatBase::TElementInfo     iElementMetaData[];
       
    79     
       
    80     /**
       
    81     The dataset element metadata table.
       
    82     */
       
    83     const TFixedArray<TElementInfo, ENumElements>   iElementInfo;
       
    84     
       
    85     /**
       
    86     The data buffer.
       
    87     */
       
    88     TBuf8<KSize>                                    iBuffer;     
       
    89     };
       
    90     
       
    91 #endif // TMTPUSBCONTROLREQUESTMODHEADER_H