17
17
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
20
#ifndef DRIZZLED_PLUGIN_H
21
#define DRIZZLED_PLUGIN_H
22
23
#include <boost/program_options.hpp>
23
24
#include <boost/filesystem.hpp>
25
#include <drizzled/module/manifest.h>
26
#include <drizzled/module/module.h>
27
#include <drizzled/plugin/version.h>
28
#include <drizzled/module/context.h>
29
#include <drizzled/definitions.h>
31
#include <drizzled/lex_string.h>
32
#include <drizzled/sys_var.h>
34
#include <drizzled/visibility.h>
26
#include "drizzled/module/manifest.h"
27
#include "drizzled/module/module.h"
28
#include "drizzled/plugin/version.h"
29
#include "drizzled/module/context.h"
30
#include "drizzled/definitions.h"
32
#include "drizzled/lex_string.h"
33
#include "drizzled/sys_var.h"
34
#include "drizzled/xid.h"
36
#include "drizzled/visibility.h"
43
struct charset_info_st;
38
45
/*************************************************************************
39
46
Plugin API. Common for all plugin types.
42
53
extern boost::filesystem::path plugin_dir;
55
namespace plugin { class StorageEngine; }
45
58
Macros for beginning and ending plugin declarations. Between
46
59
DRIZZLE_DECLARE_PLUGIN and DRIZZLE_DECLARE_PLUGIN_END there should
91
#define PLUGIN_VAR_BOOL 0x0001
92
#define PLUGIN_VAR_INT 0x0002
93
#define PLUGIN_VAR_LONG 0x0003
94
#define PLUGIN_VAR_LONGLONG 0x0004
95
#define PLUGIN_VAR_STR 0x0005
96
#define PLUGIN_VAR_UNSIGNED 0x0080
97
#define PLUGIN_VAR_SessionLOCAL 0x0100 /* Variable is per-connection */
78
98
#define PLUGIN_VAR_READONLY 0x0200 /* Server variable is read only */
99
#define PLUGIN_VAR_NOSYSVAR 0x0400 /* Not a server variable */
100
#define PLUGIN_VAR_NOCMDOPT 0x0800 /* Not a command line option */
101
#define PLUGIN_VAR_NOCMDARG 0x1000 /* No argument for cmd line */
102
#define PLUGIN_VAR_RQCMDARG 0x0000 /* Argument required for cmd line */
79
103
#define PLUGIN_VAR_OPCMDARG 0x2000 /* Argument optional for cmd line */
80
104
#define PLUGIN_VAR_MEMALLOC 0x8000 /* String needs memory allocated */