ifw-ccf  1.0.0
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
ccf::common::RecipeBase Class Reference

Processing Recipe base class. All recipes shall be derived from this class. More...

#include <recipeBase.hpp>

Inheritance diagram for ccf::common::RecipeBase:
ccf::common::Base ccf::stdrecipe::RecipeCentroid

Public Member Functions

 RecipeBase (const uint16_t proc_thread_nb, const uint16_t recipe_nb, const std::string &recipe_name)
 Constructor instantiating a recipe object with the given Processing Thread and Recipe number and recipe name. More...
 
 RecipeBase ()
 
virtual ~RecipeBase ()
 
void Initialise ()
 Initalise the object. Invoked after creating a new object from the factory object. More...
 
virtual void InitialiseUser ()
 Initialise the recipe object. See "Initialise()". More...
 
bool GetInitialised () const
 Return flag indicating if the recipe object has been initialised. More...
 
const std::string & GetRecipeId () const
 Get the ID of the recipe. More...
 
const std::string & GetRecipeName () const
 Get the name of the recipe. More...
 
uint16_t GetProcThreadNb () const
 Return the number of the Processing Thread to which this recipe object belongs. More...
 
uint16_t GetRecipeNb () const
 Return the number of the Recipe to. More...
 
const std::string & GetDbPath () const
 Get the reference to the DB base path for ths recipe. More...
 
const std::string & GetKeyPrefix () const
 Get the key prefix for this recipe, e.g. "proc1.recipe1". More...
 
const std::string GenKey (const std::string &name) const
 Generate a fully qualified key name, e.g. "proc1.recipe1.par". More...
 
void Process (DataFrame &frame)
 Execute the processing of the given frame. More...
 
void Enable ()
 Enable the recipe so that it will be invoked by the Processing Thread to which it belongs. More...
 
virtual void EnableUser ()
 
void Disable ()
 Disable the recipe so that it will no longer be invoked by the Processing Thread to which it belongs. More...
 
virtual void DisableUser ()
 
bool GetEnabled () const
 Return the enabled status of the recipe. More...
 
virtual void ProcessUser (DataFrame &frame)
 User specific processing. More...
 
virtual void CreateObjectUser (const uint16_t proc_thread_nb, const uint16_t recipe_nb, const std::string &recipe_name, RecipeBase **new_object)
 Instantiate a specific instance of the object. More...
 
void SetStatus (const ProcStatus status)
 Update status for a given Publisher Thread in the OLDB. More...
 
ProcStatus GetStatus () const
 Get status of the recipe object. More...
 
- Public Member Functions inherited from ccf::common::Base
 Base ()
 
 ~Base ()
 
const std::string & GetClassName () const
 Return the allocated name of the class. More...
 

Static Public Member Functions

static const std::string & GenId (const uint16_t proc_thread_nb, const uint16_t recipe_nb)
 Generate the ID for this recipe from the Processing Thread and Recipe number. More...
 
static void AddRecipeFactoryObj (RecipeBase &recipe_factory_obj)
 Static method to register a Data Publisher factory object in the internal registry. More...
 
static void GetRecipeFactoryObjs (std::vector< RecipeBase * > &recipe_factory_objs)
 Statis method to retrieve references to the Recipe Factory Objects. More...
 
static void CreateRecipeObj (const std::string &class_name, const uint16_t proc_thread_nb, const uint16_t recipe_nb, const std::string recipe_name, RecipeBase **new_obj)
 
static void GetRecipeObj (const uint16_t proc_thread_nb, const uint16_t recipe_nb, RecipeBase **recipe_obj, const bool initialise=true)
 
static void GetRecipeObjs (std::vector< RecipeBase * > &recipe_objs)
 Get reference to all Processing Recipe objects registered. More...
 
static bool HasRecipeObj (const uint16_t proc_thread_nb, const uint16_t recipe_nb, RecipeBase **recipe_obj)
 Check if a Proc Recipe object is defined. More...
 
static void FreeRecipeObjs ()
 
static void FreeRecipeFactoryObjs ()
 
- Static Public Member Functions inherited from ccf::common::Base
static ccf::mptk::ManagerMptk ()
 Return reference to internal MPTK instance (singleton). More...
 
static void SetLogLevel (const ccf::common::LogLevel log_level)
 Set the log level. More...
 
static ccf::common::LogLevel GetLogLevel ()
 Return the current CCF log level. More...
 

Protected Member Functions

void SetEnabled (const bool enabled)
 Set the enabled status flag of the recipe object. More...
 
void DisableRecipe ()
 Disable the recipe so that it will not be invoked. More...
 
- Protected Member Functions inherited from ccf::common::Base
void SetClassName (const std::string &class_name)
 Set the name of the class in question. More...
 

Detailed Description

Processing Recipe base class. All recipes shall be derived from this class.

Constructor & Destructor Documentation

◆ RecipeBase() [1/2]

ccf::common::RecipeBase::RecipeBase ( const uint16_t  proc_thread_nb,
const uint16_t  recipe_nb,
const std::string &  recipe_name 
)

Constructor instantiating a recipe object with the given Processing Thread and Recipe number and recipe name.

◆ RecipeBase() [2/2]

ccf::common::RecipeBase::RecipeBase ( )

◆ ~RecipeBase()

ccf::common::RecipeBase::~RecipeBase ( )
virtual

Member Function Documentation

◆ AddRecipeFactoryObj()

void ccf::common::RecipeBase::AddRecipeFactoryObj ( RecipeBase recipe_factory_obj)
static

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

◆ CreateObjectUser()

void ccf::common::RecipeBase::CreateObjectUser ( const uint16_t  proc_thread_nb,
const uint16_t  recipe_nb,
const std::string &  recipe_name,
RecipeBase **  new_object 
)
virtual

