summaryrefslogtreecommitdiff
path: root/lib/eventHandlerBase.h
blob: 6187139faba85b04dccdd9bbd8a2e1a434e7f078 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#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 ~EventHandlerBase() = default;
		virtual void tableMap(MariaDB_Event_Ptr);
		virtual void insertRow(MariaDB_Event_Ptr);
		virtual void updateRow(MariaDB_Event_Ptr);
		virtual void deleteRow(MariaDB_Event_Ptr);
		virtual void rotate(MariaDB_Event_Ptr);
		virtual void gtid(MariaDB_Event_Ptr);
		virtual void xid(MariaDB_Event_Ptr);
	};
}

#endif