2
* Copyright © 2013 Canonical Ltd.
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.
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.
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/>.
17
* Alexandros Frantzis <alexandros.frantzis@canonical.com>
20
#ifndef MIR_GRAPHICS_MESA_ANONYMOUS_SHM_FILE_H_
21
#define MIR_GRAPHICS_MESA_ANONYMOUS_SHM_FILE_H_
44
FdHandle(FdHandle const&) = delete;
45
FdHandle& operator=(FdHandle const&) = delete;
52
MapHandle(int fd, size_t size);
53
~MapHandle() noexcept;
55
operator void*() const;
58
MapHandle(MapHandle const&) = delete;
59
MapHandle& operator=(MapHandle const&) = delete;
65
class AnonymousShmFile : public ShmFile
68
AnonymousShmFile(size_t size);
70
void* base_ptr() const;
74
detail::FdHandle const fd_;
75
detail::MapHandle const mapping;
82
#endif /* MIR_GRAPHICS_MESA_ANONYMOUS_SHM_FILE_H_ */