Fawkes API  Fawkes Development Version
fawkes::PluginListMessage Class Reference

Plugin list message. More...

#include <>>

Inheritance diagram for fawkes::PluginListMessage:

Public Member Functions

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

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. More...
 
- Protected Attributes inherited from fawkes::FawkesNetworkMessageContent
void * _payload
 Pointer to payload. More...
 
size_t _payload_size
 Payloda size. More...
 

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

◆ PluginListMessage() [1/2]

fawkes::PluginListMessage::PluginListMessage ( )

Constructor.

Definition at line 45 of file list_message.cpp.

References fawkes::plugin_list_msg_t::plugin_list.

◆ PluginListMessage() [2/2]

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.

◆ ~PluginListMessage()

fawkes::PluginListMessage::~PluginListMessage ( )
virtual

Member Function Documentation

◆ append()

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().

Referenced by fawkes::PluginNetworkHandler::~PluginNetworkHandler().

◆ has_next()

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().

Referenced by PluginTool::handle_signal(), and fawkes::PluginTreeView::set_gconf_prefix().

◆ 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().

Referenced by PluginTool::handle_signal(), and fawkes::PluginTreeView::set_gconf_prefix().

◆ reset_iterator()

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().

◆ serialize()

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: