diff -r 000000000000 -r a41df078684a kerneltest/e32test/pccd/d_medch.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/kerneltest/e32test/pccd/d_medch.h Mon Oct 19 15:55:17 2009 +0100 @@ -0,0 +1,104 @@ +// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of the License "Eclipse Public License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.eclipse.org/legal/epl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// e32test\pccd\d_medch.h +// This header provides the interface to MEDCH.LDD so that user mode +// code such as test programs can use it. +// +// + +#if !defined(__D_MEDCH_H__) +#define __D_MEDCH_H__ + +#include + +#ifndef __KERNEL_MODE__ +#include +#endif + +class TCapsMediaChangeV01 + { +public: + TVersion version; + }; + +class RMedCh : public RBusLogicalChannel + { +public: + enum + { + EMajorVersionNumber=1, + EMinorVersionNumber=0, + EBuildVersionNumber=1 + }; + + enum TControl + { + EDoorNormal, + EDoorOpen, + EDoorClose, + EDoubleDoorOpen + }; + + enum TRequest + { + EDelayedDoorOpen, + EDelayedDoorClose + }; + +public: + inline void Cancel(); + + inline TInt Open(TInt aSocket, const TVersion& aVer) + { + return(DoCreate(_L("MedCh"), aVer, aSocket, NULL, NULL)); + } + + inline TVersion VersionRequired() const + { + return(TVersion(EMajorVersionNumber,EMinorVersionNumber,EBuildVersionNumber)); + } + + inline TInt DoorOpen() + { + return(DoControl(EDoorOpen)); + } + + inline TInt DoorClose(TBool aMediaPresent) + { + return(DoControl(EDoorClose, (TAny*)aMediaPresent)); + } + + inline TInt DoorNormal() + { + return(DoControl(EDoorNormal)); + } + + inline void DelayedDoorOpen(TRequestStatus &aReqStat, TInt aMsDelay) + { + DoRequest(EDelayedDoorOpen, aReqStat, (TAny*)aMsDelay); + } + + inline void DelayedDoorClose(TRequestStatus &aReqStat, TInt aMsDelay, TBool aMediaPresent) + { + DoRequest(EDelayedDoorClose, aReqStat, (TAny*)aMsDelay, (TAny*)aMediaPresent); + } + + inline TInt DoubleDoorOpen() + { + return(DoControl(EDoubleDoorOpen)); + } + + }; + +#endif