os/boardsupport/emulator/emulatorbsp/specific/display_dev.cpp
author sl@SLION-WIN7.fritz.box
Fri, 15 Jun 2012 03:10:57 +0200
changeset 0 bde4ae8d615e
permissions -rw-r--r--
First public contribution.
sl@0
     1
// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
sl@0
     2
// All rights reserved.
sl@0
     3
// This component and the accompanying materials are made available
sl@0
     4
// under the terms of "Eclipse Public License v1.0"
sl@0
     5
// which accompanies this distribution, and is available
sl@0
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
sl@0
     7
//
sl@0
     8
// Initial Contributors:
sl@0
     9
// Nokia Corporation - initial contribution.
sl@0
    10
//
sl@0
    11
// Contributors:
sl@0
    12
//
sl@0
    13
// Description:
sl@0
    14
//
sl@0
    15
sl@0
    16
sl@0
    17
#include <kernel/kern_priv.h>
sl@0
    18
#include "display_dev.h"
sl@0
    19
#include "display_chan.h"
sl@0
    20
sl@0
    21
sl@0
    22
DECLARE_STANDARD_LDD()
sl@0
    23
	{
sl@0
    24
	return new DDisplayDevice;
sl@0
    25
	}
sl@0
    26
sl@0
    27
sl@0
    28
DDisplayDevice::DDisplayDevice()
sl@0
    29
	{
sl@0
    30
	iVersion = TVersion(KDisplayChMajorVersionNumber,
sl@0
    31
			KDisplayChMinorVersionNumber, KDisplayChBuildVersionNumber);
sl@0
    32
	iParseMask=KDeviceAllowUnit;
sl@0
    33
	}
sl@0
    34
sl@0
    35
sl@0
    36
DDisplayDevice::~DDisplayDevice()
sl@0
    37
	{
sl@0
    38
	}
sl@0
    39
sl@0
    40
sl@0
    41
TInt DDisplayDevice::Install()
sl@0
    42
	{
sl@0
    43
	return SetName(&RDisplayChannel::Name());
sl@0
    44
	}
sl@0
    45
sl@0
    46
sl@0
    47
/**
sl@0
    48
Called by the kernel's device driver framework to create a Logical Channel.
sl@0
    49
This is called in the context of the user thread (client) which requested the
sl@0
    50
creation of a Logical Channel (e.g. through a call to RBusLogicalChannel::DoCreate)
sl@0
    51
The thread is in a critical section.
sl@0
    52
sl@0
    53
@param aChannel Set to point to the created Logical Channel
sl@0
    54
sl@0
    55
@return KErrNone if successful, otherwise one of the other system wide error codes.
sl@0
    56
*/
sl@0
    57
TInt DDisplayDevice::Create(DLogicalChannelBase*& aChannel)
sl@0
    58
	{
sl@0
    59
	aChannel = new DDisplayChannel();
sl@0
    60
sl@0
    61
	return aChannel ? KErrNone : KErrNoMemory;
sl@0
    62
	}
sl@0
    63
sl@0
    64
sl@0
    65
/**
sl@0
    66
Return the drivers capabilities.
sl@0
    67
Called in the response to an RDevice::GetCaps() request.
sl@0
    68
sl@0
    69
@param aDes User-side descriptor to write capabilities information into
sl@0
    70
*/
sl@0
    71
void DDisplayDevice::GetCaps(TDes8& aDes) const
sl@0
    72
	{
sl@0
    73
	// Create a capabilities object
sl@0
    74
	DDisplayChannel::TCaps caps;
sl@0
    75
	caps.iVersion = iVersion;
sl@0
    76
	// Write it back to user memory
sl@0
    77
	Kern::InfoCopy(aDes,reinterpret_cast<TUint8*>(&caps),sizeof(caps));
sl@0
    78
	}
sl@0
    79