23#ifndef _PLUGINS_BBLOGGER_LOG_THREAD_H_
24#define _PLUGINS_BBLOGGER_LOG_THREAD_H_
26#include <aspect/blackboard.h>
27#include <aspect/clock.h>
28#include <aspect/configurable.h>
29#include <aspect/logging.h>
30#include <blackboard/interface_listener.h>
31#include <core/threading/thread.h>
32#include <core/threading/thread_list.h>
33#include <core/utils/lock_queue.h>
34#include <utils/uuid.h>
58 const char * scenario,
89 void write_chunk(
const void *chunk);
94 unsigned int num_data_items_;
95 unsigned int session_start_;
117 unsigned int act_queue_;
BlackBoard logger thread.
virtual ~BBLoggerThread()
Destructor.
virtual void run()
Stub to see name in backtrace for easier debugging.
virtual void init()
Initialize the thread.
const char * get_filename() const
Get filename.
virtual void bb_interface_data_refreshed(fawkes::Interface *interface) noexcept
BlackBoard data refreshed notification.
virtual void finalize()
Finalize the thread.
virtual void bb_interface_writer_added(fawkes::Interface *interface, fawkes::Uuid instance_serial) noexcept
A writing instance has been opened for a watched interface.
void set_threadlist(fawkes::ThreadList &thread_list)
Set threadlist and master status.
virtual void loop()
Code to execute in the thread.
virtual bool bb_interface_message_received(fawkes::Interface *interface, fawkes::Message *message) noexcept
BlackBoard message received notification.
BBLoggerThread(const char *iface_uid, const char *logdir, bool buffering, bool flushing, const char *scenario, fawkes::Time *start_time)
Constructor.
virtual void bb_interface_writer_removed(fawkes::Interface *interface, fawkes::Uuid instance_serial) noexcept
A writing instance has been closed for a watched interface.
void set_enabled(bool enabled)
Enable or disable logging.
Thread aspect to access to BlackBoard.
BlackBoard interface listener.
Thread aspect that allows to obtain the current time from the clock.
Thread aspect to access configuration data.
Base class for all Fawkes BlackBoard interfaces.
Thread aspect to log output.
Base class for all messages passed through interfaces in Fawkes BlackBoard.
Mutex mutual exclusion lock.
SwitchInterface Fawkes BlackBoard Interface.
Thread class encapsulation of pthreads.
A class for handling time.
A convenience class for universally unique identifiers (UUIDs).
Fawkes library namespace.