Public Member Functions | Static Public Member Functions

firevision::SharedMemoryLookupTable Class Reference

Shared memory lookup table. More...

#include <>>

Inheritance diagram for firevision::SharedMemoryLookupTable:
Inheritance graph
[legend]

List of all members.

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.

Detailed Description

Shared memory lookup table.

Definition at line 113 of file shm_lut.h.


Constructor & Destructor Documentation

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.

Parameters:
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.

Parameters:
lut_id LUT ID
is_read_only true to open read-only

Definition at line 77 of file shm_lut.cpp.

firevision::SharedMemoryLookupTable::~SharedMemoryLookupTable (  ) 

Destructor.

Definition at line 111 of file shm_lut.cpp.

References fawkes::SharedMemory::free().


Member Function Documentation

unsigned char * firevision::SharedMemoryLookupTable::buffer (  )  const

Get LUT buffer.

Returns:
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.

Returns:
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.

Parameters:
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.

Returns:
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.

Parameters:
lut_id image number to check
Returns:
true if shared memory segment with requested LUT exists

Definition at line 234 of file shm_lut.cpp.

unsigned int firevision::SharedMemoryLookupTable::height (  )  const

Get LUT height.

Returns:
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.

Returns:
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.

Parameters:
lut_id LUT ID
Returns:
true on success

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.

Returns:
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.

Parameters:
lut_id LUT ID

Definition at line 247 of file shm_lut.cpp.

References fawkes::SharedMemory::erase().


The documentation for this class was generated from the following files: