37
37
This object handles the aggregate of all operations for any/all of the Catalog engines.
39
class DRIZZLED_API Catalog : public Plugin {
40
/* Disable default constructors */
42
Catalog(const Catalog &);
43
Catalog& operator=(const Catalog &);
39
class DRIZZLED_API Catalog : public Plugin
46
42
typedef std::vector<Catalog *> vector;
48
44
explicit Catalog(std::string name_arg) :
49
45
Plugin(name_arg, "Catalog")
53
48
virtual catalog::Engine::shared_ptr engine()= 0;
55
static bool create(identifier::Catalog::const_reference);
56
static bool create(identifier::Catalog::const_reference, message::catalog::shared_ptr &);
57
static bool drop(identifier::Catalog::const_reference);
50
static bool create(const identifier::Catalog&);
51
static bool create(const identifier::Catalog&, message::catalog::shared_ptr &);
52
static bool drop(const identifier::Catalog&);
59
static bool lock(identifier::Catalog::const_reference);
60
static bool unlock(identifier::Catalog::const_reference);
54
static bool lock(const identifier::Catalog&);
55
static bool unlock(const identifier::Catalog&);
62
57
// Required for plugin interface
63
58
static bool addPlugin(plugin::Catalog *plugin);
64
59
static void removePlugin(plugin::Catalog *plugin);
66
61
// Get Meta information
67
static bool exist(identifier::Catalog::const_reference);
68
static void getIdentifiers(identifier::Catalog::vector &identifiers);
62
static bool exist(const identifier::Catalog&);
63
static void getIdentifiers(identifier::catalog::vector &identifiers);
69
64
static void getMessages(message::catalog::vector &messages);
70
static message::catalog::shared_ptr getMessage(identifier::Catalog::const_reference);
65
static message::catalog::shared_ptr getMessage(const identifier::Catalog&);
73
static catalog::Instance::shared_ptr getInstance(identifier::Catalog::const_reference);
68
static catalog::Instance::shared_ptr getInstance(const identifier::Catalog&);
76
71
} /* namespace plugin */