~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/plugin/manifest.h

Blackhole, CSV, Pool of Threads,Single Thread, Multi Thread.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/* -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*-
2
2
 *  vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
3
3
 *
4
 
 *  Copyright (C) 2009 Sun Microsystems, Inc.
 
4
 *  Copyright (C) 2009 Sun Microsystems
5
5
 *
6
6
 *  This program is free software; you can redistribute it and/or modify
7
7
 *  it under the terms of the GNU General Public License as published by
17
17
 *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
18
18
 */
19
19
 
20
 
#ifndef DRIZZLED_MODULE_MANIFEST_H
21
 
#define DRIZZLED_MODULE_MANIFEST_H
22
 
 
23
 
/**
24
 
 * @file Defines a Plugin Manifest
25
 
 *
26
 
 * A module::Manifest is the struct contained in every Plugin Library.
27
 
 */
28
 
 
29
 
#include <drizzled/module/context.h>
30
 
#include <drizzled/module/option_context.h>
31
 
 
32
 
namespace drizzled
33
 
{
 
20
#ifndef DRIZZLED_PLUGIN_MANIFEST_H
 
21
#define DRIZZLED_PLUGIN_MANIFEST_H
 
22
 
 
23
#include <drizzled/plugin/registry.h>
34
24
 
35
25
struct drizzle_show_var;
36
26
struct drizzle_sys_var;
45
35
};
46
36
 
47
37
 
48
 
namespace module
 
38
namespace drizzled
 
39
{
 
40
namespace plugin
49
41
{
50
42
 
51
 
typedef int (*initialize_func_t)(::drizzled::module::Context &);
52
 
typedef void (*options_func_t)(::drizzled::module::option_context &);
 
43
typedef int (*initialize_func_t)(Registry &);
53
44
 
54
45
/**
55
46
 * Plugin Manfiest
61
52
 */
62
53
struct Manifest
63
54
{
64
 
  uint64_t drizzle_version;  /* Drizzle version the plugin was compiled for  */
65
55
  const char *name;          /* plugin name (for SHOW PLUGINS)               */
66
56
  const char *version;       /* plugin version (for SHOW PLUGINS)            */
67
57
  const char *author;        /* plugin author (for SHOW PLUGINS)             */
68
58
  const char *descr;         /* general descriptive text (for SHOW PLUGINS ) */
69
59
  plugin_license_type license; /* plugin license (PLUGIN_LICENSE_XXX)          */
70
60
  initialize_func_t init;     /* function to invoke when plugin is loaded     */
71
 
  const char *depends;
72
 
  options_func_t init_options; /* register command line options              */
 
61
  initialize_func_t deinit;   /* function to invoke when plugin is unloaded   */
 
62
  drizzle_show_var *status_vars;
 
63
  drizzle_sys_var **system_vars;
 
64
  void *reserved1;           /* reserved for dependency checking             */
73
65
};
74
66
 
75
 
} /* namespace module */
 
67
} /* namespace plugin */
76
68
} /* namespace drizzled */
77
69
 
78
 
#endif /* DRIZZLED_MODULE_MANIFEST_H */
 
70
#endif /* DRIZZLED_PLUGIN_MANIFEST_H */