MySQL 8.0.37
Source Code Documentation
Mysql::Tools::Dump::Abstract_object_reader_wrapper Class Reference

Implementation of common logic for classes that directs execution of dump tasks to Object Readers. More...

#include <abstract_object_reader_wrapper.h>

Inheritance diagram for Mysql::Tools::Dump::Abstract_object_reader_wrapper:
[legend]

Public Member Functions

void register_object_reader (I_object_reader *new_object_reader) override
 Add new Object Reader to supply direct execution of dump tasks to. More...
 
- Public Member Functions inherited from Mysql::Tools::Dump::I_object_reader_wrapper
virtual ~I_object_reader_wrapper ()=default
 
- Public Member Functions inherited from Mysql::Tools::Dump::Abstract_chain_element
uint64 get_id () const override
 Returns an application unique ID of this chain element object. More...
 
Abstract_chain_elementoperator= (Abstract_chain_element &&other)=delete
 Disable move assignment to avoid Wvirtual-move-assign warning. More...
 
void register_progress_watcher (I_progress_watcher *new_progress_watcher) override
 Add new Progress Watcher to report to. More...
 
- Public Member Functions inherited from Mysql::Tools::Dump::I_chain_element
 ~I_chain_element () override
 
- Public Member Functions inherited from Mysql::Tools::Dump::I_progress_reporter
virtual ~I_progress_reporter ()
 
- Public Member Functions inherited from Mysql::Tools::Dump::Abstract_progress_reporter
void register_progress_watcher (I_progress_watcher *new_progress_watcher) override
 Add new Progress Watcher to report to. More...
 

Protected Member Functions

 Abstract_object_reader_wrapper (std::function< bool(const Mysql::Tools::Base::Message_data &)> *message_handler, Simple_id_generator *object_id_generator)
 
void format_object (Item_processing_data *current_processing_data)
 
- Protected Member Functions inherited from Mysql::Tools::Dump::Abstract_chain_element
 Abstract_chain_element (std::function< bool(const Mysql::Tools::Base::Message_data &)> *message_handler, Simple_id_generator *object_id_generator)
 
template<typename TType , typename TClass >
bool try_process_task (Item_processing_data *item_to_process, void(TClass::*processing_func)(TType *, Item_processing_data *))
 Process task object with specified function if that task object can be casted to type TType. More...
 
template<typename TType , typename TClass >
bool try_process_task (Item_processing_data *item_to_process, void(TClass::*processing_func)(TType *))
 Process task object with specified function if that task object can be casted to type TType. More...
 
void object_processing_starts (Item_processing_data *item_to_process)
 
Item_processing_dataobject_to_be_processed_in_child (Item_processing_data *current_item_data, I_chain_element *child_chain_element)
 
Item_processing_datanew_task_created (I_dump_task *dump_task_created)
 
Item_processing_datanew_chain_created (Chain_data *new_chain_data, Item_processing_data *parent_processing_data, I_chain_element *child_chain_element)
 
Item_processing_datanew_chain_created (Item_processing_data *current_item_data, I_dump_task *dump_task_created)
 
void object_processing_ends (Item_processing_data *processed_item)
 
uint64 generate_new_object_id ()
 
Simple_id_generatorget_object_id_generator () const
 
void pass_message (const Mysql::Tools::Base::Message_data &message_data)
 Passes message to message callback. More...
 
std::function< bool(const Mysql::Tools::Base::Message_data &)> * get_message_handler () const
 
virtual bool need_callbacks_in_child ()
 
void item_completion_in_child_callback (Item_processing_data *item_processed) override
 This callback can be requested to be called by child for any object processing. More...
 
- Protected Member Functions inherited from Mysql::Tools::Dump::Abstract_progress_reporter
bool have_progress_watcher ()
 Specifies if have any Progress Watcher registered. More...
 
void report_new_chain_created (Item_processing_data *new_chain_creator)
 Reports new non-empty chain being created by Chain Maker or new row fetched from table by Table Reader. More...
 
void report_object_processing_started (Item_processing_data *process_data)
 Report new object(table, row or any other) was started processing by specified Object Reader, Table Reader, Formatter or Row Formatter. More...
 
void report_object_processing_ended (Item_processing_data *finished_process_data)
 Report object(table, row or any other) finished being processed. More...
 
virtual void report_crawler_completed (I_crawler *crawler)
 Reports crawler ended enumerating objects and creating chains for them. More...
 
void register_progress_watchers_in_child (I_progress_reporter *reporter)
 

Private Attributes

std::vector< I_object_reader * > m_object_readers
 

Detailed Description

Implementation of common logic for classes that directs execution of dump tasks to Object Readers.

Constructor & Destructor Documentation

◆ Abstract_object_reader_wrapper()

Abstract_object_reader_wrapper::Abstract_object_reader_wrapper ( std::function< bool(const Mysql::Tools::Base::Message_data &)> *  message_handler,
Simple_id_generator object_id_generator 
)
protected

Member Function Documentation

◆ format_object()

void Abstract_object_reader_wrapper::format_object ( Item_processing_data current_processing_data)
protected

◆ register_object_reader()

void Abstract_object_reader_wrapper::register_object_reader ( I_object_reader new_object_reader)
overridevirtual

Add new Object Reader to supply direct execution of dump tasks to.

Implements Mysql::Tools::Dump::I_object_reader_wrapper.

Member Data Documentation

◆ m_object_readers

std::vector<I_object_reader *> Mysql::Tools::Dump::Abstract_object_reader_wrapper::m_object_readers
private

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