9#include "rotor/wx/export.h" 
   10#include "rotor/supervisor.h" 
   11#include "rotor/wx/supervisor_config_wx.h" 
   12#include "rotor/wx/system_context_wx.h" 
   16#include <unordered_map> 
   65    struct ROTOR_WX_API 
timer_t : 
public wxTimer {
 
   79        virtual void Notify() noexcept override;
 
 
 
namespace for rotor core messages (which just transform payloads)
Definition messages.hpp:317
namespace for wxWidgets adapters for rotor
Definition wx.hpp:20
Basic namespace for all rotor functionalities.
Definition rotor.hpp:21
intrusive_ptr_t< message_base_t > message_ptr_t
intrusive pointer for message
Definition message.h:118
boost::intrusive_ptr< T > intrusive_ptr_t
alias for intrusive pointer
Definition arc.hpp:27
std::size_t request_id_t
timer identifier type in the scope of the actor
Definition forward.hpp:34
supervisor_t(supervisor_config_t &config)
constructs new supervisor with optional parent supervisor
system_context_t * context
non-owning pointer to system context.
Definition supervisor.h:271
Base class for timer handler.
Definition timer_handler.hpp:17
config builder for wx supervisor
Definition supervisor_config_wx.h:37
wx supervisor config, which holds a pointer to the "context window".
Definition supervisor_config_wx.h:18
timer structure, adoped for wx-supervisor needs.
Definition supervisor_wx.h:65
virtual void Notify() noexcept override
invokes shutdown_timer_trigger method if shutdown timer triggers
timer_handler_base_t * handler
non-owning pointer to timer handler
Definition supervisor_wx.h:70
intrusive_ptr_t< supervisor_wx_t > supervisor_ptr_t
alias for intrusive pointer for the supervisor
Definition supervisor_wx.h:67
timer_t(timer_handler_base_t *handler, supervisor_ptr_t &&sup_)
constructs timer from wx supervisor
supervisor_ptr_t sup
intrusive pointer to the supervisor
Definition supervisor_wx.h:73
void shutdown() noexcept override
thread-safe version of do_shutdown, i.e. send shutdown request let it be processed by the supervisor
wxEvtHandler * handler
non-owning pointer to the wx application (copied from config)
Definition supervisor_wx.h:94
std::unique_ptr< timer_t > timer_ptr_t
unique pointer to timer
Definition supervisor_wx.h:88
timers_map_t timers_map
timer id to timer pointer mapping
Definition supervisor_wx.h:97
system_context_wx_t * get_context() noexcept
returns pointer to the wx system context
Definition supervisor_wx.h:59
std::unordered_map< request_id_t, timer_ptr_t > timers_map_t
timer id to timer pointer mapping type
Definition supervisor_wx.h:91
void start() noexcept override
thread-safe version of do_process
supervisor_wx_t(supervisor_config_wx_t &config)
constructs new supervisor from supervisor config
supervisor_config_wx_t config_t
injects an alias for supervisor_config_wx_t
Definition supervisor_wx.h:45
void do_start_timer(const pt::time_duration &interval, timer_handler_base_t &handler) noexcept override
starts non-recurring timer (to be implemented in descendants)
supervisor_config_wx_builder_t< Supervisor > config_builder_t
injects templated supervisor_config_wx_builder_t
Definition supervisor_wx.h:48
void do_cancel_timer(request_id_t timer_id) noexcept override
cancels timer (to be implemented in descendants)
void enqueue(message_ptr_t message) noexcept override
enqueues messages thread safe way and triggers processing
The wxWidgets system context, which holds a pointer to wxApp and root wx-supervisor.
Definition system_context_wx.h:28