ifw-ccf 5.0.2
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
ifw::ccf::common::PubBase Class Reference

Class for implementing CCF Data Publishers. More...

#include <pubBase.hpp>

Inheritance diagram for ifw::ccf::common::PubBase:
ifw::ccf::Base ifw::ccf::stdpub::PubDdt ifw::ccf::stdpub::PubFits ifw::ccf::stdpub::PubRtms

Public Member Functions

 PubBase (const std::string &proc_thread_name, const std::string &pub_thread_name)
 
 PubBase ()
 
virtual ~PubBase ()
 
void Initialise ()
 
bool GetInitialised () const
 
void Dismantle ()
 
void SetEnabled (const bool enabled)
 
bool GetEnabled () const
 
const std::string & GetProcThreadName () const
 
const std::string & GetPubId () const
 
const std::string & GetPubThreadName () const
 
void Publish (DataFrame &frame, const bool force)
 
PubType GetPublisherType () const
 
void Activate ()
 
virtual void ActivateUser ()
 
void Deactivate ()
 
virtual void DeactivateUser ()
 
void SetActivated (const bool activated)
 
bool GetActivated () const
 
virtual void CheckForDeactivationUser ()
 
PublisherStatusGetPubStatus ()
 
void EstimateExecution (double &duration, int64_t &nb_of_frames)
 
void GetPubStatus (PublisherStatus &pub_stat) const
 Make a snapshot of the current Publisher Status object.
 
virtual void InitialiseUser ()
 
virtual void DismantleUser ()
 
virtual void PublishUser (DataFrame &frame)
 
virtual void CreateObjectUser (const std::string &proc_thread_name, const std::string &pub_thread_name, PubBase **new_object)
 
virtual void EstimateExecutionUser (double &duration, int64_t &nb_of_frames)
 
void ResetDbStatus () const
 Update status for a given Publisher Thread in the OLDB.
 
void UpdateDbStatus (const bool force_update=false) const
 
std::string ToString () const
 
- Public Member Functions inherited from ifw::ccf::Base
 Base ()
 
 ~Base ()
 
const std::string & GetClassName () const
 Return the allocated name of the class.
 

Static Public Member Functions

static const std::string & GenId (const std::string &proc_thread_name, const std::string &pub_thread_name)
 Generate an ID for the Publisher.
 
template<class TYPE >
static void AddPubFactoryObj (TYPE &pub_factory_obj)
 Static method to register a Data Publisher factory object in the internal registry.
 
static const std::map< std::string, std::shared_ptr< PubBase > > & GetPubFactoryObjs ()
 Generate vector with references to the Publisher Factory Objects registered.
 
static void CreatePubObj (const std::string &class_name, const std::string &proc_thread_name, const std::string &pub_thread_name, PubBase **new_object)
 
static void GetPubObj (const std::string &proc_thread_name, const std::string &pub_thread_name, PubBase **pub_obj, const bool initialise=true)
 
static void GetPubObjs (std::vector< PubBase * > &pub_objs)
 Get reference to all Data Publisher Objects registered.
 
static bool HasPubObj (const std::string &proc_thread_name, const std::string &pub_thread_name, PubBase **pub_obj)
 Check if a Publisher object is defined.
 
static void SetRecTrigger (const double rec_trigger)
 Set the trigger for deferred recording.
 
static double GetRecTrigger ()
 Get the trigger for deferred recording.
 
static void SetDeferredStart (const bool def_start_active)
 Set the deferred start mode.
 
static bool GetDeferredStart ()
 Get the deferred start mode.
 
- Static Public Member Functions inherited from ifw::ccf::Base
static ifw::ccf::mptk::ManagerMptk ()
 Return reference to internal MPTK instance (singleton).
 

Protected Attributes

PubType m_publisher_type
 
bool m_initialised
 
bool m_setup_enabled
 
bool m_stat_active
 

Additional Inherited Members

- Protected Member Functions inherited from ifw::ccf::Base
void SetClassName (const std::string &class_name)
 Set the name of the class in question.
 

Detailed Description

Class for implementing CCF Data Publishers.

Constructor & Destructor Documentation

◆ PubBase() [1/2]

ifw::ccf::common::PubBase::PubBase ( const std::string & proc_thread_name,
const std::string & pub_thread_name )

◆ PubBase() [2/2]

ifw::ccf::common::PubBase::PubBase ( )

◆ ~PubBase()

ifw::ccf::common::PubBase::~PubBase ( )
virtual

Member Function Documentation

◆ Activate()

void ifw::ccf::common::PubBase::Activate ( )

◆ ActivateUser()

void ifw::ccf::common::PubBase::ActivateUser ( )
virtual

Reimplemented in ifw::ccf::stdpub::PubFits.

◆ AddPubFactoryObj()

template<class TYPE >
static void ifw::ccf::common::PubBase::AddPubFactoryObj ( TYPE & pub_factory_obj)
inlinestatic

Static method to register a Data Publisher factory object in the internal registry.

◆ CheckForDeactivationUser()

void ifw::ccf::common::PubBase::CheckForDeactivationUser ( )
virtual

Reimplemented in ifw::ccf::stdpub::PubFits.

◆ CreateObjectUser()

void ifw::ccf::common::PubBase::CreateObjectUser ( const std::string & proc_thread_name,
const std::string & pub_thread_name,
PubBase ** new_object )
virtual

◆ CreatePubObj()

void ifw::ccf::common::PubBase::CreatePubObj ( const std::string & class_name,
const std::string & proc_thread_name,
const std::string & pub_thread_name,
PubBase ** new_object )
static

