00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #pragma once
00027
00028 #include <drizzled/replication_services.h>
00029 #include <drizzled/plugin/transaction_applier.h>
00030 #include <string>
00031 #include "rabbitmq_handler.h"
00032
00033 namespace drizzle_plugin
00034 {
00035
00045 class RabbitMQLog :
00046 public drizzled::plugin::TransactionApplier
00047 {
00048 private:
00049 RabbitMQHandler* _rabbitMQHandler;
00050 const std::string _exchange;
00051 const std::string _routingkey;
00052 public:
00053
00063 RabbitMQLog(const std::string &name,
00064 const std::string &exchange,
00065 const std::string &routingkey,
00066 RabbitMQHandler* mqHandler);
00067 ~RabbitMQLog();
00068
00078 drizzled::plugin::ReplicationReturnCode
00079 apply(drizzled::Session &session, const drizzled::message::Transaction &to_apply);
00080
00081 };
00082
00083 }
00084