DatabasePlugin: pass config_param reference
This commit is contained in:
@@ -50,13 +50,13 @@ static bool db_is_open;
|
|||||||
static bool is_simple;
|
static bool is_simple;
|
||||||
|
|
||||||
bool
|
bool
|
||||||
DatabaseGlobalInit(const config_param *param, GError **error_r)
|
DatabaseGlobalInit(const config_param ¶m, GError **error_r)
|
||||||
{
|
{
|
||||||
assert(db == NULL);
|
assert(db == NULL);
|
||||||
assert(!db_is_open);
|
assert(!db_is_open);
|
||||||
|
|
||||||
const char *plugin_name =
|
const char *plugin_name =
|
||||||
config_get_block_string(param, "plugin", "simple");
|
param.GetBlockValue("plugin", "simple");
|
||||||
is_simple = strcmp(plugin_name, "simple") == 0;
|
is_simple = strcmp(plugin_name, "simple") == 0;
|
||||||
|
|
||||||
const DatabasePlugin *plugin = GetDatabasePluginByName(plugin_name);
|
const DatabasePlugin *plugin = GetDatabasePluginByName(plugin_name);
|
||||||
|
@@ -32,7 +32,7 @@ class Database;
|
|||||||
* @param param the database configuration block
|
* @param param the database configuration block
|
||||||
*/
|
*/
|
||||||
bool
|
bool
|
||||||
DatabaseGlobalInit(const config_param *param, GError **error_r);
|
DatabaseGlobalInit(const config_param ¶m, GError **error_r);
|
||||||
|
|
||||||
void
|
void
|
||||||
DatabaseGlobalDeinit(void);
|
DatabaseGlobalDeinit(void);
|
||||||
|
@@ -139,7 +139,7 @@ struct DatabasePlugin {
|
|||||||
/**
|
/**
|
||||||
* Allocates and configures a database.
|
* Allocates and configures a database.
|
||||||
*/
|
*/
|
||||||
Database *(*create)(const struct config_param *param,
|
Database *(*create)(const config_param ¶m,
|
||||||
GError **error_r);
|
GError **error_r);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -193,7 +193,7 @@ glue_db_init_and_load(void)
|
|||||||
param = allocated;
|
param = allocated;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!DatabaseGlobalInit(param, &error))
|
if (!DatabaseGlobalInit(*param, &error))
|
||||||
MPD_ERROR("%s", error->message);
|
MPD_ERROR("%s", error->message);
|
||||||
|
|
||||||
delete allocated;
|
delete allocated;
|
||||||
|
@@ -48,7 +48,7 @@ class ProxyDatabase : public Database {
|
|||||||
Directory *root;
|
Directory *root;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static Database *Create(const struct config_param *param,
|
static Database *Create(const config_param ¶m,
|
||||||
GError **error_r);
|
GError **error_r);
|
||||||
|
|
||||||
virtual bool Open(GError **error_r) override;
|
virtual bool Open(GError **error_r) override;
|
||||||
@@ -73,7 +73,7 @@ public:
|
|||||||
GError **error_r) const override;
|
GError **error_r) const override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
bool Configure(const struct config_param *param, GError **error_r);
|
bool Configure(const config_param ¶m, GError **error_r);
|
||||||
};
|
};
|
||||||
|
|
||||||
G_GNUC_CONST
|
G_GNUC_CONST
|
||||||
@@ -132,7 +132,7 @@ CheckError(struct mpd_connection *connection, GError **error_r)
|
|||||||
}
|
}
|
||||||
|
|
||||||
Database *
|
Database *
|
||||||
ProxyDatabase::Create(const struct config_param *param, GError **error_r)
|
ProxyDatabase::Create(const config_param ¶m, GError **error_r)
|
||||||
{
|
{
|
||||||
ProxyDatabase *db = new ProxyDatabase();
|
ProxyDatabase *db = new ProxyDatabase();
|
||||||
if (!db->Configure(param, error_r)) {
|
if (!db->Configure(param, error_r)) {
|
||||||
@@ -144,10 +144,10 @@ ProxyDatabase::Create(const struct config_param *param, GError **error_r)
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
ProxyDatabase::Configure(const struct config_param *param, GError **)
|
ProxyDatabase::Configure(const config_param ¶m, GError **)
|
||||||
{
|
{
|
||||||
host = config_get_block_string(param, "host", "");
|
host = param.GetBlockValue("host", "");
|
||||||
port = config_get_block_unsigned(param, "port", 0);
|
port = param.GetBlockValue("port", 0u);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@@ -41,7 +41,7 @@ simple_db_quark(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
Database *
|
Database *
|
||||||
SimpleDatabase::Create(const struct config_param *param, GError **error_r)
|
SimpleDatabase::Create(const config_param ¶m, GError **error_r)
|
||||||
{
|
{
|
||||||
SimpleDatabase *db = new SimpleDatabase();
|
SimpleDatabase *db = new SimpleDatabase();
|
||||||
if (!db->Configure(param, error_r)) {
|
if (!db->Configure(param, error_r)) {
|
||||||
@@ -53,11 +53,11 @@ SimpleDatabase::Create(const struct config_param *param, GError **error_r)
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
SimpleDatabase::Configure(const struct config_param *param, GError **error_r)
|
SimpleDatabase::Configure(const config_param ¶m, GError **error_r)
|
||||||
{
|
{
|
||||||
GError *error = NULL;
|
GError *error = NULL;
|
||||||
|
|
||||||
char *_path = config_dup_block_path(param, "path", &error);
|
char *_path = param.DupBlockPath("path", &error);
|
||||||
if (_path == NULL) {
|
if (_path == NULL) {
|
||||||
if (error != NULL)
|
if (error != NULL)
|
||||||
g_propagate_error(error_r, error);
|
g_propagate_error(error_r, error);
|
||||||
|
@@ -60,7 +60,7 @@ public:
|
|||||||
return mtime;
|
return mtime;
|
||||||
}
|
}
|
||||||
|
|
||||||
static Database *Create(const struct config_param *param,
|
static Database *Create(const config_param ¶m,
|
||||||
GError **error_r);
|
GError **error_r);
|
||||||
|
|
||||||
virtual bool Open(GError **error_r) override;
|
virtual bool Open(GError **error_r) override;
|
||||||
@@ -86,7 +86,7 @@ public:
|
|||||||
GError **error_r) const override;
|
GError **error_r) const override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
bool Configure(const struct config_param *param, GError **error_r);
|
bool Configure(const config_param ¶m, GError **error_r);
|
||||||
|
|
||||||
gcc_pure
|
gcc_pure
|
||||||
bool Check(GError **error_r) const;
|
bool Check(GError **error_r) const;
|
||||||
|
@@ -113,7 +113,7 @@ main(int argc, char **argv)
|
|||||||
if (path != nullptr)
|
if (path != nullptr)
|
||||||
param.AddBlockParam("path", path->value, path->line);
|
param.AddBlockParam("path", path->value, path->line);
|
||||||
|
|
||||||
Database *db = plugin->create(¶m, &error);
|
Database *db = plugin->create(param, &error);
|
||||||
|
|
||||||
if (db == nullptr) {
|
if (db == nullptr) {
|
||||||
cerr << error->message << endl;
|
cerr << error->message << endl;
|
||||||
|
Reference in New Issue
Block a user