MySQL 9.3.0
Source Code Documentation
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
mysql_harness::PluginState Class Reference

#include <plugin_state.h>

Classes

class  PluginStateOp
 

Public Types

using PluginName = std::string
 
using Plugins = std::vector< PluginName >
 
using ObserverId = uint32_t
 
using ObserverPtr = std::weak_ptr< PluginStateObserver >
 
using MapOfListeners = std::map< ObserverId, ObserverPtr >
 

Public Member Functions

virtual ~PluginState ()=default
 
virtual ObserverId push_back_observer (ObserverPtr psl)
 
virtual std::vector< ObserverIdpush_back_observers (const std::vector< ObserverPtr > &array)
 
virtual void remove_observer (ObserverId k)
 
virtual void remove_observers (const std::vector< ObserverId > &k)
 
virtual void dispatch_register_waitable (const PluginName &name)
 
virtual void dispatch_startup (const PluginName &name)
 
virtual void dispatch_shutdown (const PluginName &name)
 
virtual Plugins get_running_plugins () const
 
virtual Plugins get_loaded_plugins () const
 

Static Public Member Functions

static PluginStateget_instance ()
 

Static Public Attributes

constexpr static ObserverId k_invalid_id_ = 0
 

Protected Member Functions

 PluginState ()
 

Protected Attributes

std::atomic< ObserverIdlast_used_id_ {k_invalid_id_}
 
std::mutex mutex_guard_listeners_
 
MapOfListeners listeners_
 
Plugins running_plugins_
 
Plugins stopped_plugins_
 
Plugins loaded_plugins_
 
std::shared_ptr< PluginStateObserverdefault_observer_
 

Member Typedef Documentation

◆ MapOfListeners

◆ ObserverId

◆ ObserverPtr

◆ PluginName

◆ Plugins

Constructor & Destructor Documentation

◆ ~PluginState()

virtual mysql_harness::PluginState::~PluginState ( )
virtualdefault

◆ PluginState()

mysql_harness::PluginState::PluginState ( )
protected

Member Function Documentation

◆ dispatch_register_waitable()

void mysql_harness::PluginState::dispatch_register_waitable ( const PluginName name)
virtual

◆ dispatch_shutdown()

void mysql_harness::PluginState::dispatch_shutdown ( const PluginName name)
virtual

◆ dispatch_startup()

void mysql_harness::PluginState::dispatch_startup ( const PluginName name)
virtual

◆ get_instance()

PluginState * mysql_harness::PluginState::get_instance ( )
static

◆ get_loaded_plugins()

Plugins mysql_harness::PluginState::get_loaded_plugins ( ) const
virtual

◆ get_running_plugins()

Plugins mysql_harness::PluginState::get_running_plugins ( ) const
virtual

◆ push_back_observer()

ObserverId mysql_harness::PluginState::push_back_observer ( ObserverPtr  psl)
virtual

◆ push_back_observers()

std::vector< ObserverId > mysql_harness::PluginState::push_back_observers ( const std::vector< ObserverPtr > &  array)
virtual

◆ remove_observer()

void mysql_harness::PluginState::remove_observer ( ObserverId  k)
virtual

◆ remove_observers()

void mysql_harness::PluginState::remove_observers ( const std::vector< ObserverId > &  k)
virtual

Member Data Documentation

◆ default_observer_

std::shared_ptr<PluginStateObserver> mysql_harness::PluginState::default_observer_
protected

◆ k_invalid_id_

constexpr static ObserverId mysql_harness::PluginState::k_invalid_id_ = 0
staticconstexpr

◆ last_used_id_

std::atomic<ObserverId> mysql_harness::PluginState::last_used_id_ {k_invalid_id_}
protected

◆ listeners_

MapOfListeners mysql_harness::PluginState::listeners_
protected

◆ loaded_plugins_

Plugins mysql_harness::PluginState::loaded_plugins_
protected

◆ mutex_guard_listeners_

std::mutex mysql_harness::PluginState::mutex_guard_listeners_
mutableprotected

◆ running_plugins_

Plugins mysql_harness::PluginState::running_plugins_
protected

◆ stopped_plugins_

Plugins mysql_harness::PluginState::stopped_plugins_
protected

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