Mir
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Public Member Functions | List of all members
mir::graphics::Platform Class Referenceabstract

Interface to platform specific support for graphics operations. More...

#include <platform.h>

Inheritance diagram for mir::graphics::Platform:
Inheritance graph
[legend]

Public Member Functions

 Platform ()=default
 
 Platform (const Platform &p)=delete
 
Platformoperator= (const Platform &p)=delete
 
virtual ~Platform ()
 
virtual std::shared_ptr
< GraphicBufferAllocator
create_buffer_allocator (std::shared_ptr< BufferInitializer > const &buffer_initializer)=0
 Creates the buffer allocator subsystem. More...
 
virtual std::shared_ptr< Displaycreate_display (std::shared_ptr< DisplayConfigurationPolicy > const &initial_conf_policy)=0
 Creates the display subsystem. More...
 
virtual std::shared_ptr
< PlatformIPCPackage
get_ipc_package ()=0
 Gets the IPC package for the platform. More...
 
virtual void fill_ipc_package (std::shared_ptr< BufferIPCPacker > const &packer, std::shared_ptr< graphics::Buffer > const &buffer) const =0
 Fills the IPC package for a buffer. More...
 
virtual std::shared_ptr
< InternalClient
create_internal_client ()=0
 Creates the in-process client support object. More...
 

Detailed Description

Interface to platform specific support for graphics operations.

Constructor & Destructor Documentation

mir::graphics::Platform::Platform ( )
default
mir::graphics::Platform::Platform ( const Platform p)
delete
virtual mir::graphics::Platform::~Platform ( )
inlinevirtual

Member Function Documentation

virtual std::shared_ptr<GraphicBufferAllocator> mir::graphics::Platform::create_buffer_allocator ( std::shared_ptr< BufferInitializer > const &  buffer_initializer)
pure virtual

Creates the buffer allocator subsystem.

Parameters
[in]buffer_initializerthe object responsible for initializing the buffers

Implemented in mir::graphics::gbm::GBMPlatform, and mir::graphics::nested::NestedPlatform.

virtual std::shared_ptr<Display> mir::graphics::Platform::create_display ( std::shared_ptr< DisplayConfigurationPolicy > const &  initial_conf_policy)
pure virtual

Creates the display subsystem.

Implemented in mir::graphics::gbm::GBMPlatform, and mir::graphics::nested::NestedPlatform.

virtual std::shared_ptr<InternalClient> mir::graphics::Platform::create_internal_client ( )
pure virtual

Creates the in-process client support object.

Implemented in mir::graphics::gbm::GBMPlatform, mir::test::doubles::NullPlatform, and mir::graphics::nested::NestedPlatform.

virtual void mir::graphics::Platform::fill_ipc_package ( std::shared_ptr< BufferIPCPacker > const &  packer,
std::shared_ptr< graphics::Buffer > const &  buffer 
) const
pure virtual

Fills the IPC package for a buffer.

The Buffer IPC package will be sent to clients when receiving a buffer. The implementation must use the provided packer object to perform the packing.

Parameters
[in]packerthe object providing the packing functionality
[in]bufferthe buffer to fill the IPC package for
virtual std::shared_ptr<PlatformIPCPackage> mir::graphics::Platform::get_ipc_package ( )
pure virtual

Gets the IPC package for the platform.

The IPC package will be sent to clients when they connect.

Implemented in mir::graphics::gbm::GBMPlatform, mir::graphics::nested::NestedPlatform, and mir::test::doubles::NullPlatform.

Platform& mir::graphics::Platform::operator= ( const Platform p)
delete

The documentation for this class was generated from the following file:

Copyright © 2012,2013 Canonical Ltd.
Generated on Wed Oct 30 18:52:19 UTC 2013