Holds a single Python function created with StatusFunction decorator. More...
#include <status_function.h>
Public Member Functions | |
| StatusFunction () | |
| Constructs a status function object. More... | |
| virtual | ~StatusFunction () override=default |
| const std::string & | linkedEngineName () const override final |
| Returns an empty string. More... | |
| bool | isPreprocessing () const override final |
| Returns false. More... | |
| TransceiverDataPackInterface::shared_ptr | pySetup (boost::python::object statusFunction) |
| Performs actual initialization of the object. More... | |
| boost::python::object | runTf (boost::python::tuple &args, boost::python::dict &kwargs, datapacks_set_t dataPacks) override |
| Runs the status function. More... | |
Public Member Functions inherited from TransceiverDataPackInterface | |
| TransceiverDataPackInterface ()=default | |
| virtual | ~TransceiverDataPackInterface ()=default |
| template<class TRANSCEIVER_DATAPACK > | |
| TransceiverDataPackInterface::shared_ptr | pySetup (const TransceiverDataPackInterface::shared_ptr &tfDataPack) |
| Decorator call() function. Takes the lower decorator as a parameter. Moves the given class into a shared_ptr, which will be managed by the next decorator. More... | |
Protected Member Functions | |
| datapack_identifiers_set_t | getRequestedDataPackIDs () const override |
| Returns datapack IDs of this DataPack that should be requested from the engines. TODO: Make protected. More... | |
| datapack_identifiers_set_t | updateRequestedDataPackIDs (datapack_identifiers_set_t &&datapackIDs) const override |
| Appends its own datapack requests onto datapackIDs. Uses getRequestedDataPackIDs to check which IDs are requested by this datapack. More... | |
Protected Member Functions inherited from TransceiverDataPackInterface | |
| template<class TRANSCEIVER_DATAPACK > | |
| PtrTemplates< TRANSCEIVER_DATAPACK >::shared_ptr | moveToSharedPtr () |
Additional Inherited Members | |
Public Types inherited from PtrTemplates< TransceiverDataPackInterface > | |
| using | shared_ptr = std::shared_ptr< TransceiverDataPackInterface > |
| using | const_shared_ptr = std::shared_ptr< const TransceiverDataPackInterface > |
| using | unique_ptr = std::unique_ptr< TransceiverDataPackInterface > |
| using | const_unique_ptr = std::unique_ptr< const TransceiverDataPackInterface > |
Public Types inherited from PtrTemplates< StatusFunction > | |
| using | shared_ptr = std::shared_ptr< StatusFunction > |
| using | const_shared_ptr = std::shared_ptr< const StatusFunction > |
| using | unique_ptr = std::unique_ptr< StatusFunction > |
| using | const_unique_ptr = std::unique_ptr< const StatusFunction > |
Static Public Member Functions inherited from TransceiverDataPackInterface | |
| static void | setTFInterpreter (FunctionManager *interpreter) |
| Set global TF Interpreter. All Transceiver Functions will register themselves with it upon creation. More... | |
| static const FunctionManager * | getFunctionManager () |
Static Protected Attributes inherited from TransceiverDataPackInterface | |
| static FunctionManager * | _functionManager = nullptr |
| Pointer to TF Interpreter. Will be used to register a new TF function. More... | |
Holds a single Python function created with StatusFunction decorator.
| StatusFunction::StatusFunction | ( | ) |
Constructs a status function object.
Status functions live on the boundary between C++ and Python worlds. The constructor only allocates the memory needed by the objects, but they are truly initialized only when a proper Python decorator is called from the Python context. The decorators are linked to the pySetup method, which performs the true initialization.
|
overridevirtualdefault |
|
overrideprotectedvirtual |
Returns datapack IDs of this DataPack that should be requested from the engines. TODO: Make protected.
Reimplemented from TransceiverDataPackInterface.
|
finaloverridevirtual |
Returns false.
Status functions don't have the concept of pre-processing. The method is implemented in order to conform to the base interface.
Reimplemented from TransceiverDataPackInterface.
|
finaloverridevirtual |
Returns an empty string.
Status functions are not linked to any engine, so the string returned by this method should always be empty. The method is implemented in order to conform to the base interface.
Reimplemented from TransceiverDataPackInterface.
| TransceiverDataPackInterface::shared_ptr StatusFunction::pySetup | ( | boost::python::object | statusFunction | ) |
Performs actual initialization of the object.
| statusFunction | User-defined python function. It will be linked to this C++ object. |
This method is linked to the call() method of Python StatusFunction decorator. It links the user-defined python function to this C++ object. It also registers the C++ object in the function manager.
|
overridevirtual |
Runs the status function.
| args | Python args |
| kwargs | Python keywords |
Reimplemented from TransceiverDataPackInterface.
|
overrideprotectedvirtual |
Appends its own datapack requests onto datapackIDs. Uses getRequestedDataPackIDs to check which IDs are requested by this datapack.
| datapackIDs | Container with datapack IDs that gets expanded |
Reimplemented from TransceiverDataPackInterface.