test/run_input: allocate ConfigData in class GlobalInit
This commit is contained in:
@@ -20,7 +20,9 @@
|
|||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include "TagSave.hxx"
|
#include "TagSave.hxx"
|
||||||
#include "tag/Tag.hxx"
|
#include "tag/Tag.hxx"
|
||||||
#include "config/Global.hxx"
|
#include "config/File.hxx"
|
||||||
|
#include "config/Migrate.hxx"
|
||||||
|
#include "config/Data.hxx"
|
||||||
#include "input/InputStream.hxx"
|
#include "input/InputStream.hxx"
|
||||||
#include "input/Init.hxx"
|
#include "input/Init.hxx"
|
||||||
#include "input/Registry.hxx"
|
#include "input/Registry.hxx"
|
||||||
@@ -101,22 +103,24 @@ ParseCommandLine(int argc, char **argv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
class GlobalInit {
|
class GlobalInit {
|
||||||
|
ConfigData config;
|
||||||
EventThread io_thread;
|
EventThread io_thread;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
GlobalInit(Path config_path, bool verbose) {
|
GlobalInit(Path config_path, bool verbose) {
|
||||||
SetLogThreshold(verbose ? LogLevel::DEBUG : LogLevel::INFO);
|
SetLogThreshold(verbose ? LogLevel::DEBUG : LogLevel::INFO);
|
||||||
|
|
||||||
io_thread.Start();
|
if (!config_path.IsNull()) {
|
||||||
config_global_init();
|
ReadConfigFile(config, config_path);
|
||||||
|
Migrate(config);
|
||||||
|
}
|
||||||
|
|
||||||
if (!config_path.IsNull())
|
io_thread.Start();
|
||||||
ReadConfigFile(config_path);
|
|
||||||
|
|
||||||
#ifdef ENABLE_ARCHIVE
|
#ifdef ENABLE_ARCHIVE
|
||||||
archive_plugin_init_all();
|
archive_plugin_init_all();
|
||||||
#endif
|
#endif
|
||||||
input_stream_global_init(GetGlobalConfig(),
|
input_stream_global_init(config,
|
||||||
io_thread.GetEventLoop());
|
io_thread.GetEventLoop());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -125,7 +129,6 @@ public:
|
|||||||
#ifdef ENABLE_ARCHIVE
|
#ifdef ENABLE_ARCHIVE
|
||||||
archive_plugin_deinit_all();
|
archive_plugin_deinit_all();
|
||||||
#endif
|
#endif
|
||||||
config_global_finish();
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user