Aria 2.0.0
C++23 MVVM framework (C++20 minimum) — reactive, coroutine-first, ABI-layered
Loading...
Searching...
No Matches
aria::adapters::qt6::QtDispatcher Class Referencefinal

#include <qt_dispatcher.hpp>

Inheritance diagram for aria::adapters::qt6::QtDispatcher:
[legend]

Public Member Functions

 QtDispatcher (QObject *context=QCoreApplication::instance())
 The context controls the owner thread and bounds task lifetime.
 ~QtDispatcher () override
 QtDispatcher (const QtDispatcher &)=delete
QtDispatcheroperator= (const QtDispatcher &)=delete
void post (std::function< void()> callback) override
 Schedule the callable to run on the main thread (asynchronously).
void post_delayed (std::chrono::milliseconds delay, std::function< void()> callback) override
 Negative delays behave like post().
bool is_main_thread () const noexcept override
 Returns true if currently executing on the main thread.
::aria::SchedulerCaps caps () const noexcept override
 Capability bitmask.
Public Member Functions inherited from aria::runtime::IDispatcher
 ~IDispatcher () override=default
void post_after (std::chrono::milliseconds delay, std::function< void()> fn) override
 IDelayedScheduler adapter — routes to post_delayed.
void schedule (std::function< void()> fn) override
 Submit fn for execution "soon". Defines Caps::Post.
void schedule_after (std::chrono::milliseconds delay, std::function< void()> fn) override
 Submit fn for execution after delay.
Public Member Functions inherited from aria::IDelayedScheduler
 ~IDelayedScheduler () override
Public Member Functions inherited from aria::IScheduler
virtual ~IScheduler ()=default

Constructor & Destructor Documentation

◆ QtDispatcher() [1/2]

aria::adapters::qt6::QtDispatcher::QtDispatcher ( QObject * context = QCoreApplication::instance())
inlineexplicit

The context controls the owner thread and bounds task lifetime.

An application object is the usual context. A null context or creation on another thread is rejected instead of silently losing posted work.

◆ ~QtDispatcher()

aria::adapters::qt6::QtDispatcher::~QtDispatcher ( )
inlineoverride

◆ QtDispatcher() [2/2]

aria::adapters::qt6::QtDispatcher::QtDispatcher ( const QtDispatcher & )
delete

Member Function Documentation

◆ operator=()

QtDispatcher & aria::adapters::qt6::QtDispatcher::operator= ( const QtDispatcher & )
delete

◆ post()

void aria::adapters::qt6::QtDispatcher::post ( std::function< void()> fn)
inlineoverridevirtual

Schedule the callable to run on the main thread (asynchronously).

Implements aria::runtime::IDispatcher.

◆ post_delayed()

void aria::adapters::qt6::QtDispatcher::post_delayed ( std::chrono::milliseconds delay,
std::function< void()> callback )
inlineoverridevirtual

Negative delays behave like post().

Large delays are split into Qt timer intervals and checked against steady_clock, without narrowing the requested duration or overflowing an absolute clock deadline.

Implements aria::runtime::IDispatcher.

◆ is_main_thread()

bool aria::adapters::qt6::QtDispatcher::is_main_thread ( ) const
inlinenodiscardoverridevirtualnoexcept

Returns true if currently executing on the main thread.

Implements aria::runtime::IDispatcher.

◆ caps()

::aria::SchedulerCaps aria::adapters::qt6::QtDispatcher::caps ( ) const
inlinenodiscardoverridevirtualnoexcept

Capability bitmask.

Implementations should return a constant value (or at least a value stable across the object's lifetime).

Reimplemented from aria::runtime::IDispatcher.


The documentation for this class was generated from the following file: