26#ifndef ROUTER_SRC_HARNESS_INCLUDE_MYSQL_HARNESS_PLUGIN_STATE_H_ 
   27#define ROUTER_SRC_HARNESS_INCLUDE_MYSQL_HARNESS_PLUGIN_STATE_H_ 
   37#include "harness_export.h" 
   59  virtual std::vector<ObserverId> push_back_observers(
 
   60      const std::vector<ObserverPtr> &array);
 
   62  virtual void remove_observers(
const std::vector<ObserverId> &k);
 
   64  virtual void dispatch_register_waitable(
const PluginName &name);
 
   65  virtual void dispatch_startup(
const PluginName &name);
 
   66  virtual void dispatch_shutdown(
const PluginName &name);
 
   68  virtual Plugins get_running_plugins() 
const;
 
   69  virtual Plugins get_loaded_plugins() 
const;
 
   75  std::atomic<ObserverId> last_used_id_{k_invalid_id_};
 
Definition: plugin_state.cc:62
 
Definition: plugin_state.h:41
 
Plugins stopped_plugins_
Definition: plugin_state.h:79
 
std::map< ObserverId, ObserverPtr > MapOfListeners
Definition: plugin_state.h:47
 
uint32_t ObserverId
Definition: plugin_state.h:45
 
std::vector< PluginName > Plugins
Definition: plugin_state.h:44
 
virtual ~PluginState()=default
 
std::string PluginName
Definition: plugin_state.h:43
 
std::weak_ptr< PluginStateObserver > ObserverPtr
Definition: plugin_state.h:46
 
Plugins loaded_plugins_
Definition: plugin_state.h:80
 
MapOfListeners listeners_
Definition: plugin_state.h:77
 
std::mutex mutex_guard_listeners_
Definition: plugin_state.h:76
 
std::shared_ptr< PluginStateObserver > default_observer_
Definition: plugin_state.h:81
 
Plugins running_plugins_
Definition: plugin_state.h:78
 
std::string HARNESS_EXPORT reset()
get 'reset attributes' ESC sequence.
Definition: vt100.cc:37