Fawkes API  Fawkes Development Version
fawkes::ConfigListContent Class Reference

Config list content. More...

#include <>>

Inheritance diagram for fawkes::ConfigListContent:

Public Member Functions

 ConfigListContent ()
 Constructor. More...
 
 ConfigListContent (unsigned int component_id, unsigned int msg_id, void *payload, size_t payload_size)
 Message content constructor. More...
 
virtual ~ConfigListContent ()
 Destructor. More...
 
void append (Configuration::ValueIterator *i)
 Append from iterator. 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...
 
config_list_entity_header_tnext (size_t *size)
 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

Config list content.

A complex dynamic message with an arbitrary number of config entities. Uses DynamicBuffer for the internal list of plugins and thus the buffer is limited to 4 GB in total.

Author
Tim Niemueller

Definition at line 35 of file net_list_content.h.

Constructor & Destructor Documentation

◆ ConfigListContent() [1/2]

fawkes::ConfigListContent::ConfigListContent ( )

Constructor.

Definition at line 44 of file net_list_content.cpp.

References fawkes::config_list_msg_t::config_list.

◆ ConfigListContent() [2/2]

fawkes::ConfigListContent::ConfigListContent ( 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 net_list_content.cpp.

References fawkes::config_list_msg_t::config_list.

◆ ~ConfigListContent()

fawkes::ConfigListContent::~ConfigListContent ( )
virtual

Member Function Documentation

◆ append()

void fawkes::ConfigListContent::append ( Configuration::ValueIterator i)

◆ has_next()

bool fawkes::ConfigListContent::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 217 of file net_list_content.cpp.

References fawkes::DynamicBuffer::has_next().

Referenced by fawkes::NetworkConfiguration::inbound_received().

◆ next()

config_list_entity_header_t * fawkes::ConfigListContent::next ( size_t *  size)

Get next plugin from list.

Parameters
sizeupon return contains the size of the returned data element.
Returns
next config entitiy from the list. The value is only of the type of the header. Check the message type and the size and cast the message to the correct entity.

Definition at line 230 of file net_list_content.cpp.

References fawkes::DynamicBuffer::next().

Referenced by fawkes::NetworkConfiguration::inbound_received().

◆ reset_iterator()

void fawkes::ConfigListContent::reset_iterator ( )

Reset iterator.

For incoming messages only.

Definition at line 206 of file net_list_content.cpp.

References fawkes::DynamicBuffer::reset_iterator().

◆ serialize()

void fawkes::ConfigListContent::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 193 of file net_list_content.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: