sl@0: // Copyright (c) 2007-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\defrag\d_defrag.h sl@0: // sl@0: // sl@0: sl@0: #if !defined(__D_DEFRAG_H__) sl@0: #define __D_DEFRAG_H__ sl@0: #include sl@0: #ifndef __KERNEL_MODE__ sl@0: #include sl@0: #endif sl@0: sl@0: sl@0: _LIT(KLddName,"DefragRef"); sl@0: sl@0: class TCapsDefragTestV01 sl@0: { sl@0: public: sl@0: TVersion iVersion; sl@0: }; sl@0: sl@0: /** User-side interface to the defrag LDD sl@0: */ sl@0: class RDefragChannel : public RBusLogicalChannel sl@0: { sl@0: public: sl@0: enum TControl sl@0: { sl@0: EControlGeneralDefragDfc, sl@0: EControlGeneralDefragDfcComplete, sl@0: EControlGeneralDefragSem, sl@0: EControlGeneralDefrag, sl@0: EControlAllocLowestZone, sl@0: EControlClaimLowestZone, sl@0: EControlCloseChunk, sl@0: }; sl@0: sl@0: public: sl@0: inline TInt Open(); sl@0: inline TInt GeneralDefragDfc(TRequestStatus* aReq); sl@0: inline TInt GeneralDefragDfcComplete(); sl@0: inline TInt GeneralDefrag(); sl@0: inline TInt GeneralDefragSem(); sl@0: inline TInt AllocLowestZone(); sl@0: inline TInt ClaimLowestZone(); sl@0: inline TInt CloseChunk(); sl@0: }; sl@0: sl@0: sl@0: #ifndef __KERNEL_MODE__ sl@0: inline TInt RDefragChannel::Open() sl@0: { sl@0: return DoCreate(KLddName,TVersion(0,1,1),KNullUnit,NULL,NULL); sl@0: } sl@0: sl@0: inline TInt RDefragChannel::GeneralDefragDfc(TRequestStatus* aReq) sl@0: { sl@0: if (aReq != NULL) sl@0: { sl@0: *aReq = KRequestPending; sl@0: } sl@0: return DoControl(EControlGeneralDefragDfc, (TAny*)aReq); sl@0: } sl@0: sl@0: inline TInt RDefragChannel::GeneralDefragDfcComplete() sl@0: { sl@0: return DoControl(EControlGeneralDefragDfcComplete); sl@0: } sl@0: sl@0: inline TInt RDefragChannel::GeneralDefragSem() sl@0: { return DoControl(EControlGeneralDefragSem); } sl@0: sl@0: inline TInt RDefragChannel::GeneralDefrag() sl@0: { return DoControl(EControlGeneralDefrag); } sl@0: sl@0: inline TInt RDefragChannel::AllocLowestZone() sl@0: { return DoControl(EControlAllocLowestZone); } sl@0: sl@0: inline TInt RDefragChannel::ClaimLowestZone() sl@0: { return DoControl(EControlClaimLowestZone);} sl@0: sl@0: inline TInt RDefragChannel::CloseChunk() sl@0: { return DoControl(EControlCloseChunk); } sl@0: #endif sl@0: sl@0: #endif