Mir
ipc_operations.h
Go to the documentation of this file.
1 /*
2  * Copyright © 2013 Canonical Ltd.
3  *
4  * This program is free software: you can redistribute it and/or modify it
5  * under the terms of the GNU Lesser General Public License version 3,
6  * as published by the Free Software Foundation.
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU Lesser General Public License for more details.
12  *
13  * You should have received a copy of the GNU Lesser General Public License
14  * along with this program. If not, see <http://www.gnu.org/licenses/>.
15  *
16  * Authored by: Kevin DuBois <kevin.dubois@canonical.com>
17  */
18 
19 #ifndef MIR_GRAPHICS_MESA_IPC_OPERATIONS_H_
20 #define MIR_GRAPHICS_MESA_IPC_OPERATIONS_H_
21 
23 namespace mir
24 {
25 namespace graphics
26 {
27 class NestedContext;
28 namespace mesa
29 {
30 class DRMAuthentication;
32 {
33 public:
34  IpcOperations(std::shared_ptr<DRMAuthentication> const& drm);
35 
36  void pack_buffer(BufferIpcMessage& message, Buffer const& buffer, BufferIpcMsgType msg_type) const override;
37  void unpack_buffer(BufferIpcMessage& message, Buffer const& buffer) const override;
38  std::shared_ptr<PlatformIPCPackage> connection_ipc_package() override;
40  unsigned int const opcode,
41  PlatformOperationMessage const& message) override;
42 private:
43  std::shared_ptr<DRMAuthentication> const drm;
44 };
45 
46 }
47 }
48 }
49 #endif /* MIR_GRAPHICS_MESA_IPC_OPERATIONS_H_ */
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.
All things Mir.
Definition: atomic_callback.h:25
std::shared_ptr< PlatformIPCPackage > connection_ipc_package() override
Gets the connection package for the platform.
BufferIpcMsgType
Definition: platform_ipc_operations.h:29
Definition: buffer_ipc_message.h:32
IpcOperations(std::shared_ptr< DRMAuthentication > const &drm)
Definition: platform_ipc_operations.h:38
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...
Definition: ipc_operations.h:31
Definition: buffer.h:44
Definition: platform_operation_message.h:30
PlatformOperationMessage platform_operation(unsigned int const opcode, PlatformOperationMessage const &message) override
Arranges a platform specific operation triggered by an IPC call.

Copyright © 2012-2015 Canonical Ltd.
Generated on Thu Sep 8 14:50:19 UTC 2016