Fawkes API  Fawkes Development Version
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
fawkes::PluginListMessage Class Reference

Plugin list message. More...

#include <>>

Inheritance diagram for fawkes::PluginListMessage:

List of all members.

Public Member Functions

 PluginListMessage ()
 Constructor.
 PluginListMessage (unsigned int component_id, unsigned int msg_id, void *payload, size_t payload_size)
 Message content constructor.
virtual ~PluginListMessage ()
 Destructor.
void append (const char *plugin_name, size_t len)
 Append plugin name.
virtual void serialize ()
 Serialize message content.
void reset_iterator ()
 Reset iterator.
bool has_next ()
 Check if more list elements are available.
char * next ()
 Get next plugin from list.
- Public Member Functions inherited from fawkes::FawkesNetworkMessageContent
 FawkesNetworkMessageContent ()
 Constructor.
virtual ~FawkesNetworkMessageContent ()
 Virtual empty destructor.
virtual void * payload ()
 Return pointer to payload.
virtual size_t payload_size ()
 Return payload size.

Additional Inherited Members

- Protected Member Functions inherited from fawkes::FawkesNetworkMessageContent
void copy_payload (size_t offset, const void *buf, size_t len)
 Copy payload into payload buffer to a specified offset.
- Protected Attributes inherited from fawkes::FawkesNetworkMessageContent
void * _payload
 Pointer to payload.
size_t _payload_size
 Payloda size.

Detailed Description

Plugin list message.

A complex dynamic message with an arbitrary number of plugins. Uses DynamicBuffer for the internal list of plugins and thus the buffer is limited to 64 KB.

Author:
Tim Niemueller

Definition at line 34 of file list_message.h.


Constructor & Destructor Documentation

fawkes::PluginListMessage::PluginListMessage ( )

Constructor.

Definition at line 45 of file list_message.cpp.

References fawkes::plugin_list_msg_t::plugin_list.

fawkes::PluginListMessage::PluginListMessage ( unsigned int  component_id,
unsigned int  msg_id,
void *  payload,
size_t  payload_size 
)

Message content constructor.

This constructor is meant to be used with FawkesNetworkMessage::msgc().

Parameters:
component_idcomponent ID
msg_idmessage ID
payloadmessage payload
payload_sizetotal payload size

Definition at line 58 of file list_message.cpp.

References fawkes::plugin_list_msg_t::plugin_list.

fawkes::PluginListMessage::~PluginListMessage ( )
virtual

Member Function Documentation

void fawkes::PluginListMessage::append ( const char *  plugin_name,
size_t  len 
)

Append plugin name.

Parameters:
plugin_nameplugin name
lenlength in bytes to append (can be used for example to avoid adding a file extension.

Definition at line 90 of file list_message.cpp.

References fawkes::DynamicBuffer::append().

bool fawkes::PluginListMessage::has_next ( )

Check if more list elements are available.

For incoming messages only.

Returns:
true if there are more elements available, false otherwise.

Definition at line 121 of file list_message.cpp.

References fawkes::DynamicBuffer::has_next().

char * fawkes::PluginListMessage::next ( )

Get next plugin from list.

Returns:
next plugin from list. This string has been allocated via strndup, so you have to free it yourself!

Definition at line 132 of file list_message.cpp.

References fawkes::DynamicBuffer::next().

void fawkes::PluginListMessage::reset_iterator ( )

Reset iterator.

For incoming messages only.

Definition at line 110 of file list_message.cpp.

References fawkes::DynamicBuffer::reset_iterator().

void fawkes::PluginListMessage::serialize ( )
virtual

Serialize message content.

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

Implements fawkes::FawkesNetworkMessageContent.

Definition at line 97 of file list_message.cpp.

References fawkes::FawkesNetworkMessageContent::_payload, fawkes::FawkesNetworkMessageContent::_payload_size, fawkes::DynamicBuffer::buffer(), fawkes::DynamicBuffer::buffer_size(), and fawkes::FawkesNetworkMessageContent::copy_payload().


The documentation for this class was generated from the following files: