~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/plugin_registry.h

  • Committer: Monty Taylor
  • Date: 2009-04-10 18:17:59 UTC
  • mto: (992.1.1 mordred)
  • mto: This revision was merged to the branch mainline in revision 990.
  • Revision ID: mordred@inaugust.com-20090410181759-wr58on1xxc9lwzut
Made plugin registration go through Plugin_registry.

Show diffs side-by-side

added added

removed removed

Lines of Context:
20
20
#ifndef DRIZZLED_PLUGIN_REGISTRY_H
21
21
#define DRIZZLED_PLUGIN_REGISTRY_H
22
22
 
 
23
#include <drizzled/plugin/storage_engine.h>
 
24
 
23
25
#include <string>
24
26
#include <vector>
25
27
#include <map>
26
28
 
 
29
class StorageEngine;
 
30
struct ST_SCHEMA_TABLE;
 
31
class Function_builder;
 
32
class Logging_handler;
 
33
class Error_message_handler;
 
34
class Authentication;
 
35
class QueryCache;
 
36
class SchedulerFactory;
 
37
class ProtocolFactory;
 
38
 
27
39
class Plugin_registry
28
40
{
29
41
private:
34
46
public:
35
47
  Plugin_registry() {}
36
48
 
 
49
 
37
50
  st_plugin_int *find(const LEX_STRING *name, int type);
38
51
 
39
52
  void add(st_mysql_plugin *handle, st_plugin_int *plugin);
41
54
  void get_list(uint32_t type, std::vector<st_plugin_int *> &plugins, bool active);
42
55
  static Plugin_registry& get_plugin_registry();
43
56
 
 
57
  void registerPlugin(StorageEngine *engine);
 
58
  void registerPlugin(ST_SCHEMA_TABLE *schema_table);
 
59
  void registerPlugin(Function_builder *udf);
 
60
  void registerPlugin(Logging_handler *handler);
 
61
  void registerPlugin(Error_message_handler *handler);
 
62
  void registerPlugin(Authentication *auth);
 
63
  void registerPlugin(QueryCache *qcache);
 
64
  void registerPlugin(SchedulerFactory *scheduler);
 
65
  void registerPlugin(ProtocolFactory *protocol);
 
66
 
44
67
};
45
68
 
46
69
#endif /* DRIZZLED_PLUGIN_REGISTRY_H */