Public Member Functions | Private Attributes | List of all members
urcl::comm::URProducer< T > Class Template Reference

A general producer for URPackages. Implements funcionality to produce packages by reading and parsing from a byte stream. More...

#include <producer.h>

Inheritance diagram for urcl::comm::URProducer< T >:
Inheritance graph
[legend]

Public Member Functions

void setupProducer () override
 Triggers the stream to connect to the robot. More...
 
void startProducer () override
 
void stopProducer () override
 Stops the producer. Currently no functionality needed. More...
 
void teardownProducer () override
 Tears down the producer. Currently no special handling needed. More...
 
bool tryGet (std::vector< std::unique_ptr< T >> &products) override
 Attempts to read byte stream from the robot and parse it as a URPackage. More...
 
 URProducer (URStream< T > &stream, Parser< T > &parser)
 Creates a URProducer object, registering a stream and a parser. More...
 

Private Attributes

Parser< T > & parser_
 
bool running_
 
URStream< T > & stream_
 
std::chrono::seconds timeout_
 

Detailed Description

template<typename T>
class urcl::comm::URProducer< T >

A general producer for URPackages. Implements funcionality to produce packages by reading and parsing from a byte stream.

Template Parameters
HeaderTHeader type of packages to produce.

Definition at line 40 of file producer.h.

Constructor & Destructor Documentation

template<typename T>
urcl::comm::URProducer< T >::URProducer ( URStream< T > &  stream,
Parser< T > &  parser 
)
inline

Creates a URProducer object, registering a stream and a parser.

Parameters
streamThe stream to read from
parserThe parser to use to interpret received byte information

Definition at line 56 of file producer.h.

Member Function Documentation

template<typename T>
void urcl::comm::URProducer< T >::setupProducer ( )
inlineoverridevirtual

Triggers the stream to connect to the robot.

Reimplemented from urcl::comm::IProducer< T >.

Definition at line 63 of file producer.h.

template<typename T>
void urcl::comm::URProducer< T >::startProducer ( )
inlineoverridevirtual

Reimplemented from urcl::comm::IProducer< T >.

Definition at line 89 of file producer.h.

template<typename T>
void urcl::comm::URProducer< T >::stopProducer ( )
inlineoverridevirtual

Stops the producer. Currently no functionality needed.

Reimplemented from urcl::comm::IProducer< T >.

Definition at line 84 of file producer.h.

template<typename T>
void urcl::comm::URProducer< T >::teardownProducer ( )
inlineoverridevirtual

Tears down the producer. Currently no special handling needed.

Reimplemented from urcl::comm::IProducer< T >.

Definition at line 77 of file producer.h.

template<typename T>
bool urcl::comm::URProducer< T >::tryGet ( std::vector< std::unique_ptr< T >> &  products)
inlineoverridevirtual

Attempts to read byte stream from the robot and parse it as a URPackage.

Parameters
productsUnique pointer to hold the produced package
Returns
Success of reading and parsing the package

Implements urcl::comm::IProducer< T >.

Definition at line 101 of file producer.h.

Member Data Documentation

template<typename T>
Parser<T>& urcl::comm::URProducer< T >::parser_
private

Definition at line 44 of file producer.h.

template<typename T>
bool urcl::comm::URProducer< T >::running_
private

Definition at line 47 of file producer.h.

template<typename T>
URStream<T>& urcl::comm::URProducer< T >::stream_
private

Definition at line 43 of file producer.h.

template<typename T>
std::chrono::seconds urcl::comm::URProducer< T >::timeout_
private

Definition at line 45 of file producer.h.


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


ur_client_library
Author(s): Thomas Timm Andersen, Simon Rasmussen, Felix Exner, Lea Steffen, Tristan Schnell
autogenerated on Sun May 9 2021 02:16:26