userlibandfileserver/fileserver/smassstorage/inc/mprotocol.h
changeset 286 48e57fb1237e
equal deleted inserted replaced
285:ff5437e4337c 286:48e57fb1237e
       
     1 // Copyright (c) 2004-2010 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 the License "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  @internalTechnology
       
    19 */
       
    20 
       
    21 #ifndef MPROTOCOL_H
       
    22 #define MPROTOCOL_H
       
    23 
       
    24 #include <e32base.h>            // C Class Definitions, Cleanup Stack
       
    25 #include <e32def.h>             // T Type  Definitions
       
    26 #include <e32std.h>             // ELeave definition
       
    27 #include "usbmsshared.h"
       
    28 
       
    29 
       
    30 class MTransportBase;
       
    31 
       
    32 class MProtocolBase
       
    33     {
       
    34     public:
       
    35     virtual void RegisterTransport(MTransportBase* aTransport) = 0;
       
    36     virtual TBool DecodePacket(TPtrC8& aData, TUint aLun) = 0;
       
    37     virtual TInt ReadComplete(TInt aError) = 0;
       
    38     virtual TInt Cancel() = 0;
       
    39     virtual void ReportHighSpeedDevice() {};
       
    40     virtual ~MProtocolBase() {};
       
    41 #ifdef MSDC_MULTITHREADED
       
    42     virtual void InitializeBufferPointers(TPtr8& aDes1, TPtr8& aDes2) = 0;
       
    43 #endif
       
    44     };
       
    45 
       
    46 
       
    47 #endif // __PROTOCOL_H__
       
    48