Fawkes API Fawkes Development Version

firevision::FuseMessageContent Class Reference

FUSE message content. More...

#include <>>

Inheritance diagram for firevision::FuseMessageContent:

List of all members.

Public Member Functions

 FuseMessageContent ()
 Constructor.
virtual ~FuseMessageContent ()
 Virtual empty destructor.
virtual void serialize ()=0
 Serialize message content.
virtual void * payload () const
 Return pointer to payload.
virtual size_t payload_size () const
 Return payload size.
void free_payload ()
 Free message payload.

Protected Member Functions

void copy_payload (size_t offset, void *buf, size_t len)
 Copy payload into payload buffer to a specified offset.

Protected Attributes

void * _payload
 Pointer to payload.
size_t _payload_size
 Payloda size.

Detailed Description

FUSE message content.

Interface for complex FUSE network messages. Use this type if you want either a nicer interface to your network message or if you need a more complex kind of message type, for example by using DynamicBuffer.

Implement all accessor methods that you need and add any data you want. In the end you have to implement serialize() to create a single contiguous buffer that contains all the data that has to be sent. Make _payload point to this buffer and _payload_size contain the size of the buffer.

See also:
DynamicBuffer
Author:
Tim Niemueller

Definition at line 34 of file fuse_message_content.h.


Constructor & Destructor Documentation

firevision::FuseMessageContent::FuseMessageContent ( )

Constructor.

Definition at line 58 of file fuse_message_content.cpp.

firevision::FuseMessageContent::~FuseMessageContent ( ) [virtual]

Virtual empty destructor.

Definition at line 66 of file fuse_message_content.cpp.


Member Function Documentation

void firevision::FuseMessageContent::copy_payload ( size_t  offset,
void *  buf,
size_t  len 
) [protected]

Copy payload into payload buffer to a specified offset.

This assumes that you have made sure that the buffer is big enough!

Parameters:
offsetoffset in _payload where to copy the data to
bufbuffer to copy from
lennumber of bytes to copy from buf

Definition at line 109 of file fuse_message_content.cpp.

void firevision::FuseMessageContent::free_payload ( )

Free message payload.

Definition at line 118 of file fuse_message_content.cpp.

void * firevision::FuseMessageContent::payload ( ) const [virtual]

Return pointer to payload.

Returns:
pointer to payload
Exceptions:
NullPointerExceptionthrown if _payload does not point to a valid buffer or if _payload_size is zero.

Definition at line 77 of file fuse_message_content.cpp.

size_t firevision::FuseMessageContent::payload_size ( ) const [virtual]

Return payload size.

Returns:
payload size
Exceptions:
NullPointerExceptionthrown if _payload does not point to a valid buffer or if _payload_size is zero.

Definition at line 93 of file fuse_message_content.cpp.

void firevision::FuseMessageContent::serialize ( ) [pure virtual]

Serialize message content.

Generate a single contiguous buffer. Make _payload point to this buffer and _payload_size contain the size of the buffer.

Implemented in firevision::FuseImageContent, firevision::FuseImageListContent, firevision::FuseLutContent, and firevision::FuseLutListContent.


Member Data Documentation

Pointer to payload.

Definition at line 51 of file fuse_message_content.h.

Payloda size.

Definition at line 53 of file fuse_message_content.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends