Signals | Public Member Functions | Private Attributes | List of all members
PJ::DataStreamer Class Referenceabstract

The DataStreamer base class to create your own plugin. More...

#include <datastreamer_base.h>

Inheritance diagram for PJ::DataStreamer:
Inheritance graph
[legend]

Signals

void clearBuffers ()
 
void closed ()
 
void dataReceived ()
 

Public Member Functions

MessageParserFactoryavailableParsers ()
 
PlotDataMapRefdataMap ()
 
const PlotDataMapRefdataMap () const
 
 DataStreamer ()
 
virtual bool isRunning () const =0
 
std::mutex & mutex ()
 
void setAvailableParsers (MessageParserFactory *parsers)
 
void setMaximumRange (double range)
 
virtual void shutdown ()=0
 
virtual bool start (QStringList *)=0
 
virtual ~DataStreamer ()=default
 
- Public Member Functions inherited from PJ::PlotJugglerPlugin
virtual const std::vector< QAction * > & availableActions ()
 
virtual bool isDebugPlugin ()
 
virtual const char * name () const =0
 
virtual QWidget * optionsWidget ()
 
 PlotJugglerPlugin ()
 
virtual bool xmlLoadState (const QDomElement &parent_element)
 
virtual bool xmlSaveState (QDomDocument &doc, QDomElement &parent_element) const
 
QDomElement xmlSaveState (QDomDocument &doc) const
 

Private Attributes

MessageParserFactory_available_parsers
 
PlotDataMapRef _data_map
 
std::mutex _mutex
 
QAction * _start_streamer
 

Detailed Description

The DataStreamer base class to create your own plugin.

Important. To avoid problems with thread safety, it is important that ANY update to dataMap(), which share its elements with the main application, is protected by the mutex()

In particular the periodic updates.

Definition at line 20 of file datastreamer_base.h.

Constructor & Destructor Documentation

PJ::DataStreamer::DataStreamer ( )
inline

Definition at line 25 of file datastreamer_base.h.

virtual PJ::DataStreamer::~DataStreamer ( )
virtualdefault

Member Function Documentation

MessageParserFactory* PJ::DataStreamer::availableParsers ( )
inline

Definition at line 57 of file datastreamer_base.h.

void PJ::DataStreamer::clearBuffers ( )
signal
void PJ::DataStreamer::closed ( )
signal
PlotDataMapRef& PJ::DataStreamer::dataMap ( )
inline

Definition at line 42 of file datastreamer_base.h.

const PlotDataMapRef& PJ::DataStreamer::dataMap ( ) const
inline

Definition at line 47 of file datastreamer_base.h.

void PJ::DataStreamer::dataReceived ( )
signal
virtual bool PJ::DataStreamer::isRunning ( ) const
pure virtual
std::mutex& PJ::DataStreamer::mutex ( )
inline

Definition at line 35 of file datastreamer_base.h.

void PJ::DataStreamer::setAvailableParsers ( MessageParserFactory parsers)
inline

Definition at line 52 of file datastreamer_base.h.

void PJ::DataStreamer::setMaximumRange ( double  range)
inline

Definition at line 84 of file datastreamer_base.h.

virtual void PJ::DataStreamer::shutdown ( )
pure virtual
virtual bool PJ::DataStreamer::start ( QStringList *  )
pure virtual

Member Data Documentation

MessageParserFactory* PJ::DataStreamer::_available_parsers
private

Definition at line 81 of file datastreamer_base.h.

PlotDataMapRef PJ::DataStreamer::_data_map
private

Definition at line 79 of file datastreamer_base.h.

std::mutex PJ::DataStreamer::_mutex
private

Definition at line 78 of file datastreamer_base.h.

QAction* PJ::DataStreamer::_start_streamer
private

Definition at line 80 of file datastreamer_base.h.


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


plotjuggler
Author(s): Davide Faconti
autogenerated on Sun Dec 6 2020 04:02:52