Fawkes API  Fawkes Development Version
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.

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

Constructor & Destructor Documentation

fawkes::PluginListMessage::PluginListMessage ( )

Constructor.

Definition at line 44 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 57 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 89 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 120 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 131 of file list_message.cpp.

References fawkes::DynamicBuffer::next().

void fawkes::PluginListMessage::reset_iterator ( )

Reset iterator.

For incoming messages only.

Definition at line 109 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 96 of file list_message.cpp.

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


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