[videodb] remove unused seasons table from episode_view
[xbmc.git] / xbmc / platform / posix / utils / SharedMemory.h
blobb556de672e08bbe3826711c2234076208422424e
1 /*
2 * Copyright (C) 2017-2018 Team Kodi
3 * This file is part of Kodi - https://kodi.tv
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 * See LICENSES/README.md for more information.
7 */
9 #pragma once
11 #include "FileHandle.h"
12 #include "Mmap.h"
14 #include <memory>
16 namespace KODI
18 namespace UTILS
20 namespace POSIX
23 /**
24 * Get a chunk of shared memory of specified size
26 * The shared memory is automatically allocated, truncated to the correct size
27 * and memory-mapped.
29 class CSharedMemory
31 public:
32 explicit CSharedMemory(std::size_t size);
34 std::size_t Size() const
36 return m_size;
38 void* Data() const
40 return m_mmap.Data();
42 int Fd() const
44 return m_fd;
47 private:
48 CSharedMemory(CSharedMemory const& other) = delete;
49 CSharedMemory& operator=(CSharedMemory const& other) = delete;
51 CFileHandle Open();
52 CFileHandle OpenMemfd();
53 CFileHandle OpenShm();
55 std::size_t m_size;
56 CFileHandle m_fd;
57 CMmap m_mmap;