neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
neolib::i_async_task Class Referenceabstract

#include <i_async_task.hpp>

Inheritance diagram for neolib::i_async_task:
neolib::i_task neolib::services::i_service neolib::i_reference_counted neolib::reference_counted< i_async_task > neolib::task< reference_counted< i_async_task > > neolib::async_task neogfx::async_task neogfx::async_thread neogfx::app_thread

Public Types

typedef i_async_task abstract_type
 

Public Member Functions

virtual i_threadthread () const =0
 
virtual bool joined () const =0
 
virtual void join (i_thread &aThread)=0
 
virtual void detach ()=0
 
virtual i_timer_servicetimer_service ()=0
 
virtual i_async_serviceio_service ()=0
 
virtual bool have_message_queue () const =0
 
virtual bool have_messages () const =0
 
virtual i_message_queuecreate_message_queue (std::function< bool()> aIdleFunction=std::function< bool()>())=0
 
virtual const i_message_queuemessage_queue () const =0
 
virtual i_message_queuemessage_queue ()=0
 
virtual void register_event_queue (i_async_event_queue &aQueue)=0
 
virtual void unregister_event_queue (i_async_event_queue &aQueue)=0
 
virtual bool pump_messages ()=0
 
virtual bool running () const noexcept=0
 
virtual bool halted () const noexcept=0
 
virtual void halt ()=0
 
virtual bool finished () const noexcept=0
 
virtual void wait () const noexcept=0
 
virtual void idle ()=0
 
- Public Member Functions inherited from neolib::i_task
virtual ~i_task ()=default
 
virtual const std::string & name () const =0
 
virtual void run (yield_type aYieldType=yield_type::NoYield)=0
 
virtual bool do_work (yield_type aYieldType=yield_type::NoYield)=0
 
virtual void cancel ()=0
 
virtual bool cancelled () const =0
 
- Public Member Functions inherited from neolib::services::i_service
virtual ~i_service ()=default
 
- Public Member Functions inherited from neolib::i_reference_counted
virtual ~i_reference_counted ()=default
 
virtual void add_ref () const noexcept=0
 
virtual void release () const =0
 
virtual int32_t use_count () const noexcept=0
 
virtual const i_reference_countedrelease_and_take_ownership () const =0
 
virtual i_reference_countedrelease_and_take_ownership ()=0
 
virtual void pin () const noexcept=0
 
virtual void unpin () const =0
 
virtual i_ref_control_blockcontrol_block ()=0
 

Static Public Member Functions

static uuid constiid ()
 

Detailed Description

Definition at line 87 of file i_async_task.hpp.

Member Typedef Documentation

◆ abstract_type

Member Function Documentation

◆ create_message_queue()

virtual i_message_queue & neolib::i_async_task::create_message_queue ( std::function< bool()>  aIdleFunction = std::function< bool()>())
pure virtual

Implemented in neolib::async_task.

◆ detach()

virtual void neolib::i_async_task::detach ( )
pure virtual

Implemented in neolib::async_task.

◆ finished()

virtual bool neolib::i_async_task::finished ( ) const
pure virtualnoexcept

Implemented in neolib::async_task.

◆ halt()

virtual void neolib::i_async_task::halt ( )
pure virtual

Implemented in neolib::async_task.

◆ halted()

virtual bool neolib::i_async_task::halted ( ) const
pure virtualnoexcept

Implemented in neolib::async_task.

◆ have_message_queue()

virtual bool neolib::i_async_task::have_message_queue ( ) const
pure virtual

Implemented in neolib::async_task.

◆ have_messages()

virtual bool neolib::i_async_task::have_messages ( ) const
pure virtual

Implemented in neolib::async_task.

◆ idle()

virtual void neolib::i_async_task::idle ( )
pure virtual

Implemented in neolib::async_task.

◆ iid()

static uuid const & neolib::i_async_task::iid ( )
inlinestatic

Definition at line 123 of file i_async_task.hpp.

◆ io_service()

virtual i_async_service & neolib::i_async_task::io_service ( )
pure virtual

Implemented in neolib::async_task.

◆ join()

virtual void neolib::i_async_task::join ( i_thread aThread)
pure virtual

Implemented in neolib::async_task.

◆ joined()

virtual bool neolib::i_async_task::joined ( ) const
pure virtual

Implemented in neolib::async_task.

◆ message_queue() [1/2]

virtual const i_message_queue & neolib::i_async_task::message_queue ( ) const
pure virtual

Implemented in neolib::async_task.

◆ message_queue() [2/2]

virtual i_message_queue & neolib::i_async_task::message_queue ( )
pure virtual

Implemented in neolib::async_task.

◆ pump_messages()

virtual bool neolib::i_async_task::pump_messages ( )
pure virtual

Implemented in neolib::async_task.

◆ register_event_queue()

virtual void neolib::i_async_task::register_event_queue ( i_async_event_queue aQueue)
pure virtual

Implemented in neolib::async_task.

◆ running()

virtual bool neolib::i_async_task::running ( ) const
pure virtualnoexcept

Implemented in neolib::async_task.

◆ thread()

virtual i_thread & neolib::i_async_task::thread ( ) const
pure virtual

Implemented in neolib::async_task.

◆ timer_service()

virtual i_timer_service & neolib::i_async_task::timer_service ( )
pure virtual

Implemented in neolib::async_task.

◆ unregister_event_queue()

virtual void neolib::i_async_task::unregister_event_queue ( i_async_event_queue aQueue)
pure virtual

Implemented in neolib::async_task.

◆ wait()

virtual void neolib::i_async_task::wait ( ) const
pure virtualnoexcept

Implemented in neolib::async_task.


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