00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef __FIREVISION_FVUTILS_NET_FUSE_LUT_CONTENT_H_
00025 #define __FIREVISION_FVUTILS_NET_FUSE_LUT_CONTENT_H_
00026
00027 #include <fvutils/net/fuse.h>
00028 #include <fvutils/net/fuse_message_content.h>
00029 #include <sys/types.h>
00030
00031 namespace firevision {
00032 #if 0
00033 }
00034 #endif
00035
00036 class SharedMemoryLookupTable;
00037
00038 class FuseLutContent : public FuseMessageContent
00039 {
00040 public:
00041 FuseLutContent(const char *lut_id, void *buffer,
00042 unsigned int width, unsigned int height,
00043 unsigned int depth, unsigned int bpc);
00044 FuseLutContent(SharedMemoryLookupTable *l);
00045 FuseLutContent(uint32_t type, void *payload, size_t payload_size);
00046 virtual ~FuseLutContent();
00047
00048 const char * lut_id() const;
00049 unsigned char * buffer() const;
00050 size_t buffer_size() const;
00051 unsigned int width() const;
00052 unsigned int height() const;
00053 unsigned int depth() const;
00054 unsigned int bytes_per_cell() const;
00055
00056 virtual void serialize();
00057
00058 private:
00059 char *__lut_id;
00060 unsigned char *__buffer;
00061 size_t __buffer_size;
00062 FUSE_lut_message_header_t *__header;
00063 };
00064
00065 }
00066
00067 #endif