File: FileSystemInitializer.h

package info (click to toggle)
spring 106.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 55,260 kB
  • sloc: cpp: 543,946; ansic: 44,800; python: 12,575; java: 12,201; awk: 5,889; sh: 1,796; asm: 1,546; xml: 655; perl: 405; php: 211; objc: 194; makefile: 76; sed: 2
file content (27 lines) | stat: -rw-r--r-- 863 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/* This file is part of the Spring engine (GPL v2 or later), see LICENSE.html */

#ifndef FILE_SYSTEM_INITIALIZER_H
#define FILE_SYSTEM_INITIALIZER_H

#include <atomic>
#include <string>

class FileSystemInitializer {
public:
	/// call in defined order!
	static void PreInitializeConfigHandler(const std::string& configSource = "", const std::string& configName = "", const bool safemode = false);
	static void InitializeLogOutput(const std::string& filename = "");
	static bool Initialize();
	static void InitializeThr(bool* retPtr) { *retPtr = Initialize(); }
	static void Cleanup(bool deallocConfigHandler = true);
	static void Reload();

	// either result counts
	static bool Initialized() { return (initSuccess || initFailure); }

private:
	static std::atomic<bool> initSuccess;
	static std::atomic<bool> initFailure;
};

#endif // FILE_SYSTEM_INITIALIZER_H