Static method to allocate and register a Data Publisher of the given type. A factory object of the given type (classname) shall be defined in the factory object registry (see ifw::ccf::common::PubBase::AddPubFactoryObj()). Each Data Publisher object instance shall be allocated before entering operations (data acquisition).

◆ Deactivate()

void ifw::ccf::common::PubBase::Deactivate ( )

◆ DeactivateUser()

void ifw::ccf::common::PubBase::DeactivateUser ( )
virtual

Reimplemented in ifw::ccf::stdpub::PubFits.

◆ Dismantle()

void ifw::ccf::common::PubBase::Dismantle ( )

◆ DismantleUser()

void ifw::ccf::common::PubBase::DismantleUser ( )
virtual

◆ EstimateExecution()

void ifw::ccf::common::PubBase::EstimateExecution ( double & duration,
int64_t & nb_of_frames )

Provide an estimate for the duration and number of frames to be stored during a Recording Session according to the present setup.

◆ EstimateExecutionUser()

void ifw::ccf::common::PubBase::EstimateExecutionUser ( double & duration,
int64_t & nb_of_frames )
virtual

Reimplemented in ifw::ccf::stdpub::PubFits.

◆ GenId()

const std::string & ifw::ccf::common::PubBase::GenId ( const std::string & proc_thread_name,
const std::string & pub_thread_name )
static

Generate an ID for the Publisher.

◆ GetActivated()

bool ifw::ccf::common::PubBase::GetActivated ( ) const

◆ GetDeferredStart()

bool ifw::ccf::common::PubBase::GetDeferredStart ( )
static

Get the deferred start mode.

◆ GetEnabled()

bool ifw::ccf::common::PubBase::GetEnabled ( ) const

◆ GetInitialised()

bool ifw::ccf::common::PubBase::GetInitialised ( ) const

◆ GetProcThreadName()

const std::string & ifw::ccf::common::PubBase::GetProcThreadName ( ) const

◆ GetPubFactoryObjs()

const std::map< std::string, std::shared_ptr< PubBase > > & ifw::ccf::common::PubBase::GetPubFactoryObjs ( )
static

Generate vector with references to the Publisher Factory Objects registered.

◆ GetPubId()

const std::string & ifw::ccf::common::PubBase::GetPubId ( ) const

◆ GetPublisherType()

PubType ifw::ccf::common::PubBase::GetPublisherType ( ) const

◆ GetPubObj()

void ifw::ccf::common::PubBase::GetPubObj ( const std::string & proc_thread_name,
const std::string & pub_thread_name,
PubBase ** pub_obj,
const bool initialise = true )
static

Static method to get the address of a Data Publisher object with the given name and ID. If an object with this name/ID does not exist, it is automatically created. If "initialise" is true (default value), the object is initialised, i.e., the configuration reloaded.

◆ GetPubObjs()

void ifw::ccf::common::PubBase::GetPubObjs ( std::vector< PubBase * > & pub_objs)
static

Get reference to all Data Publisher Objects registered.

◆ GetPubStatus() [1/2]

PublisherStatus & ifw::ccf::common::PubBase::GetPubStatus ( )

Get reference to internal Publisher Status object. Although all set-methods are semaphore protected, it shall be used with care.

◆ GetPubStatus() [2/2]

void ifw::ccf::common::PubBase::GetPubStatus ( PublisherStatus & pub_stat) const

Make a snapshot of the current Publisher Status object.

◆ GetPubThreadName()

const std::string & ifw::ccf::common::PubBase::GetPubThreadName ( ) const

◆ GetRecTrigger()

double ifw::ccf::common::PubBase::GetRecTrigger ( )
static

Get the trigger for deferred recording.

◆ HasPubObj()

bool ifw::ccf::common::PubBase::HasPubObj ( const std::string & proc_thread_name,
const std::string & pub_thread_name,
PubBase ** pub_obj )
static

Check if a Publisher object is defined.

◆ Initialise()

void ifw::ccf::common::PubBase::Initialise ( )

◆ InitialiseUser()

void ifw::ccf::common::PubBase::InitialiseUser ( )
virtual

◆ Publish()

void ifw::ccf::common::PubBase::Publish ( DataFrame & frame,
const bool force )

◆ PublishUser()

void ifw::ccf::common::PubBase::PublishUser ( DataFrame & frame)
virtual

◆ ResetDbStatus()

void ifw::ccf::common::PubBase::ResetDbStatus ( ) const

Update status for a given Publisher Thread in the OLDB.

◆ SetActivated()

void ifw::ccf::common::PubBase::SetActivated ( const bool activated)

◆ SetDeferredStart()

void ifw::ccf::common::PubBase::SetDeferredStart ( const bool def_start_active)
static

Set the deferred start mode.

◆ SetEnabled()

void ifw::ccf::common::PubBase::SetEnabled ( const bool enabled)

◆ SetRecTrigger()

void ifw::ccf::common::PubBase::SetRecTrigger ( const double rec_trigger)
static

Set the trigger for deferred recording.

◆ ToString()

std::string ifw::ccf::common::PubBase::ToString ( ) const

◆ UpdateDbStatus()

void ifw::ccf::common::PubBase::UpdateDbStatus ( const bool force_update = false) const

Member Data Documentation

◆ m_initialised

bool ifw::ccf::common::PubBase::m_initialised
protected

◆ m_publisher_type

PubType ifw::ccf::common::PubBase::m_publisher_type
protected

◆ m_setup_enabled

bool ifw::ccf::common::PubBase::m_setup_enabled
protected

◆ m_stat_active

bool ifw::ccf::common::PubBase::m_stat_active
protected

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