26#ifndef MYSQLROUTER_PLUGIN_INFO_PLUGIN_INCLUDED
27#define MYSQLROUTER_PLUGIN_INFO_PLUGIN_INCLUDED
35#include "mysql/harness/plugin.h"
88 friend std::ostream &
operator<<(std::ostream &stream,
104 static void copy_to_list(std::list<std::string> &out_list,
105 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:76
std::string arch_descriptor
Definition: plugin.h:111
Plugin_info(const Plugin_v1 &plugin)
Constructor.
Definition: plugin.cc:38
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:98
uint32_t abi_version
Definition: plugin.h:109
std::list< std::string > requires_plugins
Definition: plugin.h:115
std::list< std::string > conflicts
Definition: plugin.h:116
void print_as_json(std::ostream &out_stream) const
Definition: plugin.cc:64
static std::string get_abi_version_str(uint32_t ver)
converts ABI version integer to string representation
Definition: plugin.cc:48
static void copy_to_list(std::list< std::string > &out_list, const char **in_list, size_t in_list_size)
Definition: plugin.cc:59
std::string brief
Definition: plugin.h:112
uint32_t plugin_version
Definition: plugin.h:113
static std::string get_plugin_version_str(uint32_t ver)
converts plugin version integer to string representation
Definition: plugin.cc:53
static MYSQL_PLUGIN plugin_info
Definition: rewriter_plugin.cc:89
The assumed and expected beginning of each version of Plugin struct.
Definition: plugin.h:42
uint32_t abi_version
Definition: plugin.h:43
Data fields of the first version of the Plugin struct.
Definition: plugin.h:53
const char * arch_descriptor
Definition: plugin.h:56
const char ** conflicts
Definition: plugin.h:64
size_t requires_length
Definition: plugin.h:60
const char * brief
Definition: plugin.h:57
uint32_t plugin_version
Definition: plugin.h:58
size_t conflicts_length
Definition: plugin.h:63
uint32_t abi_version
Definition: plugin.h:54
const char ** requires_plugins
Definition: plugin.h:61