24 #ifndef __FIREVISION_FVUTILS_IPC_SHM_IMAGE_H_ 25 #define __FIREVISION_FVUTILS_IPC_SHM_IMAGE_H_ 27 #include <utils/ipc/shm.h> 28 #include <utils/ipc/shm_lister.h> 29 #include <utils/time/time.h> 31 #include <fvutils/ipc/defs.h> 32 #include <fvutils/color/colorspaces.h> 37 #define FIREVISION_SHM_IMAGE_MAGIC_TOKEN "FireVision Image" 47 char image_id[IMAGE_ID_MAX_LENGTH];
48 char frame_id[FRAME_ID_MAX_LENGTH];
82 virtual bool matches(
void *memptr);
83 virtual size_t size();
87 virtual void set(
void *memptr);
95 unsigned int width()
const;
96 unsigned int height()
const;
105 colorspace_t _colorspace;
107 unsigned int _height;
109 char *_orig_image_id;
110 char *_orig_frame_id;
111 colorspace_t _orig_colorspace;
112 unsigned int _orig_width;
113 unsigned int _orig_height;
125 virtual void print_header();
126 virtual void print_footer();
127 virtual void print_no_segments();
128 virtual void print_no_orphaned_segments();
130 int shm_id,
int semaphore,
131 unsigned int mem_size,
150 colorspace_t colorspace,
unsigned int width,
unsigned int height,
151 size_t mem_size,
bool mem_swapable,
bool mem_destroyed);
162 virtual void print_header();
163 virtual void print_footer();
164 virtual void print_no_segments();
165 virtual void print_no_orphaned_segments();
167 int shm_id,
int semaphore,
168 unsigned int mem_size,
173 std::list<SharedMemoryImageBufferMetaData> &
177 std::list<SharedMemoryImageBufferMetaData> meta_data_;
193 unsigned char * buffer()
const;
195 unsigned int width()
const;
196 unsigned int height()
const;
197 unsigned int roi_x()
const;
198 unsigned int roi_y()
const;
199 unsigned int roi_width()
const;
200 unsigned int roi_height()
const;
201 int circle_x()
const;
202 int circle_y()
const;
203 unsigned int circle_radius()
const;
204 bool circle_found()
const;
205 void set_roi_x(
unsigned int roi_x);
206 void set_roi_y(
unsigned int roi_y);
207 void set_roi_width(
unsigned int roi_w);
208 void set_roi_height(
unsigned int roi_h);
209 void set_roi(
unsigned int roi_x,
unsigned int roi_y,
210 unsigned int roi_w,
unsigned int roi_h);
211 void set_circle_x(
int circle_x);
212 void set_circle_y(
int circle_y);
213 void set_circle_radius(
unsigned int circle_radius);
214 void set_circle(
int x,
int y,
unsigned int r);
215 void set_circle_found(
bool found);
220 void capture_time(
long int *sec,
long int *usec)
const;
222 void set_capture_time(
long int sec,
long int usec);
225 static void cleanup(
bool use_lister =
true);
226 static bool exists(
const char *image_id);
227 static void wipe(
const char *image_id);
229 static std::list<SharedMemoryImageBufferMetaData> list_meta_data();
232 void constructor(
const char *image_id, colorspace_t cspace,
233 unsigned int width,
unsigned int height,
240 colorspace_t _colorspace;
242 unsigned int _height;
A class for handling time.
Shared memory image buffer.
Format list output for shared memory segments.
Shared memory image buffer lister.