|
| | UnloadApi (Kernel &kernel, const VarMap &config, impl::Runner *runner) noexcept |
| | ~UnloadApi () noexcept=default |
| const VarMap & | getConfig () const noexcept |
| | Gets the configuration associated with this component.
|
| CustomTypeRegistry & | getTypes () noexcept |
| | The types registered into the kernel.
|
| void | requestKernelStop (int exitCode=0) |
| | Issues an asynchronous request to stop the kernel. The request is ignored if a previous stop request was issued.
|
| std::shared_ptr< ObjectSource > | getSource (const BusAddress &address) |
| | Gets an object source, where objects can be found and published.
|
| std::shared_ptr< ObjectSource > | getSource (const std::string &address) |
| | Gets an object source, where objects can be found and published. The address parameter must be given as <session-name>.<bus-name>.
|
| SessionsDiscoverer & | getSessionsDiscoverer () noexcept |
| | Object that allows discovering sessions and buses.
|
| const ProcessInfo * | fetchOwnerInfo (const Object *object) const noexcept |
| | Gets information about the process where an object is. Returns nullptr if the object resides in the current process.
|
| const std::string & | getAppName () const noexcept |
| | Gets the (optional) application name passed to the kernel as a configuration parameter.
|
| ::sen::impl::WorkQueue * | getWorkQueue () const noexcept |
| | The work queue of this runner.
|
| template<typename T, typename Bus> |
| std::shared_ptr< Subscription< T > > | selectAllFrom (const Bus &bus) |
| | Subscribe to every object of type T on bus. The returned Subscription owns the kernel-side wiring; destruct it to stop.
|
| template<typename T, typename Bus> |
| std::shared_ptr< Subscription< T > > | selectAllFrom (const Bus &bus, typename sen::ObjectList< T >::Callback onAdded, typename sen::ObjectList< T >::Callback onRemoved=nullptr) |
| | As above, plus addition/removal callbacks installed before subscribing so they fire for objects already present. Pass nullptr to skip either.
|
| template<typename T, typename Bus> |
| std::shared_ptr< Subscription< T > > | selectFrom (const Bus &bus, const std::string &query, typename sen::ObjectList< T >::Callback onAdded=nullptr, typename sen::ObjectList< T >::Callback onRemoved=nullptr) |
| | Subscription against an arbitrary Sen query (with WHERE conditions). Example: selectFrom<Shape>(bus, R"(SELECT Shape FROM local.bus WHERE color IN ("red"))"). Installs the callbacks before subscribing. Pass nullptr to skip either.
|
| std::filesystem::path | getConfigFilePath () const noexcept |
| | Gets the path to the configuration file used to construct the kernel. It might be empty if the kernel is programmatically configured.
|
What can be done when unloading a component.
template<typename T, typename Bus>
| std::shared_ptr< Subscription< T > > sen::kernel::KernelApi::selectAllFrom |
( |
const Bus & | bus | ) |
|
|
inlinenodiscardinherited |
Subscribe to every object of type T on bus. The returned Subscription owns the kernel-side wiring; destruct it to stop.
Callback lifetime (this overload, the next, and selectFrom): onAdded / onRemoved fire on the kernel's run() thread between subscribe and the Subscription's destruction. References they capture must outlive the Subscription. Capture state by shared_ptr or via a component member.