24 #include <core/exceptions/software.h>
25 #include <fvutils/net/fuse_imagelist_content.h>
26 #include <netcomm/utils/dynamic_buffer.h>
27 #include <netinet/in.h>
34 namespace firevision {
48 FuseImageListContent::FuseImageListContent()
63 FuseImageListContent::FuseImageListContent(uint32_t type,
void *payload,
size_t payload_size)
65 if (type != FUSE_MT_IMAGE_LIST) {
78 FuseImageListContent::~FuseImageListContent()
92 FuseImageListContent::add_imageinfo(
const char * image_id,
93 colorspace_t colorspace,
94 unsigned int pixel_width,
95 unsigned int pixel_height)
98 memset(&imageinfo, 0,
sizeof(imageinfo));
100 strncpy(imageinfo.
image_id, image_id, IMAGE_ID_MAX_LENGTH - 1);
102 imageinfo.
width = htonl(pixel_width);
103 imageinfo.
height = htonl(pixel_height);
104 imageinfo.
buffer_size = htonl(colorspace_buffer_size(colorspace, pixel_width, pixel_height));
106 list_->append(&imageinfo,
sizeof(imageinfo));
111 FuseImageListContent::reset_iterator()
113 list_->reset_iterator();
120 FuseImageListContent::has_next()
122 return list_->has_next();
131 FuseImageListContent::next()
134 void * tmp = list_->next(&size);
144 FuseImageListContent::serialize()
147 _payload = malloc(_payload_size);