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

#include <platform_ipc_operations.h>

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.

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]msg_typewhat sort of ipc message is needed
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]messagethe message that was sent to the server
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

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

Copyright © 2012-2016 Canonical Ltd.
Generated on Tue Oct 31 05:57:28 UTC 2017