Shared memory lookup table. More...
#include <fvutils/ipc/shm_lut.h>
Public Member Functions | |
SharedMemoryLookupTable (const char *lut_id, unsigned int width, unsigned int height, unsigned int depth=1, unsigned int bytes_per_cell=1) | |
Write Constructor. | |
SharedMemoryLookupTable (const char *lut_id, bool is_read_only=true) | |
Read constructor. | |
~SharedMemoryLookupTable () | |
Destructor. | |
const char * | lut_id () const |
Get LUT ID. | |
bool | set_lut_id (const char *lut_id) |
Set LUT ID. | |
unsigned char * | buffer () const |
Get LUT buffer. | |
unsigned int | width () const |
Get LUT width. | |
unsigned int | height () const |
Get LUT height. | |
unsigned int | depth () const |
Get LUT depth. | |
unsigned int | bytes_per_cell () const |
Get bytes per cell. | |
Static Public Member Functions | |
static void | list () |
List shared memory LUT segments. | |
static void | cleanup (bool use_lister=true) |
Erase all shared memory segments that contain FireVision LUTs. | |
static bool | exists (const char *lut_id) |
Check LUT availability. | |
static void | wipe (const char *lut_id) |
Erase a specific shared memory segment that contains a LUT. |
Shared memory lookup table.
Definition at line 113 of file shm_lut.h.
firevision::SharedMemoryLookupTable::SharedMemoryLookupTable | ( | const char * | lut_id, | |
unsigned int | width, | |||
unsigned int | height, | |||
unsigned int | depth = 1 , |
|||
unsigned int | bytes_per_cell = 1 | |||
) |
Write Constructor.
Create a new shared memory segment. Will open a shared memory segment that exactly fits the given information. Will throw an error if image with num image_num exists it will throw an exception an exception. I will create a new segment if no matching segment was found. The segment is accessed in read-write mode.
lut_id | LUT ID | |
width | LUT width | |
height | LUT height | |
depth | LUT depth | |
bytes_per_cell | LUT bytes per cell |
Definition at line 58 of file shm_lut.cpp.
firevision::SharedMemoryLookupTable::SharedMemoryLookupTable | ( | const char * | lut_id, | |
bool | is_read_only = true | |||
) |
Read constructor.
This constructor is used to search for an existing shared memory segment. It will throw an error if it cannot find a segment with the specified data. The segment is opened read-only by default, but this can be overridden with the is_read_only argument if needed.
lut_id | LUT ID | |
is_read_only | true to open read-only |
Definition at line 77 of file shm_lut.cpp.
firevision::SharedMemoryLookupTable::~SharedMemoryLookupTable | ( | ) |
unsigned char * firevision::SharedMemoryLookupTable::buffer | ( | ) | const |
Get LUT buffer.
Definition at line 148 of file shm_lut.cpp.
References fawkes::SharedMemory::_memptr.
Referenced by firevision::FuseLutContent::FuseLutContent().
unsigned int firevision::SharedMemoryLookupTable::bytes_per_cell | ( | ) | const |
Get bytes per cell.
Definition at line 188 of file shm_lut.cpp.
References firevision::SharedMemoryLookupTable_header_t::bytes_per_cell.
Referenced by firevision::FuseLutContent::FuseLutContent().
void firevision::SharedMemoryLookupTable::cleanup | ( | bool | use_lister = true |
) | [static] |
Erase all shared memory segments that contain FireVision LUTs.
use_lister | if true a lister is used to print the shared memory segments to stdout while cleaning up. |
Definition at line 213 of file shm_lut.cpp.
References fawkes::SharedMemory::erase_orphaned().
unsigned int firevision::SharedMemoryLookupTable::depth | ( | ) | const |
Get LUT depth.
Definition at line 178 of file shm_lut.cpp.
References firevision::SharedMemoryLookupTable_header_t::depth.
Referenced by firevision::FuseLutContent::FuseLutContent().
bool firevision::SharedMemoryLookupTable::exists | ( | const char * | lut_id | ) | [static] |
Check LUT availability.
lut_id | image number to check |
Definition at line 234 of file shm_lut.cpp.
unsigned int firevision::SharedMemoryLookupTable::height | ( | ) | const |
Get LUT height.
Definition at line 168 of file shm_lut.cpp.
References firevision::SharedMemoryLookupTable_header_t::height.
Referenced by firevision::FuseLutContent::FuseLutContent().
void firevision::SharedMemoryLookupTable::list | ( | ) | [static] |
List shared memory LUT segments.
Definition at line 196 of file shm_lut.cpp.
const char * firevision::SharedMemoryLookupTable::lut_id | ( | ) | const |
Get LUT ID.
Definition at line 122 of file shm_lut.cpp.
Referenced by firevision::FuseLutContent::FuseLutContent().
bool firevision::SharedMemoryLookupTable::set_lut_id | ( | const char * | lut_id | ) |
Set LUT ID.
lut_id | LUT ID |
Definition at line 133 of file shm_lut.cpp.
References fawkes::SharedMemory::_memptr, fawkes::SharedMemory::attach(), fawkes::SharedMemory::free(), and firevision::SharedMemoryLookupTableHeader::set_lut_id().
unsigned int firevision::SharedMemoryLookupTable::width | ( | ) | const |
Get LUT width.
Definition at line 158 of file shm_lut.cpp.
References firevision::SharedMemoryLookupTable_header_t::width.
Referenced by firevision::FuseLutContent::FuseLutContent().
void firevision::SharedMemoryLookupTable::wipe | ( | const char * | lut_id | ) | [static] |
Erase a specific shared memory segment that contains a LUT.
lut_id | LUT ID |
Definition at line 247 of file shm_lut.cpp.
References fawkes::SharedMemory::erase().