diff options
Diffstat (limited to 'lib/eventHandlerBase.h')
-rw-r--r-- | lib/eventHandlerBase.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/lib/eventHandlerBase.h b/lib/eventHandlerBase.h new file mode 100644 index 0000000..4bb2396 --- /dev/null +++ b/lib/eventHandlerBase.h @@ -0,0 +1,24 @@ +#ifndef MYGRATE_EVENTHANDLERBASE_H +#define MYGRATE_EVENTHANDLERBASE_H + +#include "mariadb_repl.h" +#include <map> +#include <memory> + +namespace MyGrate { + using MariaDB_Event_Ptr = std::unique_ptr<MARIADB_RPL_EVENT, decltype(&mariadb_free_rpl_event)>; + class EventHandlerBase { + public: + virtual void tableMap(MariaDB_Event_Ptr); + virtual void insertRow(MariaDB_Event_Ptr); + virtual void updateRow(MariaDB_Event_Ptr); + virtual void deleteRow(MariaDB_Event_Ptr); + + protected: + using TableId = decltype(st_mariadb_rpl_table_map_event::table_id); + using TableMaps = std::map<TableId, MyGrate::MariaDB_Event_Ptr>; + TableMaps tableMaps; + }; +} + +#endif |