os/kernelhwsrv/userlibandfileserver/fileserver/shostmassstorage/server/protocol/include/tspcclientinterface.h
author sl@SLION-WIN7.fritz.box
Fri, 15 Jun 2012 03:10:57 +0200
changeset 0 bde4ae8d615e
permissions -rw-r--r--
First public contribution.
     1 // Copyright (c) 2008-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 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 TSPCCLIENTINTERFACE_H
    22 #define TSPCCLIENTINTERFACE_H
    23 
    24 
    25 class TPeripheralInfo;
    26 class TSenseInfo;
    27 class MTransport;
    28 
    29 
    30 /**
    31 This class supports the commands defined in the SCSI PRIMARY COMMAND (SPC)
    32 interface for a SCSI client. A minimal set of commands is implemented for
    33 interfacing with SCSI BLOCK devices (SCSI host). The interface class MTransport
    34 is used to send the command via the transport layer.
    35 
    36 @internalTechnology
    37 
    38 */
    39 class TSpcClientInterface
    40     {
    41 public:
    42 	TSpcClientInterface(MTransport& aTransport);
    43 	~TSpcClientInterface();
    44 
    45 public:
    46     MTransport& Transport() const;
    47 
    48 	TInt InquiryL(TPeripheralInfo& aInfo);
    49 	TInt RequestSenseL(TSenseInfo& aSenseInfo);
    50 	TInt TestUnitReadyL();
    51     TInt PreventAllowMediumRemovalL(TBool aPrevent);
    52 
    53 private:
    54     MTransport& iTransport;
    55     };
    56 
    57 /**
    58 Return a reference to the transport.
    59 
    60 @return MTransport& Reference to the transport
    61 */
    62 inline MTransport& TSpcClientInterface::Transport() const
    63     {
    64     return iTransport;
    65     }
    66 
    67 #endif // TSPCCLIENTINTERFACE_H