guestrendering/guestvideodriver/api/src/guestvideodriver.cpp
author Faisal Memon <faisal.memon@nokia.com>
Fri, 20 Aug 2010 18:02:40 +0100
branchbug235_bringup_0
changeset 1 d8d95053303a
child 2 e8ccf068ac7f
permissions -rwxr-xr-x
Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
     1
// Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
     2
// All rights reserved.
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
     3
// This component and the accompanying materials are made available
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
     4
// under the terms of "Eclipse Public License v1.0"
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
     5
// which accompanies this distribution, and is available
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
     7
//
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
     8
// Initial Contributors:
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
     9
// Nokia Corporation - initial contribution.
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    10
//
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    11
// Contributors:
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    12
//
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    13
// Description:
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    14
// Guest Video Driver Implementation
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    15
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    16
#include <e32cmn.h>
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    17
#include <e32des8.h> 
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    18
#include <e32std.h> 
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    19
#include <e32debug.h> 
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    20
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    21
#include <graphics/guestvideodriver.h>
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    22
#include <graphics/guestvideodriverprotocol.h>
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    23
#include <graphics/guestvideodriverinterfaceconstants.h>
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    24
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    25
#include "remotefunctioncall.h"
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    26
#include "serializedfunctioncall.h"
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    27
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    28
// tracing
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    29
#ifdef _DEBUG
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    30
#include <e32debug.h>
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    31
    #define UTIL_TRACE(fmt, args...) RDebug::Printf(fmt, ##args)
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    32
	#define DRVRPANIC_ASSERT(condition, panic) if (!(condition)) { DriverPanic(panic, #condition, __LINE__); }
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    33
	#define DRVRPANIC_ASSERT_DEBUG(condition, panic) if (!(condition)) { DriverPanic(panic, #condition, __LINE__); }
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    34
#else
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    35
    #define UTIL_TRACE(fmt, args...)
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    36
	#define DRVRPANIC_ASSERT(condition, panic) if (!(condition)) { DriverPanic(panic, NULL, __LINE__); }
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    37
	#define DRVRPANIC_ASSERT_DEBUG(condition, panic)
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    38
#endif
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    39
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    40
//Max supported request size
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    41
const TUint32 KMaxRequestSize( VVI_PARAMETERS_INPUT_MEMORY_SIZE );
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    42
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    43
typedef enum
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    44
	{
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    45
	EDriverPanicSendBufferFailed=1,
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    46
	EDriverPanicInvalidOperationType,
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    47
	EDriverPanicOperationDataTooBig,
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    48
	EDriverPanicDriverAlreadyOpen,
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    49
	EDriverPanicCreateDriverChannelFailed,
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    50
	EDriverPanicCreateThreadLockFailed,
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    51
	EDriverPanicSendBufferFnDoesNotHaveThreadLock,
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    52
	EDriverPanicBufferCommandFnDoesNotHaveThreadLock,
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    53
	EDriverPanicDriverNotOpenForExecuteCommandFn,
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    54
	EDriverPanicRequestStatusErrorInExecuteCommandFn, // 10
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    55
	EDriverPanicBufferWriteFailed,
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    56
	} TDriverPanic;
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    57
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    58
_LIT(KDriverPanicCategory, "Guest VidDrv");
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    59
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    60
void DriverPanic(TDriverPanic aPanicCode, char* aCondition, TInt aLine)
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    61
	{
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    62
	UTIL_TRACE("Guest Video Driver Panic %d for failed Assert (%s), at guestvideodriver.cpp:%d", aPanicCode, aCondition, aLine);
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    63
		
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    64
	User::Panic(KDriverPanicCategory, aPanicCode);
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    65
	}
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    66
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    67
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    68
// ============================ MEMBER FUNCTIONS ===============================
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    69
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    70
// -----------------------------------------------------------------------------
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    71
// RGuestVideoDriver::RGuestVideoDriver
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    72
// -----------------------------------------------------------------------------
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    73
//
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    74
EXPORT_C RGuestVideoDriver::RGuestVideoDriver() : iIsOpen(EFalse), iProcessId(0)
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    75
    {
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    76
    }
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    77
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    78
// -----------------------------------------------------------------------------
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    79
// RGuestVideoDriver::Open
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    80
// -----------------------------------------------------------------------------
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    81
//
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    82
EXPORT_C TInt RGuestVideoDriver::Open()
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    83
    {
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    84
	UTIL_TRACE("RGuestVideoDriver::Open start iProcessId=0x%x, iIsOpen=%d", iProcessId, iIsOpen);
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    85
	DRVRPANIC_ASSERT(iIsOpen == EFalse, EDriverPanicDriverAlreadyOpen);
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    86
	iProcessId = RProcess().Id();
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    87
	TInt error = iThreadLock.CreateLocal(EOwnerProcess);
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    88
	DRVRPANIC_ASSERT_DEBUG( error == KErrNone, EDriverPanicCreateThreadLockFailed);
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    89
	if (!error)
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    90
		{
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    91
		error = DoCreate(
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    92
			GuestVideoDriver::KDeviceName,
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    93
			TVersion( GuestVideoDriver::KMajorVer,
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    94
					  GuestVideoDriver::KMinorVer,
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    95
					  GuestVideoDriver::KBuildVer ),
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    96
			KNullUnit,
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    97
			NULL,
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    98
			NULL);
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
    99
		DRVRPANIC_ASSERT_DEBUG( error == KErrNone, EDriverPanicCreateDriverChannelFailed);
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   100
		if (!error)
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   101
			{
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   102
			iIsOpen = ETrue;
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   103
			}
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   104
		}
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   105
	UTIL_TRACE("RGuestVideoDriver::Open end iProcessId=0x%x, error=%d", iProcessId, error);
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   106
	return error;
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   107
	}
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   108
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   109
// -----------------------------------------------------------------------------
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   110
// RGuestVideoDriver::~RGuestVideoDriver
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   111
// -----------------------------------------------------------------------------
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   112
//
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   113
EXPORT_C RGuestVideoDriver::~RGuestVideoDriver()
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   114
    {
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   115
	UTIL_TRACE("RGuestVideoDriver::~RGuestVideoDriver iProcessId=0x%x", iProcessId);
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   116
	iThreadLock.Close();
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   117
    }
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   118
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   119
// -----------------------------------------------------------------------------
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   120
// RGuestVideoDriver::ExecuteCommand
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   121
// Syncrhonous version with local buffering
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   122
// -----------------------------------------------------------------------------
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   123
//
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   124
EXPORT_C void RGuestVideoDriver::ExecuteCommand(RemoteFunctionCallData& aRequestData)
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   125
	{
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   126
	DRVRPANIC_ASSERT(iIsOpen, EDriverPanicDriverNotOpenForExecuteCommandFn);
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   127
	DRVRPANIC_ASSERT( (RemoteFunctionCallData::EOpRequestWithReply == aRequestData.Header().iOpType) ||
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   128
			(RemoteFunctionCallData::EOpRequest == aRequestData.Header().iOpType),
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   129
			EDriverPanicInvalidOperationType);
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   130
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   131
	//Set thread and process id
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   132
	aRequestData.SetThreadInformation(iProcessId, RThread().Id());
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   133
	TBool sendNow = (RemoteFunctionCallData::EOpRequest != aRequestData.Header().iOpType); 
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   134
	if (!sendNow)
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   135
		{
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   136
		iThreadLock.Wait();
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   137
		while (!BufferCommand(aRequestData))
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   138
			{
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   139
			// Flush any queued commands & retry
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   140
			if (iBuffer.Length())
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   141
				{
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   142
				SendBuffer();
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   143
				}
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   144
			else
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   145
				{ // Too big for buffer
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   146
				sendNow = ETrue;
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   147
				break;
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   148
				}
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   149
			}
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   150
		iThreadLock.Signal();
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   151
		}
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   152
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   153
	if (sendNow)
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   154
		{
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   155
		// Maintain order of operations by flushing queue
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   156
		iThreadLock.Wait();
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   157
		if (iBuffer.Length())
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   158
			{
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   159
			SendBuffer();
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   160
			}
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   161
		iThreadLock.Signal();
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   162
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   163
		TRequestStatus status;
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   164
		TPckg<RemoteFunctionCallData> data(aRequestData);
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   165
		DRVRPANIC_ASSERT(data().SerialisedLength() <= KMaxRequestSize, EDriverPanicOperationDataTooBig);
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   166
		UTIL_TRACE("RGuestVideoDriver::ExecuteCommand direct send, req length=%d", data().SerialisedLength());
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   167
		DoRequest(GuestVideoDriver::ERequestExecuteCommand, status, (TAny*)&data);
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   168
		User::WaitForRequest(status);
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   169
		// status <> 0 if write of reply data failed
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   170
		DRVRPANIC_ASSERT_DEBUG(status.Int() == KErrNone, EDriverPanicRequestStatusErrorInExecuteCommandFn);
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   171
		}
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   172
	}
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   173
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   174
// Flush video Command buffer
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   175
EXPORT_C void RGuestVideoDriver::Flush()
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   176
	{
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   177
	iThreadLock.Wait();
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   178
	if (iIsOpen && iBuffer.Length())
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   179
		{
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   180
		SendBuffer();
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   181
		}
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   182
	iThreadLock.Signal();
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   183
	}
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   184
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   185
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   186
// -----------------------------------------------------------------------------
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   187
// RGuestVideoDriver::BufferCommand
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   188
// -----------------------------------------------------------------------------
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   189
//
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   190
TBool RGuestVideoDriver::BufferCommand( RemoteFunctionCallData& aRequestData )
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   191
	{
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   192
	DRVRPANIC_ASSERT_DEBUG(iThreadLock.IsHeld(), EDriverPanicBufferCommandFnDoesNotHaveThreadLock);
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   193
	TBool result = EFalse;
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   194
	SerializedFunctionCall data( aRequestData );
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   195
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   196
	const TUint32 len = aRequestData.SerialisedLength();
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   197
	const TInt alignmentAdjIndex( RemoteFunctionCallData::AlignIndex( iBuffer.Length(), 4 ) );
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   198
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   199
	if ( (alignmentAdjIndex + len) < iBuffer.MaxLength() )
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   200
		{
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   201
		//There is enough space left on local buffer
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   202
		iBuffer.SetLength( alignmentAdjIndex + len );
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   203
		TPtrC8 serialisedDataPtr = iBuffer.Right( len );
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   204
		TInt wlen = data.WriteToBuffer( const_cast<TUint8*>(serialisedDataPtr.Ptr()), len, 0 );
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   205
		DRVRPANIC_ASSERT(wlen == len, EDriverPanicBufferWriteFailed);
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   206
		result = ETrue;
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   207
		}
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   208
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   209
	UTIL_TRACE("RGuestVideoDriver::BufferCommand length=%d, Req len=%d, result=%d",
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   210
			iBuffer.Length(), len, result);
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   211
	return result;
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   212
	}
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   213
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   214
// -----------------------------------------------------------------------------
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   215
// RGuestVideoDriver::MapToHWAddress
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   216
// -----------------------------------------------------------------------------
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   217
//
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   218
EXPORT_C TInt RGuestVideoDriver::MapToHWAddress( const TInt aChunkHandle, TUint32& aHWAddress )
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   219
    {
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   220
    TPckgBuf<TInt> handle( aChunkHandle );
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   221
    TPckg<TUint32> address( aHWAddress );
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   222
    return DoControl( GuestVideoDriver::ERequestMapAddress, (TAny*)&handle, (TAny*)&address );
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   223
    }
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   224
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   225
// -----------------------------------------------------------------------------
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   226
// RGuestVideoDriver::EglGetSgHandles
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   227
// -----------------------------------------------------------------------------
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   228
//
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   229
EXPORT_C TInt RGuestVideoDriver::EglGetSgHandles( const TUint64 aId, TUint64 *aSgHandles )
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   230
    {
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   231
    TPckg<TUint64> sgId( aId );
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   232
    TPckg<TUint64> sgHandles( *aSgHandles );
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   233
    return DoControl( GuestVideoDriver::ERequestSgHandles, (TAny*)&sgId, (TAny*)&sgHandles );
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   234
    }
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   235
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   236
// -----------------------------------------------------------------------------
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   237
// RGuestVideoDriver::SendBuffer
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   238
// -----------------------------------------------------------------------------
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   239
//
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   240
void RGuestVideoDriver::SendBuffer()
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   241
    {
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   242
	UTIL_TRACE("RGuestVideoDriver::SendBuffer length=%d", iBuffer.Length());
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   243
	DRVRPANIC_ASSERT_DEBUG(iThreadLock.IsHeld(), EDriverPanicSendBufferFnDoesNotHaveThreadLock);
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   244
    TRequestStatus status;
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   245
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   246
    DoRequest(GuestVideoDriver::ERequestLoadCommands, status, (TAny*)&iBuffer);
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   247
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   248
    User::WaitForRequest( status );
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   249
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   250
    iBuffer.Zero();
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   251
	UTIL_TRACE("RGuestVideoDriver::SendBuffer status=%d", status.Int());
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   252
	// Commands expecting a reply should never come through here, so status should always be KErrNone
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   253
	DRVRPANIC_ASSERT(status.Int() == KErrNone, EDriverPanicSendBufferFailed);
d8d95053303a Bootstrap the guestvideodriver and sghwserialiser. Some stuff is still commented out. Compiles with graphics package at changeset 8d47cca9cc11
Faisal Memon <faisal.memon@nokia.com>
parents:
diff changeset
   254
    }