FlightGear next
fg_init.hxx
Go to the documentation of this file.
1/*
2* SPDX-FileComment: Flight Gear top level initialization routines
3* SPDX-License-Identifier: GPL-2.0-or-later
4* SPDX-FileCopyrightText: Copyright (C) 1997 Curtis L. Olson
5*/
6
7#pragma once
8
9#include <string>
10#include <optional>
11
12#include <simgear/misc/sg_path.hxx>
13
14// forward decls
15class SGPropertyNode;
16class SGPath;
17
18// Return the current base package version
19std::string fgBasePackageVersion(const SGPath& path);
20
26 std::string buildDate;
27 std::string gitRevision;
28};
29
36std::optional<FGBasePackageInfo>
37fgBasePackageInfo(const SGPath& path);
38
39SGPath fgHomePath();
40
48
50void fgShutdownHome();
51void fgDeleteLockFile();
52
53// Read in configuration (file and command line)
54int fgInitConfig ( int argc, char **argv, bool reinit );
55
56void fgInitAircraftPaths(bool reinit);
57
65int fgInitAircraft(bool reinit, bool didUseLauncher);
66
67// log various settings / configuration state
68void fgOutputSettings();
69
70// Initialize the localization
71SGPropertyNode *fgInitLocale(const char *language);
72
73// Init navaids and waypoints
74bool fgInitNav ();
75
76
77// General house keeping initializations
78bool fgInitGeneral ();
79
80
81// Create all the subsystems needed by the sim
82void fgCreateSubsystems(bool duringReset);
83
84// called after the subsystems have been bound and initialised,
85// to peform final init
87
88// Re-position: when only location is changing, we can do considerably
89// less work than a full re-init.
91
92void fgStartNewReset();
93
94// setup the package system including the global root
96
97// wipe FG_HOME. (The removing of the program data is assumed to be done
98// by the real installer).
99int fgUninstall();
100
101// flightgear specific exit(status) function
102void fgExit(int status);
103
104
105
int fgUninstall()
Definition fg_init.cxx:1513
void fgInitPackageRoot()
Definition fg_init.cxx:1496
InitHomeResult
Definition fg_init.hxx:42
@ InitHomeAbort
Definition fg_init.hxx:46
@ InitHomeExplicitReadOnly
Definition fg_init.hxx:45
@ InitHomeReadOnly
Definition fg_init.hxx:44
@ InitHomeOkay
Definition fg_init.hxx:43
void fgPostInitSubsystems()
Definition fg_init.cxx:1171
bool fgInitNav()
Initialize vor/ndb/ils/fix list management and query systems (as well as simple airport db list) This...
Definition fg_init.cxx:892
int fgInitAircraft(bool reinit, bool didUseLauncher)
Definition fg_init.cxx:803
void fgShutdownHome()
Definition fg_init.cxx:637
int fgInitConfig(int argc, char **argv, bool reinit)
Definition fg_init.cxx:688
void fgCreateSubsystems(bool duringReset)
Definition fg_init.cxx:997
void fgExit(int status)
SGPropertyNode * fgInitLocale(const char *language)
void fgStartNewReset()
Definition fg_init.cxx:1283
bool fgInitGeneral()
Definition fg_init.cxx:937
void fgInitAircraftPaths(bool reinit)
Definition fg_init.cxx:788
std::string fgBasePackageVersion(const SGPath &path)
Definition fg_init.cxx:156
void fgStartReposition()
Definition fg_init.cxx:1204
void fgDeleteLockFile()
Definition fg_init.cxx:651
std::optional< FGBasePackageInfo > fgBasePackageInfo(const SGPath &path)
Parse the base package info JSON.
Definition fg_init.cxx:174
SGPath fgHomePath()
Definition fg_init.cxx:524
InitHomeResult fgInitHome()
Definition fg_init.cxx:529
void fgOutputSettings()
Definition fg_init.cxx:972
static int status
structure holding parsed info from <base-package>/base_package.json
Definition fg_init.hxx:25
std::string buildDate
Definition fg_init.hxx:26
std::string gitRevision
Definition fg_init.hxx:27