DatabasePlugin: add interface DatabaseListener

Allow database plugins to announce that they have been modified.
This commit is contained in:
Max Kellermann
2014-01-11 01:01:54 +01:00
parent 00adf7ff17
commit 114df1f137
13 changed files with 93 additions and 13 deletions

View File

@@ -49,7 +49,8 @@ class ProxyDatabase : public Database {
mutable time_t update_stamp;
public:
static Database *Create(const config_param &param,
static Database *Create(EventLoop &loop, DatabaseListener &listener,
const config_param &param,
Error &error);
virtual bool Open(Error &error) override;
@@ -218,7 +219,9 @@ SendConstraints(mpd_connection *connection, const DatabaseSelection &selection)
}
Database *
ProxyDatabase::Create(const config_param &param, Error &error)
ProxyDatabase::Create(gcc_unused EventLoop &loop,
gcc_unused DatabaseListener &listener,
const config_param &param, Error &error)
{
ProxyDatabase *db = new ProxyDatabase();
if (!db->Configure(param, error)) {

View File

@@ -38,7 +38,9 @@
static constexpr Domain simple_db_domain("simple_db");
Database *
SimpleDatabase::Create(const config_param &param, Error &error)
SimpleDatabase::Create(gcc_unused EventLoop &loop,
gcc_unused DatabaseListener &listener,
const config_param &param, Error &error)
{
SimpleDatabase *db = new SimpleDatabase();
if (!db->Configure(param, error)) {

View File

@@ -53,7 +53,8 @@ public:
bool Save(Error &error);
static Database *Create(const config_param &param,
static Database *Create(EventLoop &loop, DatabaseListener &listener,
const config_param &param,
Error &error);
virtual bool Open(Error &error) override;

View File

@@ -69,7 +69,8 @@ public:
: m_lib(0), m_superdir(0), m_root(0)
{}
static Database *Create(const config_param &param,
static Database *Create(EventLoop &loop, DatabaseListener &listener,
const config_param &param,
Error &error);
virtual bool Open(Error &error) override;
@@ -182,7 +183,9 @@ stringToTokens(const std::string &str,
}
Database *
UpnpDatabase::Create(const config_param &param, Error &error)
UpnpDatabase::Create(gcc_unused EventLoop &loop,
gcc_unused DatabaseListener &listener,
const config_param &param, Error &error)
{
UpnpDatabase *db = new UpnpDatabase();
if (db && !db->Configure(param, error)) {