diff -r 000000000000 -r cec860690d41 emulator/emulatorbsp/specific/display_dev.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/emulator/emulatorbsp/specific/display_dev.cpp Tue Feb 02 01:39:10 2010 +0200 @@ -0,0 +1,79 @@ +// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of "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: +// + + +#include +#include "display_dev.h" +#include "display_chan.h" + + +DECLARE_STANDARD_LDD() + { + return new DDisplayDevice; + } + + +DDisplayDevice::DDisplayDevice() + { + iVersion = TVersion(KDisplayChMajorVersionNumber, + KDisplayChMinorVersionNumber, KDisplayChBuildVersionNumber); + iParseMask=KDeviceAllowUnit; + } + + +DDisplayDevice::~DDisplayDevice() + { + } + + +TInt DDisplayDevice::Install() + { + return SetName(&RDisplayChannel::Name()); + } + + +/** +Called by the kernel's device driver framework to create a Logical Channel. +This is called in the context of the user thread (client) which requested the +creation of a Logical Channel (e.g. through a call to RBusLogicalChannel::DoCreate) +The thread is in a critical section. + +@param aChannel Set to point to the created Logical Channel + +@return KErrNone if successful, otherwise one of the other system wide error codes. +*/ +TInt DDisplayDevice::Create(DLogicalChannelBase*& aChannel) + { + aChannel = new DDisplayChannel(); + + return aChannel ? KErrNone : KErrNoMemory; + } + + +/** +Return the drivers capabilities. +Called in the response to an RDevice::GetCaps() request. + +@param aDes User-side descriptor to write capabilities information into +*/ +void DDisplayDevice::GetCaps(TDes8& aDes) const + { + // Create a capabilities object + DDisplayChannel::TCaps caps; + caps.iVersion = iVersion; + // Write it back to user memory + Kern::InfoCopy(aDes,reinterpret_cast(&caps),sizeof(caps)); + } +