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 the License "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: // e32test\emi\emitest_dev.h sl@0: // sl@0: // sl@0: sl@0: #ifndef __D_EMITEST_DEV_H__ sl@0: #define __D_EMITEST_DEV_H__ sl@0: sl@0: /* sl@0: Logical Device (factory class) for 'EMITest' sl@0: */ sl@0: class DEMITestFactory : public DLogicalDevice sl@0: { sl@0: public: sl@0: sl@0: DEMITestFactory(); sl@0: ~DEMITestFactory(); sl@0: // Inherited from DLogicalDevice sl@0: virtual TInt Install(); sl@0: virtual void GetCaps(TDes8& aDes) const; sl@0: virtual TInt Create(DLogicalChannelBase*& aChannel); sl@0: }; sl@0: sl@0: sl@0: /* sl@0: Logical Channel class for 'EMITest' sl@0: */ sl@0: class DEMITestChannel : public DLogicalChannelBase sl@0: { sl@0: public: sl@0: sl@0: DEMITestChannel(); sl@0: virtual ~DEMITestChannel(); sl@0: TInt Request(TInt aFunction, TAny* a1, TAny* a2); sl@0: // Inherited from DLogicalChannelBase sl@0: virtual TInt DoCreate(TInt aUnit, const TDesC8* anInfo, const TVersion& aVer); sl@0: sl@0: private: sl@0: sl@0: enum TPanic sl@0: { sl@0: ERequestFromWrongThread=1, sl@0: ERequestAlreadyPending sl@0: }; sl@0: TInt DoRequest(TInt aReqNo, TRequestStatus* aStatus, TAny* a1, TAny* a2); sl@0: void DoCancel(TUint aMask); sl@0: static void TagMaskDFC(TAny* aPtr); sl@0: sl@0: DThread* iClient; sl@0: TDfc iTagMaskDFC; sl@0: }; sl@0: sl@0: #endif