MayaFlux 0.5.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ add_processor()

void MayaFlux::Kakshya::DataProcessingChain::add_processor ( const std::shared_ptr< DataProcessor > &  processor,
const std::shared_ptr< SignalSourceContainer > &  container,
const std::string &  tag = "" 
)

Adds a processor to the end of the chain for a specific container.

Parameters
processorThe data processor to add.
containerThe signal container the processor will operate on.
tagOptional tag for selective execution via process_tagged().

Definition at line 5 of file DataProcessingChain.cpp.

9{
10 m_container_processors[container].emplace_back(processor);
11 if (!tag.empty()) {
12 m_processor_tags[processor] = tag;
13 }
14 processor->on_attach(container);
15}
std::unordered_map< std::shared_ptr< SignalSourceContainer >, std::vector< std::shared_ptr< DataProcessor > > > m_container_processors
Maps each container to its ordered processor sequence.
std::unordered_map< std::shared_ptr< DataProcessor >, std::string > m_processor_tags
Maps processors to their optional tag strings.

References m_container_processors, and m_processor_tags.