Instantiate a specific instance of the object.

Reimplemented in ccf::stdrecipe::RecipeCentroid.

◆ CreateRecipeObj()

void ccf::common::RecipeBase::CreateRecipeObj ( const std::string &  class_name,
const uint16_t  proc_thread_nb,
const uint16_t  recipe_nb,
const std::string  recipe_name,
RecipeBase **  new_obj 
)
static

Static method to allocate and register a Processing Recipe factory object of the given type. A factory object of the given type (classname) shall be defined in the factory object registry (see ccf::common::RecipeBase::AddRecipeFactoryObj()). Each Processing Recipe object instance shall be allocated before entering operations (data acquisition).

◆ Disable()

void ccf::common::RecipeBase::Disable ( )

Disable the recipe so that it will no longer be invoked by the Processing Thread to which it belongs.

◆ DisableRecipe()

void ccf::common::RecipeBase::DisableRecipe ( )
protected

Disable the recipe so that it will not be invoked.

◆ DisableUser()

void ccf::common::RecipeBase::DisableUser ( )
virtual

Specific implement of disable method. Need normally not be implemented by the user.

Reimplemented in ccf::stdrecipe::RecipeCentroid.

◆ Enable()

void ccf::common::RecipeBase::Enable ( )

Enable the recipe so that it will be invoked by the Processing Thread to which it belongs.

◆ EnableUser()

void ccf::common::RecipeBase::EnableUser ( )
virtual

Specific implement of enable method. Need normally not be implemented by the user.

Reimplemented in ccf::stdrecipe::RecipeCentroid.

◆ FreeRecipeFactoryObjs()

void ccf::common::RecipeBase::FreeRecipeFactoryObjs ( )
static

Free the allocated recipe factory objects. Used internally by CCF.

◆ FreeRecipeObjs()

void ccf::common::RecipeBase::FreeRecipeObjs ( )
static

Free the allocated recipe objects. Used internally by CCF.

◆ GenId()

const std::string & ccf::common::RecipeBase::GenId ( const uint16_t  proc_thread_nb,
const uint16_t  recipe_nb 
)
static

Generate the ID for this recipe from the Processing Thread and Recipe number.

◆ GenKey()

const std::string ccf::common::RecipeBase::GenKey ( const std::string &  name) const

Generate a fully qualified key name, e.g. "proc1.recipe1.par".

◆ GetDbPath()

const std::string & ccf::common::RecipeBase::GetDbPath ( ) const

Get the reference to the DB base path for ths recipe.

◆ GetEnabled()

bool ccf::common::RecipeBase::GetEnabled ( ) const

Return the enabled status of the recipe.

◆ GetInitialised()

bool ccf::common::RecipeBase::GetInitialised ( ) const

Return flag indicating if the recipe object has been initialised.

◆ GetKeyPrefix()

const std::string & ccf::common::RecipeBase::GetKeyPrefix ( ) const

Get the key prefix for this recipe, e.g. "proc1.recipe1".

◆ GetProcThreadNb()

uint16_t ccf::common::RecipeBase::GetProcThreadNb ( ) const

Return the number of the Processing Thread to which this recipe object belongs.

◆ GetRecipeFactoryObjs()

void ccf::common::RecipeBase::GetRecipeFactoryObjs ( std::vector< RecipeBase * > &  recipe_factory_objs)
static

Statis method to retrieve references to the Recipe Factory Objects.

◆ GetRecipeId()

const std::string & ccf::common::RecipeBase::GetRecipeId ( ) const

Get the ID of the recipe.

◆ GetRecipeName()

const std::string & ccf::common::RecipeBase::GetRecipeName ( ) const

Get the name of the recipe.

◆ GetRecipeNb()

uint16_t ccf::common::RecipeBase::GetRecipeNb ( ) const

Return the number of the Recipe to.

◆ GetRecipeObj()

void ccf::common::RecipeBase::GetRecipeObj ( const uint16_t  proc_thread_nb,
const uint16_t  recipe_nb,
RecipeBase **  recipe_obj,
const bool  initialise = true 
)
static

Static method to get the address of a Processing Recipe 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.

◆ GetRecipeObjs()

void ccf::common::RecipeBase::GetRecipeObjs ( std::vector< RecipeBase * > &  recipe_objs)
static

Get reference to all Processing Recipe objects registered.

◆ GetStatus()

ProcStatus ccf::common::RecipeBase::GetStatus ( ) const

Get status of the recipe object.

◆ HasRecipeObj()

bool ccf::common::RecipeBase::HasRecipeObj ( const uint16_t  proc_thread_nb,
const uint16_t  recipe_nb,
RecipeBase **  recipe_obj 
)
static

Check if a Proc Recipe object is defined.

◆ Initialise()

void ccf::common::RecipeBase::Initialise ( )

Initalise the object. Invoked after creating a new object from the factory object.

◆ InitialiseUser()

void ccf::common::RecipeBase::InitialiseUser ( )
virtual

Initialise the recipe object. See "Initialise()".

Reimplemented in ccf::stdrecipe::RecipeCentroid.

◆ Process()

void ccf::common::RecipeBase::Process ( DataFrame frame)

Execute the processing of the given frame.

◆ ProcessUser()

void ccf::common::RecipeBase::ProcessUser ( DataFrame frame)
virtual

User specific processing.

Reimplemented in ccf::stdrecipe::RecipeCentroid.

◆ SetEnabled()

void ccf::common::RecipeBase::SetEnabled ( const bool  enabled)
protected

Set the enabled status flag of the recipe object.

◆ SetStatus()

void ccf::common::RecipeBase::SetStatus ( const ProcStatus  status)

Update status for a given Publisher Thread in the OLDB.


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