25#ifndef MYSQLROUTER_PLUGIN_INFO_PLUGIN_INCLUDED
26#define MYSQLROUTER_PLUGIN_INFO_PLUGIN_INCLUDED
33#include "mysql/harness/plugin.h"
86 friend std::ostream &
operator<<(std::ostream &stream,
102 static void copy_to_list(std::list<std::string> &out_list,
103 const char **in_list,
size_t in_list_size);
Version independent plugin data storage, defines conversion from existing versions and enables writin...
Definition: plugin.h:74
std::string arch_descriptor
Definition: plugin.h:109
Plugin_info(const Plugin_v1 &plugin)
Constructor.
Definition: plugin.cc:37
friend std::ostream & operator<<(std::ostream &stream, const Plugin_info &plugin_info)
prints the JSON representation of the Plugin_info object to the selected output stream
Definition: plugin.cc:97
uint32_t abi_version
Definition: plugin.h:107
std::list< std::string > requires_plugins
Definition: plugin.h:113
std::list< std::string > conflicts
Definition: plugin.h:114
void print_as_json(std::ostream &out_stream) const
Definition: plugin.cc:63
static std::string get_abi_version_str(uint32_t ver)
converts ABI version integer to string representation
Definition: plugin.cc:47
static void copy_to_list(std::list< std::string > &out_list, const char **in_list, size_t in_list_size)
Definition: plugin.cc:58
std::string brief
Definition: plugin.h:110
uint32_t plugin_version
Definition: plugin.h:111
static std::string get_plugin_version_str(uint32_t ver)
converts plugin version integer to string representation
Definition: plugin.cc:52
static MYSQL_PLUGIN plugin_info
Definition: rewriter_plugin.cc:88
The assumed and expected beginning of each version of Plugin struct.
Definition: plugin.h:40
uint32_t abi_version
Definition: plugin.h:41
Data fields of the first version of the Plugin struct.
Definition: plugin.h:51
const char * arch_descriptor
Definition: plugin.h:54
const char ** conflicts
Definition: plugin.h:62
size_t requires_length
Definition: plugin.h:58
const char * brief
Definition: plugin.h:55
uint32_t plugin_version
Definition: plugin.h:56
size_t conflicts_length
Definition: plugin.h:61
uint32_t abi_version
Definition: plugin.h:52
const char ** requires_plugins
Definition: plugin.h:59