~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/plugin/manifest.h

Reverted my change to interval_list

Show diffs side-by-side

added added

removed removed

Lines of Context:
20
20
#ifndef DRIZZLED_PLUGIN_MANIFEST_H
21
21
#define DRIZZLED_PLUGIN_MANIFEST_H
22
22
 
23
 
/**
24
 
 * @file Defines a Plugin Manifest
25
 
 *
26
 
 * A plugin::Manifest is the struct contained in every Plugin Library.
27
 
 */
28
 
 
29
 
#include "drizzled/plugin/context.h"
30
 
 
31
 
namespace drizzled
32
 
{
33
 
 
34
 
struct drizzle_show_var;
35
 
struct drizzle_sys_var;
 
23
#include <drizzled/plugin_registry.h>
 
24
 
 
25
struct st_mysql_show_var;
 
26
struct st_mysql_sys_var;
36
27
 
37
28
/* We use the following strings to define licenses for plugins */
38
29
enum plugin_license_type {
44
35
};
45
36
 
46
37
 
 
38
namespace drizzled
 
39
{
47
40
namespace plugin
48
41
{
49
42
 
50
 
typedef int (*initialize_func_t)(Context &);
 
43
static const std::string LICENSE_GPL_STRING("GPL");
 
44
static const std::string LICENSE_BSD_STRING("BSD");
 
45
static const std::string LICENSE_LGPL_STRING("LGPL");
 
46
static const std::string LICENSE_PROPRIETARY_STRING("PROPRIETARY");
 
47
 
 
48
typedef int (*initialize_func_t)(PluginRegistry &);
51
49
 
52
50
/**
53
51
 * Plugin Manfiest
59
57
 */
60
58
struct Manifest
61
59
{
62
 
  uint64_t drizzle_version;  /* Drizzle version the plugin was compiled for  */
63
60
  const char *name;          /* plugin name (for SHOW PLUGINS)               */
64
61
  const char *version;       /* plugin version (for SHOW PLUGINS)            */
65
62
  const char *author;        /* plugin author (for SHOW PLUGINS)             */
66
63
  const char *descr;         /* general descriptive text (for SHOW PLUGINS ) */
67
64
  plugin_license_type license; /* plugin license (PLUGIN_LICENSE_XXX)          */
68
65
  initialize_func_t init;     /* function to invoke when plugin is loaded     */
69
 
  drizzle_sys_var **system_vars;
 
66
  initialize_func_t deinit;   /* function to invoke when plugin is unloaded   */
 
67
  st_mysql_show_var *status_vars;
 
68
  st_mysql_sys_var **system_vars;
70
69
  void *reserved1;           /* reserved for dependency checking             */
71
70
};
72
71