22
#ifndef DRIZZLED_PLUGIN_CATALOG_H
23
#define DRIZZLED_PLUGIN_CATALOG_H
25
24
#include <drizzled/plugin/plugin.h>
26
25
#include <drizzled/identifier.h>
27
26
#include <drizzled/catalog/instance.h>
28
27
#include <drizzled/catalog/engine.h>
30
#include "drizzled/visibility.h"
29
#include <drizzled/visibility.h>
54
53
virtual catalog::Engine::shared_ptr engine()= 0;
56
static bool create(identifier::Catalog::const_reference);
57
static bool create(identifier::Catalog::const_reference, message::catalog::shared_ptr &);
58
static bool drop(identifier::Catalog::const_reference);
55
static bool create(const identifier::Catalog&);
56
static bool create(const identifier::Catalog&, message::catalog::shared_ptr &);
57
static bool drop(const identifier::Catalog&);
60
static bool lock(identifier::Catalog::const_reference);
61
static bool unlock(identifier::Catalog::const_reference);
59
static bool lock(const identifier::Catalog&);
60
static bool unlock(const identifier::Catalog&);
63
62
// Required for plugin interface
64
63
static bool addPlugin(plugin::Catalog *plugin);
65
64
static void removePlugin(plugin::Catalog *plugin);
67
66
// Get Meta information
68
static bool exist(identifier::Catalog::const_reference);
69
static void getIdentifiers(identifier::Catalog::vector &identifiers);
67
static bool exist(const identifier::Catalog&);
68
static void getIdentifiers(identifier::catalog::vector &identifiers);
70
69
static void getMessages(message::catalog::vector &messages);
71
static message::catalog::shared_ptr getMessage(identifier::Catalog::const_reference);
70
static message::catalog::shared_ptr getMessage(const identifier::Catalog&);
74
static catalog::Instance::shared_ptr getInstance(identifier::Catalog::const_reference);
73
static catalog::Instance::shared_ptr getInstance(const identifier::Catalog&);
77
76
} /* namespace plugin */
78
77
} /* namespace drizzled */
80
#endif /* DRIZZLED_PLUGIN_CATALOG_H */