Represents a user-defined thread.
|
|
| AThread (std::function< void()> functor) |
| |
|
void | detach () |
| |
|
void | start () |
| | Start thread execution.
|
| |
| bool | isInterrupted () override |
| |
| void | resetInterruptFlag () override |
| | Reset interruption flag.
|
| |
| void | interrupt () override |
| | Interrupt thread's execution.
|
| |
|
void | join () |
| | Waits for thread to be finished.
|
| |
| id | getId () const |
| |
|
void | enqueue (AMessageQueue<>::Message f) |
| | Delivers task for execution (message) to this thread's event queue. Messages are processed by framework itself using AEventLoop. This behaviour may be overwritten using the AThread::processMessages() function.
|
| |
|
const AMessageQueue & | messageQueue () const |
| |
| IEventLoop * | getCurrentEventLoop () const |
| | Get current event loop for this thread.
|
| |
| template<class Callable> |
| void | operator<< (Callable fun) |
| | Enqueue message to make.
|
| |
| template<class Callable> |
| void | operator* (Callable fun) |
| | Enqueue message to make. Helper function for async, asyncX, ui, uiX.
|
| |
|
const AString & | threadName () const noexcept |
| |
|
AStacktrace | threadStacktrace () const |
| | Retrieve stacktrace of the thread.
|
| |
|
bool | messageQueueEmpty () noexcept |
| |
|
_< AObject > | sharedPtr () |
| |
|
_weak< AObject > | weakPtr () |
| |
| template<typename Connectable, ACompatibleSlotFor< Connectable > Function> |
| decltype(auto) | connect (const Connectable &connectable, Function &&function) |
| | Connects signal or property to slot of "this" object.
|
| |
|
void | setSignalsEnabled (bool enabled) |
| |
|
bool | isSignalsEnabled () const noexcept |
| |
|
template<ASignalInvokable T> |
| void | operator^ (T &&t) noexcept |
| |
|
_< AAbstractThread > | getThread () const |
| |
|
bool | isSlotsCallsOnlyOnMyThread () const noexcept |
| |
|
void | setSlotsCallsOnlyOnMyThread (bool slotsCallsOnlyOnMyThread) |
| |
|
| AObjectBase (AObjectBase &&rhs) noexcept |
| |
|
| AObjectBase (const AObjectBase &rhs) noexcept |
| |
|
AObjectBase & | operator= (const AObjectBase &rhs) noexcept |
| |
|
AObjectBase & | operator= (AObjectBase &&rhs) noexcept |
| |
|
| noncopyable (const noncopyable &)=delete |
| |
|
noncopyable & | operator= (const noncopyable &)=delete |
| |
|
|
static const _< AAbstractThread > & | main () noexcept |
| | Returns main thread of the application.
|
| |
| static void | sleep (std::chrono::milliseconds duration) |
| | Sleep for specified duration. Most operation systems guarantee that elasped time will be greater than specified. AThread::interrupt() is supported.
|
| |
| static _< AAbstractThread > | current () |
| |
| static void | interruptionPoint () |
| | Interruption point.
|
| |
| static void | setName (AString name) noexcept |
| |
|
static void | processMessages () |
| | Processes messages from other threads of current thread. Called by framework itself using IEventLoop.
|
| |
|
static void | disconnect () |
| |
| template<AAnySignal Signal, aui::derived_from< AObjectBase > Object, ACompatibleSlotFor< Signal > Function> |
| static decltype(auto) | connect (const Signal &signal, Object *object, Function &&function) |
| | Connects signal to the slot of the specified object.
|
| |
| template<AAnyProperty Property, aui::derived_from< AObjectBase > Object, typename Function> |
| static decltype(auto) | connect (const Property &property, Object *object, Function &&function) |
| | Connects property to the slot of the specified object.
|
| |
template<APropertyReadable PropertySource, APropertyWritable PropertyDestination>
requires requires { { *propertySource } -> aui::convertible_to<std::decay_t<decltype(*propertyDestination)>>; } |
| static void | connect (PropertySource &&propertySource, PropertyDestination &&propertyDestination) |
| | Connects source property to the destination property.
|
| |
template<APropertyWritable PropertySource, APropertyWritable PropertyDestination>
requires requires { { *propertySource } -> aui::convertible_to<std::decay_t<decltype(*propertyDestination)>>; { *propertyDestination } -> aui::convertible_to<std::decay_t<decltype(*propertySource)>>; } |
| static void | biConnect (PropertySource &&propertySource, PropertyDestination &&propertyDestination) |
| | Connects source property to the destination property and opposite (bidirectionally).
|
| |
| template<AAnySignalOrProperty Connectable, aui::derived_from< AObjectBase > Object, ACompatibleSlotFor< Connectable > Function> |
| static decltype(auto) | connect (const Connectable &connectable, Object &object, Function &&function) |
| | Connects signal or property to the slot of the specified object.
|
| |
| template<AAnySignalOrProperty Connectable, aui::derived_from< AObjectBase > Object, ACompatibleSlotFor< Connectable > Function> |
| static decltype(auto) | connect (const Connectable &connectable, _< Object > object, Function &&function) |
| | Connects signal or property to the slot of the specified object.
|
| |
| template<AAnySignalOrProperty Connectable, aui::derived_from< AObjectBase > Object, typename Function> |
| static decltype(auto) | connect (const Connectable &connectable, ASlotDef< Object *, Function > slotDef) |
| | Connects signal to the slot of the specified object. Slot is packed to single argument.
|
| |
template<AAnyProperty Property, typename Object, ACompatibleSlotFor< Property > Function>
requires (!aui::derived_from<Object, AObject>) |
| static void | connect (const Property &property, _< Object > object, Function &&function) |
| | Connects signal or property to the slot of the specified non-AObject type.
|
| |
|
static void | moveToThread (aui::no_escape< AObject > object, _< AAbstractThread > thread) |
| |
|
|
typedef std::thread::id | id |
| | Thread ID type.
|
| |
| static constexpr AObjectBase * | GENERIC_OBSERVER = nullptr |
| | Indicates that a connection should not be explicitly linked to receiver's lifetime.
|
| |
|
static ASpinlockMutex | SIGNAL_SLOT_GLOBAL_SYNC |
| |
|
| AAbstractThread (const id &id) noexcept |
| |
|
void | updateThreadName () noexcept |
| |
|
virtual void | processMessagesImpl () |
| |
|
void | setThread (_< AAbstractThread > thread) |
| | Set thread of the object.
|
| |
|
void | clearAllIngoingConnections () noexcept |
| |
|
virtual void | handleSlotException (std::exception_ptr exception) |
| | Called then an exception has thrown during slot processing of the signal emitted by this object.
|
| |
|
id | mId |
| | Thread ID.
|
| |
|
AString | mThreadName |
| |
|
AMessageQueue | mMessageQueue |
| |