← Documentation
ADS-IDAC Engine 5.0.0
SharedConfig.cpp
Go to the documentation of this file.
1#include "SharedConfig.h"
2#include "SimConstants.h"
3
4namespace adsidac {
5
6namespace {
7const Procedures* g_shared_procedures = nullptr;
8const ControlPanel* g_shared_control_panel = nullptr;
9}
10
11const Procedures* shared_procedures() { return g_shared_procedures; }
12void set_shared_procedures(const Procedures* master) { g_shared_procedures = master; }
13
14const ControlPanel* shared_control_panel() { return g_shared_control_panel; }
15void set_shared_control_panel(const ControlPanel* master) { g_shared_control_panel = master; }
16
17namespace {
18const KB* g_shared_kb_odm = nullptr;
19const KB* g_shared_kb_oat = nullptr;
20}
21// Two masters, one per crew role (sim::Operator::ODM / ::OAT).
22const KB* shared_kb(int operator_type) {
23 return operator_type == sim::Operator::ODM ? g_shared_kb_odm : g_shared_kb_oat;
24}
25void set_shared_kb(int operator_type, const KB* master) {
26 if (operator_type == sim::Operator::ODM) g_shared_kb_odm = master;
27 else g_shared_kb_oat = master;
28}
29
30namespace {
31const EventSymptomMatrix* g_shared_diag_odm = nullptr;
32const EventSymptomMatrix* g_shared_diag_oat = nullptr;
33}
35 return operator_type == sim::Operator::ODM ? g_shared_diag_odm : g_shared_diag_oat;
36}
37void set_shared_diagnosis_matrix(int operator_type, const EventSymptomMatrix* master) {
38 if (operator_type == sim::Operator::ODM) g_shared_diag_odm = master;
39 else g_shared_diag_oat = master;
40}
41
42} // namespace adsidac
Process-local masters of immutable configuration (state overlay).
Definition: KB.h:46
void set_shared_procedures(const Procedures *master)
const ControlPanel * shared_control_panel()
void set_shared_kb(int operator_type, const KB *master)
const Procedures * shared_procedures()
void set_shared_control_panel(const ControlPanel *master)
void set_shared_diagnosis_matrix(int operator_type, const EventSymptomMatrix *master)
const KB * shared_kb(int operator_type)
const EventSymptomMatrix * shared_diagnosis_matrix(int operator_type)
constexpr int ODM
Definition: SimConstants.h:145