# HG changeset patch # User Faisal Memon # Date 1282317526 -3600 # Node ID d8f29c3070828d60ba6c50552ec8638e74591e7c # Parent 706129140cfc581df39271fb99bd418c160eb529 Add export of def files, add requesthandlerextension import library, and fix files to to unix line ending diff -r 706129140cfc -r d8f29c307082 graphics_plat/guestvideodriver_api/eabi/guestvideodriveru.def --- a/graphics_plat/guestvideodriver_api/eabi/guestvideodriveru.def Mon Aug 16 10:01:57 2010 +0100 +++ b/graphics_plat/guestvideodriver_api/eabi/guestvideodriveru.def Fri Aug 20 16:18:46 2010 +0100 @@ -1,1 +1,1 @@ -EXPORTS +EXPORTS diff -r 706129140cfc -r d8f29c307082 graphics_plat/guestvideodriver_api/eabi/guestvideohwu.def --- a/graphics_plat/guestvideodriver_api/eabi/guestvideohwu.def Mon Aug 16 10:01:57 2010 +0100 +++ b/graphics_plat/guestvideodriver_api/eabi/guestvideohwu.def Fri Aug 20 16:18:46 2010 +0100 @@ -1,2 +1,2 @@ -EXPORTS -_ZN24DVirtualVideoHwInterface12GetFrameBaseEv @ 1 NONAME +EXPORTS +_ZN24DVirtualVideoHwInterface12GetFrameBaseEv @ 1 NONAME diff -r 706129140cfc -r d8f29c307082 graphics_plat/guestvideodriver_api/group/bld.inf --- a/graphics_plat/guestvideodriver_api/group/bld.inf Mon Aug 16 10:01:57 2010 +0100 +++ b/graphics_plat/guestvideodriver_api/group/bld.inf Fri Aug 20 16:18:46 2010 +0100 @@ -1,40 +1,44 @@ -// Copyright (c) 2010 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: -// Guest side Virtual Video Driver Interface for adaptation layer software use -// -// This interface component provides an interface for adapt layer callers -// only so one adapt layer package can call another adapy layer package. -// The graphics package, nor any other app, mw, or os layer package may -// call this interface. - -PRJ_PLATFORMS -ARMV5 - -PRJ_EXPORTS -../inc/guestvideodriver.h OS_LAYER_PLATFORM_EXPORT_PATH(graphics/guestvideodriver.h) -../inc/guestvideodrivercommon.h OS_LAYER_PLATFORM_EXPORT_PATH(graphics/guestvideodrivercommon.h) -../inc/guestvideodriverinterfaceconstants.h OS_LAYER_PLATFORM_EXPORT_PATH(graphics/guestvideodriverinterfaceconstants.h) -../inc/guestvideodriverprotocol.h OS_LAYER_PLATFORM_EXPORT_PATH(graphics/guestvideodriverprotocol.h) - -../ldd/inc/devicereqhandler.h OS_LAYER_PLATFORM_EXPORT_PATH(graphics/devicereqhandler.h) -../ldd/inc/reqhandlerextension.h OS_LAYER_PLATFORM_EXPORT_PATH(graphics/reqhandlerextension.h) -../ldd/inc/virtualvideohwchannel.h OS_LAYER_PLATFORM_EXPORT_PATH(graphics/virtualvideohwchannel.h) -../ldd/inc/virtualvideohwdevice.h OS_LAYER_PLATFORM_EXPORT_PATH(graphics/virtualvideohwdevice.h) -../ldd/inc/virtualvideohwdeviceinterface.h OS_LAYER_PLATFORM_EXPORT_PATH(graphics/virtualvideohwdeviceinterface.h) -../ldd/inc/virtualvideohwinterface.h OS_LAYER_PLATFORM_EXPORT_PATH(graphics/virtualvideohwinterface.h) -../ldd/inc/virtualvideotracing.h OS_LAYER_PLATFORM_EXPORT_PATH(graphics/virtualvideotracing.h) - -PRJ_MMPFILES -guestvideodriverlib.mmp -guestvideohwlib.mmp +// Copyright (c) 2010 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: +// Guest side Virtual Video Driver Interface for adaptation layer software use +// +// This interface component provides an interface for adapt layer callers +// only so one adapt layer package can call another adapt layer package. +// The graphics package, nor any other app, mw, or os layer package may +// call this interface. + +#include "../ldd/group/bld.inf" + +PRJ_PLATFORMS +ARMV5 + +PRJ_EXPORTS +../inc/guestvideodriver.h OS_LAYER_PLATFORM_EXPORT_PATH(graphics/guestvideodriver.h) +../inc/guestvideodrivercommon.h OS_LAYER_PLATFORM_EXPORT_PATH(graphics/guestvideodrivercommon.h) +../inc/guestvideodriverinterfaceconstants.h OS_LAYER_PLATFORM_EXPORT_PATH(graphics/guestvideodriverinterfaceconstants.h) +../inc/guestvideodriverprotocol.h OS_LAYER_PLATFORM_EXPORT_PATH(graphics/guestvideodriverprotocol.h) + +../ldd/inc/devicereqhandler.h OS_LAYER_PLATFORM_EXPORT_PATH(graphics/devicereqhandler.h) +../ldd/inc/reqhandlerextension.h OS_LAYER_PLATFORM_EXPORT_PATH(graphics/reqhandlerextension.h) +../ldd/inc/virtualvideohwchannel.h OS_LAYER_PLATFORM_EXPORT_PATH(graphics/virtualvideohwchannel.h) +../ldd/inc/virtualvideohwdevice.h OS_LAYER_PLATFORM_EXPORT_PATH(graphics/virtualvideohwdevice.h) +../ldd/inc/virtualvideohwdeviceinterface.h OS_LAYER_PLATFORM_EXPORT_PATH(graphics/virtualvideohwdeviceinterface.h) +../ldd/inc/virtualvideohwinterface.h OS_LAYER_PLATFORM_EXPORT_PATH(graphics/virtualvideohwinterface.h) +../ldd/inc/virtualvideotracing.h OS_LAYER_PLATFORM_EXPORT_PATH(graphics/virtualvideotracing.h) +../eabi/guestvideodriveru.def /epoc32/include/def/eabi/guestvideodriveru.def +../eabi/guestvideohwu.def /epoc32/include/def/eabi/guestvideohwu.def + +PRJ_MMPFILES +guestvideodriverlib.mmp +guestvideohwlib.mmp diff -r 706129140cfc -r d8f29c307082 graphics_plat/guestvideodriver_api/group/guestvideodriverlib.mmp --- a/graphics_plat/guestvideodriver_api/group/guestvideodriverlib.mmp Mon Aug 16 10:01:57 2010 +0100 +++ b/graphics_plat/guestvideodriver_api/group/guestvideodriverlib.mmp Fri Aug 20 16:18:46 2010 +0100 @@ -1,21 +1,21 @@ -// Copyright (c) 2010 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: -// Provide a library interface for the guest video driver. This interface -// is expected to be implemented in an adapt layer component. - -#include - -TARGET guestvideodriver.lib -TARGETTYPE IMPLIB -DEFFILE ../eabi/guestvideodriver.def +// Copyright (c) 2010 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: +// Provide a library interface for the guest video driver. This interface +// is expected to be implemented in an adapt layer component. + +#include + +TARGET guestvideodriver.lib +TARGETTYPE IMPLIB +DEFFILE ../eabi/guestvideodriver.def diff -r 706129140cfc -r d8f29c307082 graphics_plat/guestvideodriver_api/group/guestvideohwlib.mmp --- a/graphics_plat/guestvideodriver_api/group/guestvideohwlib.mmp Mon Aug 16 10:01:57 2010 +0100 +++ b/graphics_plat/guestvideodriver_api/group/guestvideohwlib.mmp Fri Aug 20 16:18:46 2010 +0100 @@ -1,21 +1,21 @@ -// Copyright (c) 2010 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: -// Provide a library interface for the guest video hardware device. This -// interface is expected to be implemented in an adapt layer component. - -#include - -TARGET guestvideohw.lib -TARGETTYPE IMPLIB -DEFFILE ../eabi/guestvideohw.def +// Copyright (c) 2010 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: +// Provide a library interface for the guest video hardware device. This +// interface is expected to be implemented in an adapt layer component. + +#include + +TARGET guestvideohw.lib +TARGETTYPE IMPLIB +DEFFILE ../eabi/guestvideohw.def diff -r 706129140cfc -r d8f29c307082 graphics_plat/guestvideodriver_api/inc/guestvideodriver.h --- a/graphics_plat/guestvideodriver_api/inc/guestvideodriver.h Mon Aug 16 10:01:57 2010 +0100 +++ b/graphics_plat/guestvideodriver_api/inc/guestvideodriver.h Fri Aug 20 16:18:46 2010 +0100 @@ -1,96 +1,96 @@ -// Copyright (c) 2010 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: -// Header file for guest video driver - -#ifndef __GUESTVIDEODRIVER_H__ -#define __GUESTVIDEODRIVER_H__ - -#include -#include -#include - -#include "guestvideodrivercommon.h" - -class RemoteFunctionCallData; - -//Local request buffering size -const TInt KRequestBufferSize = 20000; - -/** - * Guest video driver user API. One instance exists per process. - */ -NONSHARABLE_CLASS(RGuestVideoDriver) : public RBusLogicalChannel - { -public: - // Default constructor - IMPORT_C RGuestVideoDriver(); - - // Destructor - IMPORT_C ~RGuestVideoDriver(); - - /** - * Opens this driver handle. Calls RBusLogicalChannel::DoCreate. - * - * @return System wide error code - */ - IMPORT_C TInt Open(); - - /** - * Executes a command - * @param aRequestData Remote function call - */ - IMPORT_C void ExecuteCommand(RemoteFunctionCallData& aRequestData); - - /** - * Flushes any buffered commands. - */ - IMPORT_C void Flush(); - - IMPORT_C TInt MapToHWAddress( const TInt aChunkHandle, TUint32& aHWAddress ); - - IMPORT_C TInt EglGetSgHandles( const TUint64 aId, TUint64 *aSgHandles ); - - /** - * Gets Base Address of Frame Buffer - * @param aHWAddress returned Base Address - * - * @note A base address of 0 is invalid, and indicates a failure to - * obtain the base address. - */ - IMPORT_C TInt GetFrameBufferBaseAddress( TUint32& aHWAddress ); - - -private: - /* - Buffer, or send if it needs a reply, a command to the virtual video hardware - @param aRFC Remote function call to buffer - @return ETrue if buffering succeeds, otherwise the aRFC needs to be executed directly - */ - TBool BufferCommand( RemoteFunctionCallData& aRFC ); - - // Sends buffered commands - void SendBuffer(); - -private: - TBool iIsOpen; - RMutex iThreadLock; - /** - * Request buffer - */ - TUint32 iProcessId; - TBuf8 iBuffer; - }; - - -#endif // __GUESTVIDEODRIVER_H__ +// Copyright (c) 2010 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: +// Header file for guest video driver + +#ifndef __GUESTVIDEODRIVER_H__ +#define __GUESTVIDEODRIVER_H__ + +#include +#include +#include + +#include "guestvideodrivercommon.h" + +class RemoteFunctionCallData; + +//Local request buffering size +const TInt KRequestBufferSize = 20000; + +/** + * Guest video driver user API. One instance exists per process. + */ +NONSHARABLE_CLASS(RGuestVideoDriver) : public RBusLogicalChannel + { +public: + // Default constructor + IMPORT_C RGuestVideoDriver(); + + // Destructor + IMPORT_C ~RGuestVideoDriver(); + + /** + * Opens this driver handle. Calls RBusLogicalChannel::DoCreate. + * + * @return System wide error code + */ + IMPORT_C TInt Open(); + + /** + * Executes a command + * @param aRequestData Remote function call + */ + IMPORT_C void ExecuteCommand(RemoteFunctionCallData& aRequestData); + + /** + * Flushes any buffered commands. + */ + IMPORT_C void Flush(); + + IMPORT_C TInt MapToHWAddress( const TInt aChunkHandle, TUint32& aHWAddress ); + + IMPORT_C TInt EglGetSgHandles( const TUint64 aId, TUint64 *aSgHandles ); + + /** + * Gets Base Address of Frame Buffer + * @param aHWAddress returned Base Address + * + * @note A base address of 0 is invalid, and indicates a failure to + * obtain the base address. + */ + IMPORT_C TInt GetFrameBufferBaseAddress( TUint32& aHWAddress ); + + +private: + /* + Buffer, or send if it needs a reply, a command to the virtual video hardware + @param aRFC Remote function call to buffer + @return ETrue if buffering succeeds, otherwise the aRFC needs to be executed directly + */ + TBool BufferCommand( RemoteFunctionCallData& aRFC ); + + // Sends buffered commands + void SendBuffer(); + +private: + TBool iIsOpen; + RMutex iThreadLock; + /** + * Request buffer + */ + TUint32 iProcessId; + TBuf8 iBuffer; + }; + + +#endif // __GUESTVIDEODRIVER_H__ diff -r 706129140cfc -r d8f29c307082 graphics_plat/guestvideodriver_api/inc/guestvideodrivercommon.h --- a/graphics_plat/guestvideodriver_api/inc/guestvideodrivercommon.h Mon Aug 16 10:01:57 2010 +0100 +++ b/graphics_plat/guestvideodriver_api/inc/guestvideodrivercommon.h Fri Aug 20 16:18:46 2010 +0100 @@ -1,49 +1,49 @@ -// Copyright (c) 2010 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: -// Header file for guest video driver - -#ifndef __GUESTVIDEODRIVERCOMMON_H -#define __GUESTVIDEODRIVERCOMMON_H - -#include - -/** - * Namespace for Platform Simulator Audio Driver. - */ -namespace GuestVideoDriver - { - /** - * Name of the DFC thread used by logical channels. - */ - _LIT( KDfcThreadName, "DfcThreadVirtualVideoHw" ); - - /** - * Name of the logical device used to identify the device. - */ - _LIT( KDeviceName, "VirtualVideoHwDevice" ); - - /** - * Name of the logical device dll file name. - */ - _LIT( KDeviceFileName, "guestvideohw" ); - - /** - * Current version of the driver. - */ - const TInt KMajorVer = 1; - const TInt KMinorVer = 0; - const TInt KBuildVer = 1; - } - -#endif // __GUESTVIDEODRIVERCOMMON_H +// Copyright (c) 2010 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: +// Header file for guest video driver + +#ifndef __GUESTVIDEODRIVERCOMMON_H +#define __GUESTVIDEODRIVERCOMMON_H + +#include + +/** + * Namespace for Platform Simulator Audio Driver. + */ +namespace GuestVideoDriver + { + /** + * Name of the DFC thread used by logical channels. + */ + _LIT( KDfcThreadName, "DfcThreadVirtualVideoHw" ); + + /** + * Name of the logical device used to identify the device. + */ + _LIT( KDeviceName, "VirtualVideoHwDevice" ); + + /** + * Name of the logical device dll file name. + */ + _LIT( KDeviceFileName, "guestvideohw" ); + + /** + * Current version of the driver. + */ + const TInt KMajorVer = 1; + const TInt KMinorVer = 0; + const TInt KBuildVer = 1; + } + +#endif // __GUESTVIDEODRIVERCOMMON_H diff -r 706129140cfc -r d8f29c307082 graphics_plat/guestvideodriver_api/inc/guestvideodriverinterfaceconstants.h --- a/graphics_plat/guestvideodriver_api/inc/guestvideodriverinterfaceconstants.h Mon Aug 16 10:01:57 2010 +0100 +++ b/graphics_plat/guestvideodriver_api/inc/guestvideodriverinterfaceconstants.h Fri Aug 20 16:18:46 2010 +0100 @@ -1,58 +1,58 @@ -// Copyright (c) 2010 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: -// Header file for the guest video driver - -#ifndef VirtualVideoInterfaceConstants_h_ -#define VirtualVideoInterfaceConstants_h_ - -// virtualhw.irq => ic.input[391]; -// pvbus.pvbus_m_range[0x60000000..0x62ffffff] => graphicsvirtualhw.mbus; //=>Reserve own memory area later -// pvbus.pvbus_m_range[0x63000000..0x63000fff] => graphicsvirtualhw.pbus; //=>Reserve own memory area later - -// base address -#define VVI_REGISTERS_BASE_ADDRESS 0x63000000 -#define VVI_REGISTERS_MEMORY_SIZE 0x1000 -#define VVI_REGISTERS_MASK 0x0FFF - -#define VVI_PARAMETERS_INPUT_BASE_ADDRESS 0x60000000 -#define VVI_PARAMETERS_INPUT_MEMORY_SIZE 0x01000000 - -#define VVI_PARAMETERS_OUTPUT_BASE_ADDRESS 0x61000000 -#define VVI_PARAMETERS_OUTPUT_MEMORY_SIZE 0x01000000 - -#define VVI_FRAMEBUFFER_BASE_ADDRESS 0x62000000 -#define VVI_FRAMEBUFFER_MEMORY_SIZE 0x01000000 - -// register indices, TODO: cleanup needed, some are not used -#define VVI_R_ID 0x0000 -#define VVI_R_IRQ_ENABLE 0x0004 -#define VVI_R_IRQ_STATUS 0x0008 -#define VVI_R_COMMAND 0x000c -#define VVI_R_PARAMETER_LOAD 0x0010 -#define VVI_R_ERROR 0x0014 -#define VVI_R_INPUT_BUFFER_TAIL 0x0018 -#define VVI_R_INPUT_BUFFER_HEAD 0x001c -#define VVI_R_INPUT_BUFFER_READ_COUNT 0x0020 -#define VVI_R_INPUT_BUFFER_WRITE_COUNT 0x0024 -#define VVI_R_INPUT_BUFFER_MAX_TAIL 0x0028 -#define VVI_R_REQUEST_ID 0x002c -#define VVI_R_LASTREG 0x0030 // not a register, address of last register - -// COMMAND register values -#define VVI_EXECUTE 0 - -//IRQ number -#define VVI_IRQ 391 - -#endif +// Copyright (c) 2010 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: +// Header file for the guest video driver + +#ifndef VirtualVideoInterfaceConstants_h_ +#define VirtualVideoInterfaceConstants_h_ + +// virtualhw.irq => ic.input[391]; +// pvbus.pvbus_m_range[0x60000000..0x62ffffff] => graphicsvirtualhw.mbus; //=>Reserve own memory area later +// pvbus.pvbus_m_range[0x63000000..0x63000fff] => graphicsvirtualhw.pbus; //=>Reserve own memory area later + +// base address +#define VVI_REGISTERS_BASE_ADDRESS 0x63000000 +#define VVI_REGISTERS_MEMORY_SIZE 0x1000 +#define VVI_REGISTERS_MASK 0x0FFF + +#define VVI_PARAMETERS_INPUT_BASE_ADDRESS 0x60000000 +#define VVI_PARAMETERS_INPUT_MEMORY_SIZE 0x01000000 + +#define VVI_PARAMETERS_OUTPUT_BASE_ADDRESS 0x61000000 +#define VVI_PARAMETERS_OUTPUT_MEMORY_SIZE 0x01000000 + +#define VVI_FRAMEBUFFER_BASE_ADDRESS 0x62000000 +#define VVI_FRAMEBUFFER_MEMORY_SIZE 0x01000000 + +// register indices, TODO: cleanup needed, some are not used +#define VVI_R_ID 0x0000 +#define VVI_R_IRQ_ENABLE 0x0004 +#define VVI_R_IRQ_STATUS 0x0008 +#define VVI_R_COMMAND 0x000c +#define VVI_R_PARAMETER_LOAD 0x0010 +#define VVI_R_ERROR 0x0014 +#define VVI_R_INPUT_BUFFER_TAIL 0x0018 +#define VVI_R_INPUT_BUFFER_HEAD 0x001c +#define VVI_R_INPUT_BUFFER_READ_COUNT 0x0020 +#define VVI_R_INPUT_BUFFER_WRITE_COUNT 0x0024 +#define VVI_R_INPUT_BUFFER_MAX_TAIL 0x0028 +#define VVI_R_REQUEST_ID 0x002c +#define VVI_R_LASTREG 0x0030 // not a register, address of last register + +// COMMAND register values +#define VVI_EXECUTE 0 + +//IRQ number +#define VVI_IRQ 391 + +#endif diff -r 706129140cfc -r d8f29c307082 graphics_plat/guestvideodriver_api/inc/guestvideodriverprotocol.h --- a/graphics_plat/guestvideodriver_api/inc/guestvideodriverprotocol.h Mon Aug 16 10:01:57 2010 +0100 +++ b/graphics_plat/guestvideodriver_api/inc/guestvideodriverprotocol.h Fri Aug 20 16:18:46 2010 +0100 @@ -1,45 +1,45 @@ -// Copyright (c) 2010 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: -// Header file for the guest video driver - - -#ifndef __GUESTVIDEODRIVERPROTOCOL_H -#define __GUESTVIDEODRIVERPROTOCOL_H - -#include -#include "guestvideodrivercommon.h" - -/** - * Namespace for Platform Simulator Video Driver. - * The user API - kernel LDD messaging protocol is defined within this - * namespace. - */ -namespace GuestVideoDriver - { - - /** - * Enumeration of different requests - */ - enum TRequestId - { - ERequestExecuteCommand = 0x1001, // Asynchronous (DoRequest) - ERequestMapAddress = 0x1002, // Synchronous (DoControl) - ERequestLoadCommands = 0x1004, // Synchronous (DoRequest) - ERequestSgHandles = 0x1005, //Synchronous (DoControl) - }; - - } - - -#endif // __GUESTVIDEODRIVERPROTOCOL_H +// Copyright (c) 2010 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: +// Header file for the guest video driver + + +#ifndef __GUESTVIDEODRIVERPROTOCOL_H +#define __GUESTVIDEODRIVERPROTOCOL_H + +#include +#include "guestvideodrivercommon.h" + +/** + * Namespace for Platform Simulator Video Driver. + * The user API - kernel LDD messaging protocol is defined within this + * namespace. + */ +namespace GuestVideoDriver + { + + /** + * Enumeration of different requests + */ + enum TRequestId + { + ERequestExecuteCommand = 0x1001, // Asynchronous (DoRequest) + ERequestMapAddress = 0x1002, // Synchronous (DoControl) + ERequestLoadCommands = 0x1004, // Synchronous (DoRequest) + ERequestSgHandles = 0x1005, //Synchronous (DoControl) + }; + + } + + +#endif // __GUESTVIDEODRIVERPROTOCOL_H diff -r 706129140cfc -r d8f29c307082 graphics_plat/guestvideodriver_api/ldd/eabi/reqhandlerextensionu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/graphics_plat/guestvideodriver_api/ldd/eabi/reqhandlerextensionu.def Fri Aug 20 16:18:46 2010 +0100 @@ -0,0 +1,6 @@ +EXPORTS + _ZN19ReqHandlerExtension20CreateSgImagePbufferERK16TSgImageMetaData @ 1 NONAME + _ZN19ReqHandlerExtension20CreateSgImageVGImageERK16TSgImageMetaData @ 2 NONAME + _ZN19ReqHandlerExtension13SetReqHandlerEP19MReqHandlerCallback @ 3 NONAME + _ZN19ReqHandlerExtension14DestroySgImageEy @ 4 NONAME + diff -r 706129140cfc -r d8f29c307082 graphics_plat/guestvideodriver_api/ldd/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/graphics_plat/guestvideodriver_api/ldd/group/bld.inf Fri Aug 20 16:18:46 2010 +0100 @@ -0,0 +1,30 @@ +// Copyright (c) 2010 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: +// Request Handler Extension Interface +// +// This interface component provides an interface for adapt layer callers +// only so one adapt layer package can call another adapt layer package. +// The graphics package, nor any other app, mw, or os layer package may +// call this interface. + + +PRJ_PLATFORMS +ARMV5 + +PRJ_EXPORTS + +../eabi/reqhandlerextensionu.def /epoc32/include/def/eabi/reqhandlerextensionu.def + +PRJ_MMPFILES +reqhandlerextensionlib.mmp diff -r 706129140cfc -r d8f29c307082 graphics_plat/guestvideodriver_api/ldd/group/reqhandlerextensionlib.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/graphics_plat/guestvideodriver_api/ldd/group/reqhandlerextensionlib.mmp Fri Aug 20 16:18:46 2010 +0100 @@ -0,0 +1,23 @@ +// Copyright (c) 2010 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: +// Provide a library interface for the request handler extension. +// The implementation is expected to be provided by the graphics.simulator +// package. + +#include + +TARGET reqhandlerextension.lib +TARGETTYPE IMPLIB +DEFFILE ../eabi/reqhandlerextension.def + diff -r 706129140cfc -r d8f29c307082 graphics_plat/surfacemanager_api/bwins/surfacemanageru.def --- a/graphics_plat/surfacemanager_api/bwins/surfacemanageru.def Mon Aug 16 10:01:57 2010 +0100 +++ b/graphics_plat/surfacemanager_api/bwins/surfacemanageru.def Fri Aug 20 16:18:46 2010 +0100 @@ -1,17 +1,17 @@ -EXPORTS - ?AddSurfaceHint@RSurfaceManager@@QAEHABVTSurfaceId@@ABVTHintPair@1@@Z @ 1 NONAME ; int RSurfaceManager::AddSurfaceHint(class TSurfaceId const &, class RSurfaceManager::THintPair const &) - ?Open@RSurfaceManager@@QAEHXZ @ 2 NONAME ; int RSurfaceManager::Open(void) - ?GetSurfaceManagerAttrib@RSurfaceManager@@QAEHW4TSurfaceManagerAttrib@1@AAH@Z @ 3 NONAME ; int RSurfaceManager::GetSurfaceManagerAttrib(enum RSurfaceManager::TSurfaceManagerAttrib, int &) - ?CreateSurface@RSurfaceManager@@QAEHABV?$TPckgBuf@VTSurfaceCreationAttributes@RSurfaceManager@@@@AAVTSurfaceId@@ABVRChunk@@@Z @ 4 NONAME ; int RSurfaceManager::CreateSurface(class TPckgBuf const &, class TSurfaceId &, class RChunk const &) - ?SurfaceInfo@RSurfaceManager@@QAEHABVTSurfaceId@@AAV?$TPckgBuf@VTSurfaceInfoV01@RSurfaceManager@@@@@Z @ 5 NONAME ; int RSurfaceManager::SurfaceInfo(class TSurfaceId const &, class TPckgBuf &) - ?CloseSurface@RSurfaceManager@@QAEHABVTSurfaceId@@@Z @ 6 NONAME ; int RSurfaceManager::CloseSurface(class TSurfaceId const &) - ?SynchronizeCache@RSurfaceManager@@QAEHABVTSurfaceId@@HW4TSyncOperation@1@@Z @ 7 NONAME ; int RSurfaceManager::SynchronizeCache(class TSurfaceId const &, int, enum RSurfaceManager::TSyncOperation) - ?Close@RSurfaceManager@@QAEXXZ @ 8 NONAME ; void RSurfaceManager::Close(void) - ?GetBufferOffset@RSurfaceManager@@QAEHABVTSurfaceId@@HAAH@Z @ 9 NONAME ; int RSurfaceManager::GetBufferOffset(class TSurfaceId const &, int, int &) - ?SetSurfaceHint@RSurfaceManager@@QAEHABVTSurfaceId@@ABVTHintPair@1@@Z @ 10 NONAME ; int RSurfaceManager::SetSurfaceHint(class TSurfaceId const &, class RSurfaceManager::THintPair const &) - ?GetSurfaceHint@RSurfaceManager@@QAEHABVTSurfaceId@@AAVTHintPair@1@@Z @ 11 NONAME ; int RSurfaceManager::GetSurfaceHint(class TSurfaceId const &, class RSurfaceManager::THintPair &) - ?CreateSurface@RSurfaceManager@@QAEHABV?$TPckgBuf@VTSurfaceCreationAttributes@RSurfaceManager@@@@AAVTSurfaceId@@@Z @ 12 NONAME ; int RSurfaceManager::CreateSurface(class TPckgBuf const &, class TSurfaceId &) - ?MapSurface@RSurfaceManager@@QAEHABVTSurfaceId@@AAVRChunk@@@Z @ 13 NONAME ; int RSurfaceManager::MapSurface(class TSurfaceId const &, class RChunk &) - ??0RSurfaceManager@@QAE@XZ @ 14 NONAME ; RSurfaceManager::RSurfaceManager(void) - ?OpenSurface@RSurfaceManager@@QAEHABVTSurfaceId@@@Z @ 15 NONAME ; int RSurfaceManager::OpenSurface(class TSurfaceId const &) - +EXPORTS + ?AddSurfaceHint@RSurfaceManager@@QAEHABVTSurfaceId@@ABVTHintPair@1@@Z @ 1 NONAME ; int RSurfaceManager::AddSurfaceHint(class TSurfaceId const &, class RSurfaceManager::THintPair const &) + ?Open@RSurfaceManager@@QAEHXZ @ 2 NONAME ; int RSurfaceManager::Open(void) + ?GetSurfaceManagerAttrib@RSurfaceManager@@QAEHW4TSurfaceManagerAttrib@1@AAH@Z @ 3 NONAME ; int RSurfaceManager::GetSurfaceManagerAttrib(enum RSurfaceManager::TSurfaceManagerAttrib, int &) + ?CreateSurface@RSurfaceManager@@QAEHABV?$TPckgBuf@VTSurfaceCreationAttributes@RSurfaceManager@@@@AAVTSurfaceId@@ABVRChunk@@@Z @ 4 NONAME ; int RSurfaceManager::CreateSurface(class TPckgBuf const &, class TSurfaceId &, class RChunk const &) + ?SurfaceInfo@RSurfaceManager@@QAEHABVTSurfaceId@@AAV?$TPckgBuf@VTSurfaceInfoV01@RSurfaceManager@@@@@Z @ 5 NONAME ; int RSurfaceManager::SurfaceInfo(class TSurfaceId const &, class TPckgBuf &) + ?CloseSurface@RSurfaceManager@@QAEHABVTSurfaceId@@@Z @ 6 NONAME ; int RSurfaceManager::CloseSurface(class TSurfaceId const &) + ?SynchronizeCache@RSurfaceManager@@QAEHABVTSurfaceId@@HW4TSyncOperation@1@@Z @ 7 NONAME ; int RSurfaceManager::SynchronizeCache(class TSurfaceId const &, int, enum RSurfaceManager::TSyncOperation) + ?Close@RSurfaceManager@@QAEXXZ @ 8 NONAME ; void RSurfaceManager::Close(void) + ?GetBufferOffset@RSurfaceManager@@QAEHABVTSurfaceId@@HAAH@Z @ 9 NONAME ; int RSurfaceManager::GetBufferOffset(class TSurfaceId const &, int, int &) + ?SetSurfaceHint@RSurfaceManager@@QAEHABVTSurfaceId@@ABVTHintPair@1@@Z @ 10 NONAME ; int RSurfaceManager::SetSurfaceHint(class TSurfaceId const &, class RSurfaceManager::THintPair const &) + ?GetSurfaceHint@RSurfaceManager@@QAEHABVTSurfaceId@@AAVTHintPair@1@@Z @ 11 NONAME ; int RSurfaceManager::GetSurfaceHint(class TSurfaceId const &, class RSurfaceManager::THintPair &) + ?CreateSurface@RSurfaceManager@@QAEHABV?$TPckgBuf@VTSurfaceCreationAttributes@RSurfaceManager@@@@AAVTSurfaceId@@@Z @ 12 NONAME ; int RSurfaceManager::CreateSurface(class TPckgBuf const &, class TSurfaceId &) + ?MapSurface@RSurfaceManager@@QAEHABVTSurfaceId@@AAVRChunk@@@Z @ 13 NONAME ; int RSurfaceManager::MapSurface(class TSurfaceId const &, class RChunk &) + ??0RSurfaceManager@@QAE@XZ @ 14 NONAME ; RSurfaceManager::RSurfaceManager(void) + ?OpenSurface@RSurfaceManager@@QAEHABVTSurfaceId@@@Z @ 15 NONAME ; int RSurfaceManager::OpenSurface(class TSurfaceId const &) + diff -r 706129140cfc -r d8f29c307082 graphics_plat/surfacemanager_api/eabi/surfacemanageru.def --- a/graphics_plat/surfacemanager_api/eabi/surfacemanageru.def Mon Aug 16 10:01:57 2010 +0100 +++ b/graphics_plat/surfacemanager_api/eabi/surfacemanageru.def Fri Aug 20 16:18:46 2010 +0100 @@ -1,18 +1,18 @@ -EXPORTS - _ZN15RSurfaceManager10MapSurfaceERK10TSurfaceIdR6RChunk @ 1 NONAME - _ZN15RSurfaceManager11OpenSurfaceERK10TSurfaceId @ 2 NONAME - _ZN15RSurfaceManager11SurfaceInfoERK10TSurfaceIdR8TPckgBufINS_15TSurfaceInfoV01EE @ 3 NONAME - _ZN15RSurfaceManager12CloseSurfaceERK10TSurfaceId @ 4 NONAME - _ZN15RSurfaceManager13CreateSurfaceERK8TPckgBufINS_26TSurfaceCreationAttributesEER10TSurfaceId @ 5 NONAME - _ZN15RSurfaceManager13CreateSurfaceERK8TPckgBufINS_26TSurfaceCreationAttributesEER10TSurfaceIdRK6RChunk @ 6 NONAME - _ZN15RSurfaceManager14AddSurfaceHintERK10TSurfaceIdRKNS_9THintPairE @ 7 NONAME - _ZN15RSurfaceManager14GetSurfaceHintERK10TSurfaceIdRNS_9THintPairE @ 8 NONAME - _ZN15RSurfaceManager14SetSurfaceHintERK10TSurfaceIdRKNS_9THintPairE @ 9 NONAME - _ZN15RSurfaceManager16SynchronizeCacheERK10TSurfaceIdiNS_14TSyncOperationE @ 10 NONAME - _ZN15RSurfaceManager23GetSurfaceManagerAttribENS_21TSurfaceManagerAttribERi @ 11 NONAME - _ZN15RSurfaceManager4OpenEv @ 12 NONAME - _ZN15RSurfaceManager5CloseEv @ 13 NONAME - _ZN15RSurfaceManagerC1Ev @ 14 NONAME - _ZN15RSurfaceManagerC2Ev @ 15 NONAME - _ZN15RSurfaceManager15GetBufferOffsetERK10TSurfaceIdiRi @ 16 NONAME - +EXPORTS + _ZN15RSurfaceManager10MapSurfaceERK10TSurfaceIdR6RChunk @ 1 NONAME + _ZN15RSurfaceManager11OpenSurfaceERK10TSurfaceId @ 2 NONAME + _ZN15RSurfaceManager11SurfaceInfoERK10TSurfaceIdR8TPckgBufINS_15TSurfaceInfoV01EE @ 3 NONAME + _ZN15RSurfaceManager12CloseSurfaceERK10TSurfaceId @ 4 NONAME + _ZN15RSurfaceManager13CreateSurfaceERK8TPckgBufINS_26TSurfaceCreationAttributesEER10TSurfaceId @ 5 NONAME + _ZN15RSurfaceManager13CreateSurfaceERK8TPckgBufINS_26TSurfaceCreationAttributesEER10TSurfaceIdRK6RChunk @ 6 NONAME + _ZN15RSurfaceManager14AddSurfaceHintERK10TSurfaceIdRKNS_9THintPairE @ 7 NONAME + _ZN15RSurfaceManager14GetSurfaceHintERK10TSurfaceIdRNS_9THintPairE @ 8 NONAME + _ZN15RSurfaceManager14SetSurfaceHintERK10TSurfaceIdRKNS_9THintPairE @ 9 NONAME + _ZN15RSurfaceManager16SynchronizeCacheERK10TSurfaceIdiNS_14TSyncOperationE @ 10 NONAME + _ZN15RSurfaceManager23GetSurfaceManagerAttribENS_21TSurfaceManagerAttribERi @ 11 NONAME + _ZN15RSurfaceManager4OpenEv @ 12 NONAME + _ZN15RSurfaceManager5CloseEv @ 13 NONAME + _ZN15RSurfaceManagerC1Ev @ 14 NONAME + _ZN15RSurfaceManagerC2Ev @ 15 NONAME + _ZN15RSurfaceManager15GetBufferOffsetERK10TSurfaceIdiRi @ 16 NONAME + diff -r 706129140cfc -r d8f29c307082 graphics_plat/surfacemanager_api/group/bld.inf --- a/graphics_plat/surfacemanager_api/group/bld.inf Mon Aug 16 10:01:57 2010 +0100 +++ b/graphics_plat/surfacemanager_api/group/bld.inf Fri Aug 20 16:18:46 2010 +0100 @@ -1,27 +1,27 @@ -// Copyright (c) 2010 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: -// User side interface for the surface manager - -PRJ_PLATFORMS -BASEDEFAULT - -PRJ_EXPORTS -../inc/surfacemanager.h OS_LAYER_PLATFORM_EXPORT_PATH(graphics/surfacemanager.h) -../inc/surface_hints.h OS_LAYER_PLATFORM_EXPORT_PATH(graphics/surface_hints.h) -surfacemanager.iby /epoc32/rom/include/surfacemanager.iby -../bwins/surfacemanageru.def /epoc32/include/def/win32/surfacemanageru.def -../eabi/surfacemanageru.def /epoc32/include/def/eabi/surfacemanageru.def - -PRJ_MMPFILES -surfacemanagerlib.mmp +// Copyright (c) 2010 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: +// User side interface for the surface manager + +PRJ_PLATFORMS +BASEDEFAULT + +PRJ_EXPORTS +../inc/surfacemanager.h OS_LAYER_PLATFORM_EXPORT_PATH(graphics/surfacemanager.h) +../inc/surface_hints.h OS_LAYER_PLATFORM_EXPORT_PATH(graphics/surface_hints.h) +surfacemanager.iby /epoc32/rom/include/surfacemanager.iby +../bwins/surfacemanageru.def /epoc32/include/def/win32/surfacemanageru.def +../eabi/surfacemanageru.def /epoc32/include/def/eabi/surfacemanageru.def + +PRJ_MMPFILES +surfacemanagerlib.mmp diff -r 706129140cfc -r d8f29c307082 graphics_plat/surfacemanager_api/group/surfacemanager.iby --- a/graphics_plat/surfacemanager_api/group/surfacemanager.iby Mon Aug 16 10:01:57 2010 +0100 +++ b/graphics_plat/surfacemanager_api/group/surfacemanager.iby Fri Aug 20 16:18:46 2010 +0100 @@ -1,24 +1,24 @@ -// Copyright (c) 2008-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: -// surfacemanager_ref.iby -// - -#ifndef __SURFACEMANAGER_IBY__ -#define __SURFACEMANAGER_IBY__ - -#include -#include SURFACEMANAGER_DRV - - -#endif +// Copyright (c) 2008-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: +// surfacemanager_ref.iby +// + +#ifndef __SURFACEMANAGER_IBY__ +#define __SURFACEMANAGER_IBY__ + +#include +#include SURFACEMANAGER_DRV + + +#endif diff -r 706129140cfc -r d8f29c307082 graphics_plat/surfacemanager_api/group/surfacemanagerlib.mmp --- a/graphics_plat/surfacemanager_api/group/surfacemanagerlib.mmp Mon Aug 16 10:01:57 2010 +0100 +++ b/graphics_plat/surfacemanager_api/group/surfacemanagerlib.mmp Fri Aug 20 16:18:46 2010 +0100 @@ -1,28 +1,28 @@ -// Copyright (c) 2010 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: -// Provide a library interface for the surface manager. This interface is -// expected to be implemented in an adapt layer component. - -#include - -TARGET surfacemanager.lib -TARGETTYPE IMPLIB - -#ifdef WINS -DEFFILE ../bwins/surfacemanager.def -#else -DEFFILE ../eabi/surfacemanager.def -#endif - -SMPSAFE +// Copyright (c) 2010 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: +// Provide a library interface for the surface manager. This interface is +// expected to be implemented in an adapt layer component. + +#include + +TARGET surfacemanager.lib +TARGETTYPE IMPLIB + +#ifdef WINS +DEFFILE ../bwins/surfacemanager.def +#else +DEFFILE ../eabi/surfacemanager.def +#endif + +SMPSAFE diff -r 706129140cfc -r d8f29c307082 graphics_plat/surfacemanager_api/inc/surface_hints.h --- a/graphics_plat/surfacemanager_api/inc/surface_hints.h Mon Aug 16 10:01:57 2010 +0100 +++ b/graphics_plat/surfacemanager_api/inc/surface_hints.h Fri Aug 20 16:18:46 2010 +0100 @@ -1,210 +1,210 @@ -// Copyright (c) 2007-2010 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: -// Surface Manager API -// - -#ifndef __SURFACE_HINTS_H__ -#define __SURFACE_HINTS_H__ - -//- Include Files ---------------------------------------------------------- - -#include - - -//- Namespace --------------------------------------------------------------- - -namespace surfaceHints -{ - -//- Constants --------------------------------------------------------------- - -/** Hint of the surface content. - @see TSurfaceContent for possible values -*/ -const TInt KSurfaceContent = 0x1; - -/** Hint of the expected update rate of the surface content. - Value for a surface containing e.g. 25 fps video the value should be 25. - For a static UI element the value should be 0. - @see TSurfaceUpdate -*/ -const TInt KSurfaceUpdate = 0x2; - -/** Hint whether the surface content is copy protected and can it be - shown on external displays. - @see TSurfaceProtection for possible values. -*/ -const TInt KSurfaceProtection = 0x3; - -/** Hint about the surface’s characteristics or properties, - For example if a surface can be persisted by the effects engine. - @see TSurfaceCharacteristics for possible values. -*/ -const TInt KSurfaceCharacteristics = 0x4; - - -/** Values used for the KSurfaceContent key */ -enum TSurfaceContent - { - /** No specific use-case */ - EGeneric, - /** Camera viewfinder frames */ - EViewFinder, - /** Images captured by camera */ - EStillImage, - /** Decoded video frames */ - EVideoPlayback, - /** Video frames from video telephony */ - EVideoTelephony, - /** EGL surface */ - EGfx, - /** Main UI surface */ - EUi, - /** Composition target surface */ - ECompositionTarget, - /** Indicates that the surface has to accessible by ARM. - This can be orr'ed with other TSurfaceContent enumerations. */ - EArmAccess = 0x80000000 - }; - - -/** Values used for the KSurfaceProtection key. The values are bitmasks and can be combined -* e.g. EAllowAnalogProtectionRequired | EAllowDigitalProtectionRequired. -*/ -enum TSurfaceProtection - { - /** - * Not allowed on external outputs - */ - EAllowInternalOnly = 0x00000000, - - /** - * Allowed on all external outputs - */ - EAllowAllExternals = 0xFFFFFFFF, - - /** - * Allow passing content over analog outputs, - * e.g. composite and S-video - */ - EAllowAnalog = 0x00000010, - - /** - * Allow output over an analog output channel which has a protection - * mechanism - */ - EAllowAnalogProtectionRequired = 0x00000020, - - /** - * Allow passing content over digital outputs, - * e.g. DVI and HDMI - */ - EAllowDigital = 0x00000200, - - /** - * Licensed product must attempt to engage HDCP to protect the content. - * However it should be passed through to HDMI even if HDCP is not engaged or fails to engage. - */ - EAllowDigitalProtectionRequested = 0x00000400, - - /** - * Licensed product is required to engage HDCP to protect the content. - * If HDCP is not engaged or can not be engaged the content must not be passed through to HDMI. - */ - EAllowDigitalProtectionRequired = 0x00000800, - }; - - -/** Values used for the KSurfaceCharacteristics key. The values are bitmasks and can be combined. -*/ -enum TSurfaceCharacteristics - { - /** - * Surface cannot be persisted once it has been closed by the creator - */ - ENotPersistable = 1, - }; - - -class TSurfaceUpdate - { - /** Constructor. - @param aUpdateRate How often the surface content is redrawn per second. - @param aTearingFree When ETrue surface updates should be synchronized - with display refresh rate, otherwise surface can - be updated as fast as possible. - */ - inline TSurfaceUpdate(TUint aUpdateRate, TBool aTearingFree); - - /** Converts a value to TSurfaceUpdate */ - inline TSurfaceUpdate(TInt aValue); - - /** Converts TSurfaceUpdate to a signed integer, so it can be used as - a value for KSurfaceUpdate key. */ - inline operator TInt() const; - - /** Getter for surface update rate. - @return updates per second - */ - inline TUint UpdateRate() const; - - /** Getter for surface update synchronization. - @return ETrue - updates should be synchronized with display refresh rate, - EFalse - surface can be updated as fast as possible. - */ - inline TBool TearingFree() const; - - private: - TUint iValue; - }; - - -//- Forward Declarations ---------------------------------------------------- - - -//- Class Definitions ------------------------------------------------------- - - -//- Inline Functions -------------------------------------------------------- - -TSurfaceUpdate::TSurfaceUpdate(TUint aUpdateRate, TBool aTearingFree) - : iValue( ( aUpdateRate & 0xFFFF ) | ( aTearingFree ? 0x80000000 : 0x0 ) ) - { - } -TSurfaceUpdate::TSurfaceUpdate(TInt aValue) - : iValue( static_cast( aValue ) ) - { - } - -TSurfaceUpdate::operator TInt() const - { - return static_cast( iValue ); - } - -TUint TSurfaceUpdate::UpdateRate() const - { - return ( iValue & 0xFFFF ); - } - -TBool TSurfaceUpdate::TearingFree() const - { - return ( iValue & 0x80000000 ) ? ETrue : EFalse; - } - -} //namespace surfaceHints - -#endif //__SURFACE_HINTS_H__ - -// End of File - +// Copyright (c) 2007-2010 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: +// Surface Manager API +// + +#ifndef __SURFACE_HINTS_H__ +#define __SURFACE_HINTS_H__ + +//- Include Files ---------------------------------------------------------- + +#include + + +//- Namespace --------------------------------------------------------------- + +namespace surfaceHints +{ + +//- Constants --------------------------------------------------------------- + +/** Hint of the surface content. + @see TSurfaceContent for possible values +*/ +const TInt KSurfaceContent = 0x1; + +/** Hint of the expected update rate of the surface content. + Value for a surface containing e.g. 25 fps video the value should be 25. + For a static UI element the value should be 0. + @see TSurfaceUpdate +*/ +const TInt KSurfaceUpdate = 0x2; + +/** Hint whether the surface content is copy protected and can it be + shown on external displays. + @see TSurfaceProtection for possible values. +*/ +const TInt KSurfaceProtection = 0x3; + +/** Hint about the surface’s characteristics or properties, + For example if a surface can be persisted by the effects engine. + @see TSurfaceCharacteristics for possible values. +*/ +const TInt KSurfaceCharacteristics = 0x4; + + +/** Values used for the KSurfaceContent key */ +enum TSurfaceContent + { + /** No specific use-case */ + EGeneric, + /** Camera viewfinder frames */ + EViewFinder, + /** Images captured by camera */ + EStillImage, + /** Decoded video frames */ + EVideoPlayback, + /** Video frames from video telephony */ + EVideoTelephony, + /** EGL surface */ + EGfx, + /** Main UI surface */ + EUi, + /** Composition target surface */ + ECompositionTarget, + /** Indicates that the surface has to accessible by ARM. + This can be orr'ed with other TSurfaceContent enumerations. */ + EArmAccess = 0x80000000 + }; + + +/** Values used for the KSurfaceProtection key. The values are bitmasks and can be combined +* e.g. EAllowAnalogProtectionRequired | EAllowDigitalProtectionRequired. +*/ +enum TSurfaceProtection + { + /** + * Not allowed on external outputs + */ + EAllowInternalOnly = 0x00000000, + + /** + * Allowed on all external outputs + */ + EAllowAllExternals = 0xFFFFFFFF, + + /** + * Allow passing content over analog outputs, + * e.g. composite and S-video + */ + EAllowAnalog = 0x00000010, + + /** + * Allow output over an analog output channel which has a protection + * mechanism + */ + EAllowAnalogProtectionRequired = 0x00000020, + + /** + * Allow passing content over digital outputs, + * e.g. DVI and HDMI + */ + EAllowDigital = 0x00000200, + + /** + * Licensed product must attempt to engage HDCP to protect the content. + * However it should be passed through to HDMI even if HDCP is not engaged or fails to engage. + */ + EAllowDigitalProtectionRequested = 0x00000400, + + /** + * Licensed product is required to engage HDCP to protect the content. + * If HDCP is not engaged or can not be engaged the content must not be passed through to HDMI. + */ + EAllowDigitalProtectionRequired = 0x00000800, + }; + + +/** Values used for the KSurfaceCharacteristics key. The values are bitmasks and can be combined. +*/ +enum TSurfaceCharacteristics + { + /** + * Surface cannot be persisted once it has been closed by the creator + */ + ENotPersistable = 1, + }; + + +class TSurfaceUpdate + { + /** Constructor. + @param aUpdateRate How often the surface content is redrawn per second. + @param aTearingFree When ETrue surface updates should be synchronized + with display refresh rate, otherwise surface can + be updated as fast as possible. + */ + inline TSurfaceUpdate(TUint aUpdateRate, TBool aTearingFree); + + /** Converts a value to TSurfaceUpdate */ + inline TSurfaceUpdate(TInt aValue); + + /** Converts TSurfaceUpdate to a signed integer, so it can be used as + a value for KSurfaceUpdate key. */ + inline operator TInt() const; + + /** Getter for surface update rate. + @return updates per second + */ + inline TUint UpdateRate() const; + + /** Getter for surface update synchronization. + @return ETrue - updates should be synchronized with display refresh rate, + EFalse - surface can be updated as fast as possible. + */ + inline TBool TearingFree() const; + + private: + TUint iValue; + }; + + +//- Forward Declarations ---------------------------------------------------- + + +//- Class Definitions ------------------------------------------------------- + + +//- Inline Functions -------------------------------------------------------- + +TSurfaceUpdate::TSurfaceUpdate(TUint aUpdateRate, TBool aTearingFree) + : iValue( ( aUpdateRate & 0xFFFF ) | ( aTearingFree ? 0x80000000 : 0x0 ) ) + { + } +TSurfaceUpdate::TSurfaceUpdate(TInt aValue) + : iValue( static_cast( aValue ) ) + { + } + +TSurfaceUpdate::operator TInt() const + { + return static_cast( iValue ); + } + +TUint TSurfaceUpdate::UpdateRate() const + { + return ( iValue & 0xFFFF ); + } + +TBool TSurfaceUpdate::TearingFree() const + { + return ( iValue & 0x80000000 ) ? ETrue : EFalse; + } + +} //namespace surfaceHints + +#endif //__SURFACE_HINTS_H__ + +// End of File + diff -r 706129140cfc -r d8f29c307082 graphics_plat/surfacemanager_api/inc/surfacemanager.h --- a/graphics_plat/surfacemanager_api/inc/surfacemanager.h Mon Aug 16 10:01:57 2010 +0100 +++ b/graphics_plat/surfacemanager_api/inc/surfacemanager.h Fri Aug 20 16:18:46 2010 +0100 @@ -1,223 +1,223 @@ -// 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: -// Surface Manager API -// -// - -/** - @file - @publishedPartner - @prototype -*/ - -#ifndef __SURFACEMANAGER_H__ -#define __SURFACEMANAGER_H__ - -#ifndef __KERNEL_MODE__ -#include -#endif - -#include -#include -#include -#include - -class RSurfaceManagerDriver; - -/** -RSurface Manager User API. -*/ -class RSurfaceManager - { -public: - - class THintPair - { - public: - /** UID key number */ - TUid iKey; - /** Integer key value */ - TInt iValue; - /** Is the value modifiable */ - TBool iMutable; - public: - inline void Set(TUid aKey,TInt aValue,TBool aMutable); - }; - - enum TCacheAttribute - { - /** CPU cached */ - ECached = 0, - /** Non CPU cached */ - ENotCached = 1 - }; - - class TSurfaceCreationAttributes - { - public: - /** Width and height of the surface in pixels. */ - TSize iSize; - /** Number of buffers in the surface. */ - TInt iBuffers; - /** The pixel format. */ - TUidPixelFormat iPixelFormat; - /** Minimum or required number of bytes between start of one line and - start of next. */ - TInt iStride; - /** Minimum or required offset to the first buffer from the base of the - chunk. Typically this will be set to 0. The value specified for the - offset must comply with the alignment specified in iAlignment. - - If iAlignment is page aligned, this value will be rounded up to a - multiple of the page size when the surface is created, therefore the - surface info must be queried for the actual value used. */ - TInt iOffsetToFirstBuffer; - /** Alignment applied to the base address of each buffer in the surface: - 1, 2, 4, 8 ,16, 32, 64 bytes or EPageAligned. */ - TInt iAlignment; - /** Require physically contiguous memory. This value will be ignored if - using a chunk which already exists. */ - TBool iContiguous; - /** Caching attribute to create chunk memory. This value will be - ignored if using a chunk which already exists. */ - TCacheAttribute iCacheAttrib; - /** Minimum or required offset between the start of one buffer and the - start of the next one in bytes. When set to 0 the surface manager will - choose how buffers are laid out within the chunk. If it is too small - and doesn't fit with the alignment, CreateSurface() will return - KErrArgument. */ - TInt iOffsetBetweenBuffers; - /** Array of hints which should be associated with the surface. This - array must not contain duplicate hint keys. */ - THintPair* iSurfaceHints; - /** Number of hints in the array iSurfaceHints. The number should not - exceed the maximum number supported by the surface manager, see - GetSurfaceManagerAttrib(EMaxNumberOfHints). */ - TInt iHintCount; - /** Should the surface be mappable. If EFalse any call to MapSurface() - will fail with KErrNotSupported -- Note, some architectures may not - support mappable surfaces. */ - TBool iMappable; - public: - inline TSurfaceCreationAttributes(); - }; - - class TSurfaceInfoV01 - { - public: - /** Width and height of the surface in pixels */ - TSize iSize; - /** Number of buffers in the surface */ - TInt iBuffers; - /** The pixel format */ - TUidPixelFormat iPixelFormat; - /** Number of bytes between start of one line and start of next */ - TInt iStride; - /** Has physically contiguous memory */ - TBool iContiguous; - /** Specified if the underlying chunk is CPU cached or not */ - TCacheAttribute iCacheAttrib; - /** ETrue if the surface can be mapped */ - TBool iMappable; - }; - - enum TSurfaceManagerAttrib - { - /** Maximum number of hints per surface */ - EMaxNumberOfHints = 0x0 - }; - - /** Package buf used to pass information about a surface from the driver */ - typedef TPckgBuf TInfoBuf; - /** Package buf used to pass the surface creation attributes to the device driver */ - typedef TPckgBuf TSurfaceCreationAttributesBuf; - - enum TSyncOperation - { - /** Synchronize before non CPU hardware reads from the memory, i.e. if the - buffer is cached and may have been written to by the CPU, this type of - synchronisation should be used before a peripheral is used to read from the - buffer's memory */ - ESyncBeforeNonCPURead, - /** Synchronize before non CPU hardware writes to the memory, i.e. if the - buffer is cached and may have been written to by the CPU, this type of - synchronisation should be used before a peripheral is used to write to the - buffer's memory */ - ESyncBeforeNonCPUWrite, - /** Synchronize after non CPU hardware writes to the memory, i.e. if the - buffer is cached, this type of synchronisation should be used after a - peripheral has been used to write to the buffer's memory */ - ESyncAfterNonCPUWrite - }; - - enum TPageAlignment - { - /** Specifies iAlignment is a page alignment */ - EPageAligned = -1 - }; - -public: -#ifndef __KERNEL_MODE__ - IMPORT_C RSurfaceManager(); - IMPORT_C TInt Open(); - IMPORT_C void Close(); - IMPORT_C TInt CreateSurface(const TSurfaceCreationAttributesBuf& aReqs, TSurfaceId& aSurfaceId); - IMPORT_C TInt CreateSurface(const TSurfaceCreationAttributesBuf& aReqs, TSurfaceId& aSurfaceId, const RChunk& aChunkHandle); - IMPORT_C TInt OpenSurface(const TSurfaceId& aSurfaceId); - IMPORT_C TInt CloseSurface(const TSurfaceId& aSurfaceId); - IMPORT_C TInt MapSurface(const TSurfaceId& aSurfaceId, RChunk& aHandle); - IMPORT_C TInt SurfaceInfo(const TSurfaceId& aSurfaceId, TInfoBuf& aInfo); - IMPORT_C TInt SynchronizeCache(const TSurfaceId& aSurfaceId, TInt aBuffer, TSyncOperation aOperation); - IMPORT_C TInt GetSurfaceManagerAttrib(TSurfaceManagerAttrib aAttrib, TInt& aValue); - IMPORT_C TInt GetSurfaceHint(const TSurfaceId& aSurfaceId, THintPair& aHint); - IMPORT_C TInt SetSurfaceHint(const TSurfaceId& aSurfaceId, const THintPair& aHint); - IMPORT_C TInt AddSurfaceHint(const TSurfaceId&aSurface, const THintPair& aHint); - IMPORT_C TInt GetBufferOffset(const TSurfaceId& aSurfaceId, TInt aBuffer, TInt& aOffset); -#endif //__KERNEL_MODE__ -private: - inline RSurfaceManagerDriver& Driver(); -private: - TInt32 iDriverBuf[4]; - }; - -// -// THintPair inline -// - -/** -Sets key, value and mutability of the hint. -@param aKeyUid The UID of the key -@param aValue The value of the hint -@param aMutable ETrue if the hint value is mutable -*/ -inline void RSurfaceManager::THintPair::Set(TUid aKeyUid,TInt aValue,TBool aMutable) - { - iKey = aKeyUid; - iValue = aValue; - iMutable = aMutable; - } - -// -// TSurfaceCreationAttributes inline -// - -/** -Default constructor, zero initializes all attributes. -*/ -inline RSurfaceManager::TSurfaceCreationAttributes::TSurfaceCreationAttributes() - { - memclr(this, sizeof(TSurfaceCreationAttributes)); - } - -#endif //__SURFACEMANAGER_H__ +// 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: +// Surface Manager API +// +// + +/** + @file + @publishedPartner + @prototype +*/ + +#ifndef __SURFACEMANAGER_H__ +#define __SURFACEMANAGER_H__ + +#ifndef __KERNEL_MODE__ +#include +#endif + +#include +#include +#include +#include + +class RSurfaceManagerDriver; + +/** +RSurface Manager User API. +*/ +class RSurfaceManager + { +public: + + class THintPair + { + public: + /** UID key number */ + TUid iKey; + /** Integer key value */ + TInt iValue; + /** Is the value modifiable */ + TBool iMutable; + public: + inline void Set(TUid aKey,TInt aValue,TBool aMutable); + }; + + enum TCacheAttribute + { + /** CPU cached */ + ECached = 0, + /** Non CPU cached */ + ENotCached = 1 + }; + + class TSurfaceCreationAttributes + { + public: + /** Width and height of the surface in pixels. */ + TSize iSize; + /** Number of buffers in the surface. */ + TInt iBuffers; + /** The pixel format. */ + TUidPixelFormat iPixelFormat; + /** Minimum or required number of bytes between start of one line and + start of next. */ + TInt iStride; + /** Minimum or required offset to the first buffer from the base of the + chunk. Typically this will be set to 0. The value specified for the + offset must comply with the alignment specified in iAlignment. + + If iAlignment is page aligned, this value will be rounded up to a + multiple of the page size when the surface is created, therefore the + surface info must be queried for the actual value used. */ + TInt iOffsetToFirstBuffer; + /** Alignment applied to the base address of each buffer in the surface: + 1, 2, 4, 8 ,16, 32, 64 bytes or EPageAligned. */ + TInt iAlignment; + /** Require physically contiguous memory. This value will be ignored if + using a chunk which already exists. */ + TBool iContiguous; + /** Caching attribute to create chunk memory. This value will be + ignored if using a chunk which already exists. */ + TCacheAttribute iCacheAttrib; + /** Minimum or required offset between the start of one buffer and the + start of the next one in bytes. When set to 0 the surface manager will + choose how buffers are laid out within the chunk. If it is too small + and doesn't fit with the alignment, CreateSurface() will return + KErrArgument. */ + TInt iOffsetBetweenBuffers; + /** Array of hints which should be associated with the surface. This + array must not contain duplicate hint keys. */ + THintPair* iSurfaceHints; + /** Number of hints in the array iSurfaceHints. The number should not + exceed the maximum number supported by the surface manager, see + GetSurfaceManagerAttrib(EMaxNumberOfHints). */ + TInt iHintCount; + /** Should the surface be mappable. If EFalse any call to MapSurface() + will fail with KErrNotSupported -- Note, some architectures may not + support mappable surfaces. */ + TBool iMappable; + public: + inline TSurfaceCreationAttributes(); + }; + + class TSurfaceInfoV01 + { + public: + /** Width and height of the surface in pixels */ + TSize iSize; + /** Number of buffers in the surface */ + TInt iBuffers; + /** The pixel format */ + TUidPixelFormat iPixelFormat; + /** Number of bytes between start of one line and start of next */ + TInt iStride; + /** Has physically contiguous memory */ + TBool iContiguous; + /** Specified if the underlying chunk is CPU cached or not */ + TCacheAttribute iCacheAttrib; + /** ETrue if the surface can be mapped */ + TBool iMappable; + }; + + enum TSurfaceManagerAttrib + { + /** Maximum number of hints per surface */ + EMaxNumberOfHints = 0x0 + }; + + /** Package buf used to pass information about a surface from the driver */ + typedef TPckgBuf TInfoBuf; + /** Package buf used to pass the surface creation attributes to the device driver */ + typedef TPckgBuf TSurfaceCreationAttributesBuf; + + enum TSyncOperation + { + /** Synchronize before non CPU hardware reads from the memory, i.e. if the + buffer is cached and may have been written to by the CPU, this type of + synchronisation should be used before a peripheral is used to read from the + buffer's memory */ + ESyncBeforeNonCPURead, + /** Synchronize before non CPU hardware writes to the memory, i.e. if the + buffer is cached and may have been written to by the CPU, this type of + synchronisation should be used before a peripheral is used to write to the + buffer's memory */ + ESyncBeforeNonCPUWrite, + /** Synchronize after non CPU hardware writes to the memory, i.e. if the + buffer is cached, this type of synchronisation should be used after a + peripheral has been used to write to the buffer's memory */ + ESyncAfterNonCPUWrite + }; + + enum TPageAlignment + { + /** Specifies iAlignment is a page alignment */ + EPageAligned = -1 + }; + +public: +#ifndef __KERNEL_MODE__ + IMPORT_C RSurfaceManager(); + IMPORT_C TInt Open(); + IMPORT_C void Close(); + IMPORT_C TInt CreateSurface(const TSurfaceCreationAttributesBuf& aReqs, TSurfaceId& aSurfaceId); + IMPORT_C TInt CreateSurface(const TSurfaceCreationAttributesBuf& aReqs, TSurfaceId& aSurfaceId, const RChunk& aChunkHandle); + IMPORT_C TInt OpenSurface(const TSurfaceId& aSurfaceId); + IMPORT_C TInt CloseSurface(const TSurfaceId& aSurfaceId); + IMPORT_C TInt MapSurface(const TSurfaceId& aSurfaceId, RChunk& aHandle); + IMPORT_C TInt SurfaceInfo(const TSurfaceId& aSurfaceId, TInfoBuf& aInfo); + IMPORT_C TInt SynchronizeCache(const TSurfaceId& aSurfaceId, TInt aBuffer, TSyncOperation aOperation); + IMPORT_C TInt GetSurfaceManagerAttrib(TSurfaceManagerAttrib aAttrib, TInt& aValue); + IMPORT_C TInt GetSurfaceHint(const TSurfaceId& aSurfaceId, THintPair& aHint); + IMPORT_C TInt SetSurfaceHint(const TSurfaceId& aSurfaceId, const THintPair& aHint); + IMPORT_C TInt AddSurfaceHint(const TSurfaceId&aSurface, const THintPair& aHint); + IMPORT_C TInt GetBufferOffset(const TSurfaceId& aSurfaceId, TInt aBuffer, TInt& aOffset); +#endif //__KERNEL_MODE__ +private: + inline RSurfaceManagerDriver& Driver(); +private: + TInt32 iDriverBuf[4]; + }; + +// +// THintPair inline +// + +/** +Sets key, value and mutability of the hint. +@param aKeyUid The UID of the key +@param aValue The value of the hint +@param aMutable ETrue if the hint value is mutable +*/ +inline void RSurfaceManager::THintPair::Set(TUid aKeyUid,TInt aValue,TBool aMutable) + { + iKey = aKeyUid; + iValue = aValue; + iMutable = aMutable; + } + +// +// TSurfaceCreationAttributes inline +// + +/** +Default constructor, zero initializes all attributes. +*/ +inline RSurfaceManager::TSurfaceCreationAttributes::TSurfaceCreationAttributes() + { + memclr(this, sizeof(TSurfaceCreationAttributes)); + } + +#endif //__SURFACEMANAGER_H__