HLCC Documentation 2.2.0
Loading...
Searching...
No Matches
Public Member Functions | List of all members
hlcc::oldbmux::ObservablePublisher< T > Class Template Reference

#include <observablePublisher.hpp>

Public Member Functions

 ObservablePublisher (std::unique_ptr<::elt::mal::ps::Publisher< T > > malpub, bool use_malpub=true)
 
void AddObserver (ObsCallback observer_function)
 
void AddObserver (ObsCallbackWithTimestamp observer_function)
 
void AddObserver (ObsCallbackWithDpQuality observer_function)
 
void AddObserver (ObsCallbackWithTimestampAndDpQuality observer_function)
 
std::shared_ptr< T > createDataEntity ()
 
PublishingTimeElapsed Publish (const T &data, const std::chrono::milliseconds &timeout, const taiclock::TaiClock::time_point &timestamp=taiclock::TaiClock::now(), const elt::oldb::CiiOldbDpQuality &dp_quality=elt::oldb::CiiOldbDpQuality::OK) const
 

Detailed Description

template<typename T>
class hlcc::oldbmux::ObservablePublisher< T >

We use ObservablePublisher to publish data both on CII pub-sub, and also to OLDB using lambdas that access all or parts of the pub/sub data.

Constructor & Destructor Documentation

◆ ObservablePublisher()

template<typename T >
hlcc::oldbmux::ObservablePublisher< T >::ObservablePublisher ( std::unique_ptr<::elt::mal::ps::Publisher< T > > malpub,
bool use_malpub = true )
explicit
Parameters
malpubThe MAL publisher to which we delegate.
use_malpubIf false, then malpub does not get used for publishing, but possibly still gets used in method createDataEntity(). The idea is to suppress publishing in certain cases, where still ObservablePublisher should be used.

Member Function Documentation

◆ AddObserver() [1/4]

template<typename T >
void hlcc::oldbmux::ObservablePublisher< T >::AddObserver ( ObsCallback observer_function)

◆ AddObserver() [2/4]

template<typename T >
void hlcc::oldbmux::ObservablePublisher< T >::AddObserver ( ObsCallbackWithDpQuality observer_function)

◆ AddObserver() [3/4]

template<typename T >
void hlcc::oldbmux::ObservablePublisher< T >::AddObserver ( ObsCallbackWithTimestamp observer_function)

◆ AddObserver() [4/4]

template<typename T >
void hlcc::oldbmux::ObservablePublisher< T >::AddObserver ( ObsCallbackWithTimestampAndDpQuality observer_function)

◆ createDataEntity()

template<typename T >
std::shared_ptr< T > hlcc::oldbmux::ObservablePublisher< T >::createDataEntity ( )

◆ Publish()

template<typename T >
PublishingTimeElapsed hlcc::oldbmux::ObservablePublisher< T >::Publish ( const T & data,
const std::chrono::milliseconds & timeout,
const taiclock::TaiClock::time_point & timestamp = taiclock::TaiClock::now(),
const elt::oldb::CiiOldbDpQuality & dp_quality = elt::oldb::CiiOldbDpQuality::OK ) const

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