Allows adding and receiving objects.
More...
#include <object_source.h>
|
| | ObjectSource (const ObjectOwnerId &id) |
| | ~ObjectSource () override=default |
| virtual bool | add (const Span< NativeObjectPtr > &instances)=0 |
| | Registers an object (including its type). It does nothing if the object is already registered. Returns false if one or more objects could not be added. This method is thread-safe.
|
| bool | add (NativeObjectPtr instance) |
| | Registers an object (including its type). It does nothing if the objects are already present. Returns false if the objects could not be added. This method is thread-safe.
|
| template<typename T> |
| bool | add (const std::vector< std::shared_ptr< T > > &instances) |
| | Convenience helper.
|
| virtual void | remove (const Span< NativeObjectPtr > &instances)=0 |
| | Unregisters an object and notifies any registered listeners. Ignores objects that are not present. This method is thread-safe.
|
| void | remove (NativeObjectPtr instance) |
| | Unregisters an object. Does nothing if the object is not present. This method is thread-safe.
|
| template<typename T> |
| void | remove (const std::vector< std::shared_ptr< T > > &instances) |
| | Convenience helper.
|
| void | addSubscriber (std::shared_ptr< Interest > interest, ObjectProviderListener *listener, bool notifyAboutExisting) override |
| | Add a subscriber to the filter on a specific interest.
|
| void | removeSubscriber (std::shared_ptr< Interest > interest, ObjectProviderListener *listener, bool notifyAboutExisting) override |
| | Removes a previously-added subscriber on a specific interest.
|
| void | removeSubscriber (ObjectProviderListener *listener, bool notifyAboutExisting) override |
| std::shared_ptr< ObjectProvider > | getOrCreateNamedProvider (const std::string &name, std::shared_ptr< Interest > interest) |
| | Creates a uniquely named provider for objects determined on a given interest. Returns any provider with the same name and interest.
|
| void | removeNamedProvider (std::string_view name) |
| | Deletes any provider with this name. Does nothing if none found.
|
Allows adding and receiving objects.
◆ NativeObjectPtr
◆ ObjectSource()
| sen::ObjectSource::ObjectSource |
( |
const ObjectOwnerId & | id | ) |
|
|
inlineexplicit |
◆ ~ObjectSource()
| sen::ObjectSource::~ObjectSource |
( |
| ) |
|
|
overridedefault |
◆ add() [1/3]
Registers an object (including its type). It does nothing if the object is already registered. Returns false if one or more objects could not be added. This method is thread-safe.
◆ add() [2/3]
Registers an object (including its type). It does nothing if the objects are already present. Returns false if the objects could not be added. This method is thread-safe.
◆ add() [3/3]
template<typename T>
| bool sen::ObjectSource::add |
( |
const std::vector< std::shared_ptr< T > > & | instances | ) |
|
|
inline |
◆ remove() [1/3]
Unregisters an object and notifies any registered listeners. Ignores objects that are not present. This method is thread-safe.
◆ remove() [2/3]
Unregisters an object. Does nothing if the object is not present. This method is thread-safe.
◆ remove() [3/3]
template<typename T>
| void sen::ObjectSource::remove |
( |
const std::vector< std::shared_ptr< T > > & | instances | ) |
|
|
inline |
◆ flushOutputs()
| virtual void sen::ObjectSource::flushOutputs |
( |
| ) |
|
|
protectedpure virtual |
◆ drainInputs()
| virtual void sen::ObjectSource::drainInputs |
( |
| ) |
|
|
protectedpure virtual |
◆ addSubscriber()
◆ removeSubscriber() [1/2]
◆ removeSubscriber() [2/2]
◆ getOrCreateNamedProvider()
| std::shared_ptr< ObjectProvider > sen::ObjectFilter::getOrCreateNamedProvider |
( |
const std::string & | name, |
|
|
std::shared_ptr< Interest > | interest ) |
|
inherited |
Creates a uniquely named provider for objects determined on a given interest. Returns any provider with the same name and interest.
◆ removeNamedProvider()
| void sen::ObjectFilter::removeNamedProvider |
( |
std::string_view | name | ) |
|
|
inherited |
Deletes any provider with this name. Does nothing if none found.
◆ evaluate()
| void sen::ObjectFilter::evaluate |
( |
const ObjectSet & | objects | ) |
|
|
protectedinherited |
◆ getOwnerId()
| const ObjectOwnerId & sen::ObjectFilter::getOwnerId |
( |
| ) |
const |
|
nodiscardprotectednoexceptinherited |
◆ subscriberAdded()
|
|
protectedvirtualinherited |
◆ subscriberRemoved() [1/2]
| virtual void sen::ObjectFilter::subscriberRemoved |
( |
std::shared_ptr< Interest > | interest, |
|
|
ObjectProviderListener * | listener, |
|
|
bool | notifyAboutExisting ) |
|
protectedvirtualinherited |
◆ subscriberRemoved() [2/2]
| virtual void sen::ObjectFilter::subscriberRemoved |
( |
ObjectProviderListener * | listener, |
|
|
bool | notifyAboutExisting ) |
|
protectedvirtualinherited |
◆ objectsAdded()
|
|
protectedvirtualinherited |
◆ objectsRemoved()
|
|
protectedvirtualinherited |
◆ kernel::impl::Runner
| friend class kernel::impl::Runner |
|
friend |
The documentation for this class was generated from the following file: