Mir
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
src
server
frontend
protobuf_buffer_packer.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 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 General Public License for more details.
12
*
13
* You should have received a copy of the GNU 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_FRONTEND_PROTOBUF_BUFFER_PACKER_H_
20
#define MIR_FRONTEND_PROTOBUF_BUFFER_PACKER_H_
21
22
#include "
mir/graphics/buffer_ipc_packer.h
"
23
#include "mir_protobuf.pb.h"
24
25
namespace
mir
26
{
27
namespace
graphics
28
{
29
class
DisplayConfiguration;
30
}
31
namespace
frontend
32
{
33
namespace
detail
34
{
35
36
void
pack_protobuf_display_configuration
(protobuf::DisplayConfiguration& protobuf_config,
37
graphics::DisplayConfiguration
const
& display_config);
38
39
class
ProtobufBufferPacker
:
public
graphics::BufferIPCPacker
40
{
41
public
:
42
ProtobufBufferPacker
(protobuf::Buffer*);
43
void
pack_fd
(
int
);
44
void
pack_data
(
int
);
45
void
pack_stride
(
geometry::Stride
);
46
void
pack_flags
(
unsigned
int
);
47
private
:
48
protobuf::Buffer* buffer_response;
49
};
50
51
}
52
}
53
}
54
55
#endif
/* MIR_FRONTEND_PROTOBUF_BUFFER_PACKER_H_ */
Copyright © 2012,2013 Canonical Ltd.
Generated on Tue Oct 15 00:23:28 UTC 2013