Mir
Public Member Functions | List of all members
mir::graphics::mesa::IpcOperations Class Reference

#include <ipc_operations.h>

Inheritance diagram for mir::graphics::mesa::IpcOperations:
[legend]

Public Member Functions

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

Additional Inherited Members

- Protected Member Functions inherited from mir::graphics::PlatformIpcOperations
 PlatformIpcOperations ()=default
 
 PlatformIpcOperations (PlatformIpcOperations const &)=delete
 
PlatformIpcOperationsoperator= (PlatformIpcOperations const &)=delete
 

Constructor & Destructor Documentation

mir::graphics::mesa::IpcOperations::IpcOperations ( std::shared_ptr< DRMAuthentication > const &  drm)

Member Function Documentation

std::shared_ptr<PlatformIPCPackage> mir::graphics::mesa::IpcOperations::connection_ipc_package ( )
overridevirtual

Gets the connection package for the platform.

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

Implements mir::graphics::PlatformIpcOperations.

void mir::graphics::mesa::IpcOperations::pack_buffer ( BufferIpcMessage message,
Buffer const &  buffer,
BufferIpcMsgType  msg_type 
) const
overridevirtual

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

Implements mir::graphics::PlatformIpcOperations.

PlatformOperationMessage mir::graphics::mesa::IpcOperations::platform_operation ( unsigned int const  opcode,
PlatformOperationMessage const &  message 
)
overridevirtual

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

Implements mir::graphics::PlatformIpcOperations.

void mir::graphics::mesa::IpcOperations::unpack_buffer ( BufferIpcMessage message,
Buffer const &  buffer 
) const
overridevirtual

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

Implements mir::graphics::PlatformIpcOperations.


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

Copyright © 2012-2015 Canonical Ltd.
Generated on Thu Oct 8 16:20:16 UTC 2015