~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/module/module.h

update

Show diffs side-by-side

added added

removed removed

Lines of Context:
28
28
 * or more plugin::Plugin objects. 
29
29
 */
30
30
 
31
 
#include <cassert>
 
31
#include <string>
32
32
#include <vector>
33
 
#include <boost/program_options.hpp>
34
 
 
35
 
#include <drizzled/module/manifest.h>
36
 
#include <drizzled/module/registry.h>
37
 
 
38
 
 
39
 
namespace drizzled
40
 
{
 
33
 
 
34
namespace drizzled {
 
35
 
41
36
class set_var;
42
 
 
43
 
void module_shutdown(module::Registry &registry);
44
 
 
45
 
namespace module
46
 
{
 
37
class sys_var;
 
38
 
 
39
namespace module { class Registry; }
 
40
 
 
41
void module_shutdown(module::Registry&);
 
42
 
 
43
namespace module {
47
44
 
48
45
class Library;
 
46
class Manifest;
49
47
class VertexHandle;
50
48
 
51
49
/* A plugin module */
55
53
  typedef std::vector<sys_var *> Variables;
56
54
  typedef std::vector<std::string> Depends;
57
55
 
58
 
private:
59
 
  const std::string name;
60
 
  const Manifest *manifest;
61
 
  VertexHandle *vertex_;
62
 
 
63
 
public:
64
56
  Library *plugin_dl;
65
57
  bool isInited;
66
58
  Variables system_vars;         /* server variables for this plugin */
67
59
  Variables sys_vars;
68
60
  Depends depends_;
69
61
 
70
 
  Module(const Manifest *manifest_arg,
71
 
         Library *library_arg);
72
 
 
 
62
  Module(const Manifest *manifest_arg, Library *library_arg);
73
63
  ~Module();
74
64
 
75
65
  const std::string& getName() const
79
69
 
80
70
  const Manifest& getManifest() const
81
71
  {
82
 
    return *manifest;
 
72
    return manifest;
83
73
  }
84
74
 
85
75
  void addMySysVar(sys_var *var)
112
102
  {
113
103
    return vertex_;
114
104
  }
 
105
private:
 
106
  const std::string name;
 
107
  const Manifest &manifest;
 
108
  VertexHandle *vertex_;
115
109
};
116
110
 
117
111
} /* namespace module */