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

Implementation of common logic for classes that directs execution of dump tasks to Data Formatters. More...

#include <abstract_output_writer_wrapper.h>

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

Public Member Functions

void register_output_writer (I_output_writer *new_output_writter) override
 Add new Output Writer to supply formatted strings to. More...
 
- 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...
 
- Public Member Functions inherited from Mysql::Tools::Dump::I_output_writer_wrapper
virtual ~I_output_writer_wrapper ()=default
 

Protected Member Functions

 Abstract_output_writer_wrapper (std::function< bool(const Mysql::Tools::Base::Message_data &)> *message_handler, Simple_id_generator *object_id_generator)
 
void append_output (const std::string &data_to_append)
 
- 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_output_writer * > m_output_writers
 

Detailed Description

Implementation of common logic for classes that directs execution of dump tasks to Data Formatters.

Constructor & Destructor Documentation

◆ Abstract_output_writer_wrapper()

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

Member Function Documentation

◆ append_output()

void Abstract_output_writer_wrapper::append_output ( const std::string &  data_to_append)
protected

◆ register_output_writer()

void Abstract_output_writer_wrapper::register_output_writer ( I_output_writer new_output_writer)
overridevirtual

Add new Output Writer to supply formatted strings to.

Implements Mysql::Tools::Dump::I_output_writer_wrapper.

Member Data Documentation

◆ m_output_writers

std::vector<I_output_writer *> Mysql::Tools::Dump::Abstract_output_writer_wrapper::m_output_writers
private

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