27
27
#include <drizzled/catalog/instance.h>
28
28
#include <drizzled/catalog/engine.h>
30
#include "drizzled/visibility.h"
38
This object handles the aggregate of all operations for any/all of the Catalog engines.
40
class DRIZZLED_API Catalog : public Plugin {
35
class Catalog : public Plugin {
41
36
/* Disable default constructors */
43
38
Catalog(const Catalog &);
54
49
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);
51
static bool create(const identifier::Catalog &);
52
static bool create(const identifier::Catalog &, message::catalog::shared_ptr &);
53
static bool drop(const identifier::Catalog &);
60
static bool lock(identifier::Catalog::const_reference);
61
static bool unlock(identifier::Catalog::const_reference);
55
static bool lock(const identifier::Catalog &);
56
static bool unlock(const identifier::Catalog &);
63
58
// Required for plugin interface
64
59
static bool addPlugin(plugin::Catalog *plugin);
65
60
static void removePlugin(plugin::Catalog *plugin);
67
62
// Get Meta information
68
static bool exist(identifier::Catalog::const_reference);
63
static bool exist(const identifier::Catalog &identifier);
69
64
static void getIdentifiers(identifier::Catalog::vector &identifiers);
70
65
static void getMessages(message::catalog::vector &messages);
71
static message::catalog::shared_ptr getMessage(identifier::Catalog::const_reference);
66
static bool getMessage(const identifier::Catalog &identifier, message::catalog::shared_ptr &message);
74
static catalog::Instance::shared_ptr getInstance(identifier::Catalog::const_reference);
69
static catalog::Instance::shared_ptr getInstance(const identifier::Catalog &identifier);
77
72
} /* namespace plugin */