Mir
Public Member Functions | Protected Member Functions | List of all members
mir::graphics::PlatformIpcOperations Class Referenceabstract

#include <platform_ipc_operations.h>

Inheritance diagram for mir::graphics::PlatformIpcOperations:
[legend]

Public Member Functions

virtual ~PlatformIpcOperations ()=default
 
virtual void pack_buffer (BufferIpcMessage &message, Buffer const &buffer, BufferIpcMsgType msg_type) const =0
 Arranges the IPC package for a buffer that is to be sent through the frontend from server to client. More...
 
virtual void unpack_buffer (BufferIpcMessage &message, Buffer const &buffer) const =0
 Arranges the IPC package for a buffer that was sent over IPC client to server. More...
 
virtual std::shared_ptr< PlatformIPCPackageconnection_ipc_package ()=0
 Gets the connection package for the platform. More...
 
virtual PlatformOperationMessage platform_operation (unsigned int const opcode, PlatformOperationMessage const &message)=0
 Arranges a platform specific operation triggered by an IPC call. More...
 

Protected Member Functions

 PlatformIpcOperations ()=default
 
 PlatformIpcOperations (PlatformIpcOperations const &)=delete
 
PlatformIpcOperationsoperator= (PlatformIpcOperations const &)=delete
 

Constructor & Destructor Documentation

virtual mir::graphics::PlatformIpcOperations::~PlatformIpcOperations ( )
virtualdefault
mir::graphics::PlatformIpcOperations::PlatformIpcOperations ( )
protecteddefault
mir::graphics::PlatformIpcOperations::PlatformIpcOperations ( PlatformIpcOperations const &  )
protecteddelete

Member Function Documentation

virtual std::shared_ptr<PlatformIPCPackage> mir::graphics::PlatformIpcOperations::connection_ipc_package ( )
pure virtual

Gets the connection package for the platform.

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

Implemented in mir::graphics::mesa::IpcOperations, and mir::graphics::android::IpcOperations.

PlatformIpcOperations& mir::graphics::PlatformIpcOperations::operator= ( PlatformIpcOperations const &  )
protecteddelete
virtual void mir::graphics::PlatformIpcOperations::pack_buffer ( BufferIpcMessage message,
Buffer const &  buffer,
BufferIpcMsgType  msg_type 
) const
pure virtual

Arranges the IPC package for a buffer that is to be sent through the frontend from server to client.

This should be called every time a buffer is to be sent cross-process.

Pack the platform specific contents of Buffer into BufferIpcMessage for sending to the client

Parameters
[in]messagethe message that will be sent
[in]bufferthe buffer to be put in the message
[in]ipc_typewhat sort of ipc message is needed

Implemented in mir::graphics::mesa::IpcOperations.

virtual PlatformOperationMessage mir::graphics::PlatformIpcOperations::platform_operation ( unsigned int const  opcode,
PlatformOperationMessage const &  message 
)
pure virtual

Arranges a platform specific operation triggered by an IPC call.

Returns
the response that will be sent to the client
Parameters
[in]opcodethe opcode that indicates the action to be performed
[in]requestthe message that was sent to the server

Implemented in mir::graphics::mesa::IpcOperations, and mir::graphics::android::IpcOperations.

virtual void mir::graphics::PlatformIpcOperations::unpack_buffer ( BufferIpcMessage message,
Buffer const &  buffer 
) const
pure virtual

Arranges the IPC package for a buffer that was sent over IPC client to server.

This must be called every time a buffer is received, as some platform specific processing has to be done on the incoming buffer.

Parameters
[in]messagethe message that was sent to the server
[in]bufferthe buffer associated with the message

Implemented in mir::graphics::mesa::IpcOperations.


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

Copyright © 2012,2013 Canonical Ltd.
Generated on Tue Mar 24 16:15:19 UTC 2015