Fawkes API Fawkes Development Version

firevision::SharedMemoryLookupTable Class Reference

Shared memory lookup table. More...

#include <>>

Inheritance diagram for firevision::SharedMemoryLookupTable:

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_idLUT ID
widthLUT width
heightLUT height
depthLUT depth
bytes_per_cellLUT 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_idLUT ID
is_read_onlytrue 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_listerif 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_idimage 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_idLUT 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_idLUT 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:
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends