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
client
gbm
mesa_native_display_container.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
5
* it under the terms of the GNU Lesser General Public License version 3 as
6
* 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: Robert Carr <robert.carr@canonical.com>
17
*/
18
19
#ifndef MIR_CLIENT_GBM_MESA_NATIVE_DISPLAY_CONTAINER_H_
20
#define MIR_CLIENT_GBM_MESA_NATIVE_DISPLAY_CONTAINER_H_
21
22
#include "../egl_native_display_container.h"
23
24
#include "
mir_toolkit/client_types.h
"
25
#include "
mir_toolkit/mesa/native_display.h
"
26
27
#include <unordered_set>
28
#include <mutex>
29
30
namespace
mir
31
{
32
namespace
client
33
{
34
namespace
gbm
35
{
36
37
class
MesaNativeDisplayContainer
:
public
EGLNativeDisplayContainer
38
{
39
public
:
40
MesaNativeDisplayContainer
();
41
virtual
~MesaNativeDisplayContainer
();
42
43
MirEGLNativeDisplayType
create
(
MirConnection
* connection);
44
void
release
(
MirEGLNativeDisplayType
display);
45
46
bool
validate
(
MirEGLNativeDisplayType
display)
const
;
47
48
protected
:
49
MesaNativeDisplayContainer
(
MesaNativeDisplayContainer
const
&) =
delete
;
50
MesaNativeDisplayContainer
&
operator=
(
MesaNativeDisplayContainer
const
&) =
delete
;
51
52
private
:
53
std::mutex
mutable
guard;
54
std::unordered_set<MirEGLNativeDisplayType> valid_displays;
55
};
56
57
extern
"C"
int
mir_client_mesa_egl_native_display_is_valid
(
MirMesaEGLNativeDisplay
* display);
58
59
}
60
}
61
}
// namespace mir
62
63
#endif // MIR_CLIENT_GBM_MESA_NATIVE_DISPLAY_CONTAINER_H_
Copyright © 2012,2013 Canonical Ltd.
Generated on Tue Oct 15 00:23:28 UTC 2013