This topology source holds and applies a set of rules for transforming one device topology into another one that may involve virtual and/or aggregate devices. More...
#include <juce_RuleBasedTopologySource.h>


Classes | |
| struct | Rule |
| A rule that can transform parts of a topology. More... | |
Public Member Functions | |
| RuleBasedTopologySource (TopologySource &) | |
| Creates a RuleBasedTopologySource which wraps another TopologySource passed in here. More... | |
| ~RuleBasedTopologySource () | |
| Destructor. More... | |
| void | addListener (Listener *l) |
| void | addRule (Rule *) |
| Adds a rule to the list that will be applied. More... | |
| virtual void | cancelAllActiveTouches () noexcept |
| Invoke this to force touches-off on all physical devices. More... | |
| void | clearRules () |
| Clears the list of active rules. More... | |
| BlockTopology | getCurrentTopology () const override |
| Returns the currently active topology. More... | |
| bool | isActive () const override |
| Returns true, if the TopologySource is currently trying to connect the block devices. More... | |
| void | removeListener (Listener *l) |
| void | setActive (bool shouldBeActive) override |
| Sets the TopologySource as active, occupying the midi port and trying to connect to the block devices. More... | |
Protected Attributes | |
| juce::ListenerList< Listener > | listeners |
Private Attributes | |
| std::unique_ptr< Internal > | internal |
This topology source holds and applies a set of rules for transforming one device topology into another one that may involve virtual and/or aggregate devices.
Given an input PhysicalTopologySource and a set of Rule objects, this class will apply the rules and present the resulting topology to clients.
{Blocks}
| juce::RuleBasedTopologySource::RuleBasedTopologySource | ( | TopologySource & | ) |
Creates a RuleBasedTopologySource which wraps another TopologySource passed in here.
| juce::RuleBasedTopologySource::~RuleBasedTopologySource | ( | ) |
Destructor.
|
inlineinherited |
References juce::TopologySource::listeners.
| void juce::RuleBasedTopologySource::addRule | ( | Rule * | ) |
Adds a rule to the list that will be applied.
The object passed-in will be owned by this object, so don't keep any references to it. Calling this method will cause an asynchronous topology update if the new rule-set results in a change to the topology.
Referenced by juce::RuleBasedTopologySource::Rule::~Rule().
|
inlinevirtualnoexceptinherited |
Invoke this to force touches-off on all physical devices.
Reimplemented in juce::PhysicalTopologySource.
| void juce::RuleBasedTopologySource::clearRules | ( | ) |
Clears the list of active rules.
Calling this method will cause an asynchronous topology update if the new rule-set results in a change to the topology.
Referenced by juce::RuleBasedTopologySource::Rule::~Rule().
|
overridevirtual |
Returns the currently active topology.
Implements juce::TopologySource.
|
overridevirtual |
Returns true, if the TopologySource is currently trying to connect the block devices.
Implements juce::TopologySource.
Referenced by juce::RuleBasedTopologySource::Rule::~Rule().
|
inlineinherited |
References juce::TopologySource::listeners.
|
overridevirtual |
Sets the TopologySource as active, occupying the midi port and trying to connect to the block devices.
Implements juce::TopologySource.
Referenced by juce::RuleBasedTopologySource::Rule::~Rule().
|
private |
|
protectedinherited |
Referenced by juce::TopologySource::addListener(), and juce::TopologySource::removeListener().