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
connection_surface_map.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_CLIENT_CONNECTION_SURFACE_MAP_H_
20
#define MIR_CLIENT_CONNECTION_SURFACE_MAP_H_
21
22
#include "
surface_map.h
"
23
24
#include <unordered_map>
25
#include <mutex>
26
27
namespace
mir
28
{
29
namespace
client
30
{
31
32
class
ConnectionSurfaceMap
:
public
SurfaceMap
33
{
34
public
:
35
ConnectionSurfaceMap
();
36
37
void
with_surface_do
(
int
const
& surface_id, std::function<
void
(
MirSurface
*)> exec);
38
void
insert
(
int
const
& surface_id,
MirSurface
* surface);
39
void
erase
(
int
surface_id);
40
41
private
:
42
std::mutex guard;
43
typedef
std::unordered_map<int, MirSurface*>
SurfaceMap
;
44
SurfaceMap surfaces;
45
};
46
47
}
48
}
49
#endif
/* MIR_CLIENT_CONNECTION_SURFACE_MAP_H_ */
Copyright © 2012,2013 Canonical Ltd.
Generated on Wed Oct 30 18:52:19 UTC 2013