sl@0: /* sl@0: * Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: * All rights reserved. sl@0: * This component and the accompanying materials are made available sl@0: * under the terms of "Eclipse Public License v1.0" sl@0: * which accompanies this distribution, and is available sl@0: * at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: * sl@0: * Initial Contributors: sl@0: * Nokia Corporation - initial contribution. sl@0: * sl@0: * Contributors: sl@0: * sl@0: * Description: sl@0: * sl@0: */ sl@0: sl@0: sl@0: #if (!defined __T_MMCSD_DRIVER_DATA_H__) sl@0: #define __T_MMCSD_DRIVER_DATA_H__ sl@0: sl@0: sl@0: // User Includes sl@0: #include "T_RBusLogicalChannelData.h" sl@0: #include "d_mmcsdif.h" sl@0: #include "ActiveCallbackWrap.h" sl@0: sl@0: /** sl@0: * Test Active Notification class sl@0: * sl@0: */ sl@0: sl@0: sl@0: class CT_MmcSDDriverData : public CDataWrapperBase sl@0: { sl@0: public: sl@0: /** sl@0: * Public destructor sl@0: */ sl@0: ~CT_MmcSDDriverData(); sl@0: sl@0: virtual TAny* GetObject(); sl@0: virtual TBool DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt aAsyncErrorIndex); sl@0: sl@0: protected: sl@0: /** sl@0: * Protected constructor. First phase construction sl@0: */ sl@0: CT_MmcSDDriverData(); sl@0: void ConstructL(); sl@0: sl@0: void DoCmdConstructorL(const TDesC& aSection); sl@0: void DoCmdDestructor(); sl@0: sl@0: TInt GetExpectedAsyncError(const TDesC& aSection); sl@0: void DoCmdReadSectorL(const TDesC& aSection, TInt aAsyncErrorIndex); sl@0: void DoCmdWriteSectorL(const TDesC& aSection, TInt aAsyncErrorIndex); sl@0: void DoCmdReadCSD(); sl@0: void DoCmdReadExtCSD(); sl@0: void DoCmdReadCSDL(const TDesC& aSection, TInt aAsyncErrorIndex); sl@0: void DoCmdReadExtCSDL(const TDesC& aSection, TInt aAsyncErrorIndex); sl@0: void DoCmdCardInfo(const TDesC& aSection); sl@0: void DoCmdCardIsPresent(const TDesC& aSection); sl@0: void DoCmdCardIsReady(const TDesC& aSection); sl@0: void DoCmdCardIsLocked(const TDesC& aSection); sl@0: void PrintCSD(const TCSDInfo& aCSDInfo); sl@0: void PrintExtendedCSD(const TExtendedCSDInfo& aExtendedCSDInfo); sl@0: sl@0: sl@0: protected: sl@0: void RunL(CActive* aActive, TInt aIndex); sl@0: void DoCancel(CActive* aActive); sl@0: CActiveCallbackWrap* CreateActiveCallbackL(TInt aFunctionId, TInt aExpectedAsyncError); sl@0: void DeleteActiveCallback(CActiveCallback* activeCallbackWrap); sl@0: sl@0: protected: sl@0: RMMCSDTestControllerInterface* iMmcSDController; sl@0: RPointerArray iActiveCallbacks; sl@0: sl@0: private: sl@0: TInt iStackNum; sl@0: TInt iAsyncErrorIndex; sl@0: RFs iFs; sl@0: }; sl@0: sl@0: #endif /* __T_MMCSD_DRIVER_DATA_H__ */