test/run_input, ...: RAII-style global initialization
This commit is contained in:
@@ -35,8 +35,29 @@
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
|
||||
class GlobalInit {
|
||||
const ScopeIOThread io_thread;
|
||||
|
||||
public:
|
||||
GlobalInit() {
|
||||
config_global_init();
|
||||
#ifdef ENABLE_ARCHIVE
|
||||
archive_plugin_init_all();
|
||||
#endif
|
||||
input_stream_global_init();
|
||||
}
|
||||
|
||||
~GlobalInit() {
|
||||
input_stream_global_finish();
|
||||
#ifdef ENABLE_ARCHIVE
|
||||
archive_plugin_deinit_all();
|
||||
#endif
|
||||
config_global_finish();
|
||||
}
|
||||
};
|
||||
|
||||
class MyArchiveVisitor final : public ArchiveVisitor {
|
||||
public:
|
||||
public:
|
||||
virtual void VisitArchiveEntry(const char *path_utf8) override {
|
||||
printf("%s\n", path_utf8);
|
||||
}
|
||||
@@ -55,13 +76,7 @@ try {
|
||||
|
||||
/* initialize MPD */
|
||||
|
||||
config_global_init();
|
||||
|
||||
const ScopeIOThread io_thread;
|
||||
|
||||
archive_plugin_init_all();
|
||||
|
||||
input_stream_global_init();
|
||||
const GlobalInit init;
|
||||
|
||||
/* open the archive and dump it */
|
||||
|
||||
@@ -79,14 +94,6 @@ try {
|
||||
file->Visit(visitor);
|
||||
file->Close();
|
||||
|
||||
/* deinitialize everything */
|
||||
|
||||
input_stream_global_finish();
|
||||
|
||||
archive_plugin_deinit_all();
|
||||
|
||||
config_global_finish();
|
||||
|
||||
return result;
|
||||
} catch (const std::exception &e) {
|
||||
LogError(e);
|
||||
|
Reference in New Issue
Block a user