-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathSharedMem.cpp
More file actions
30 lines (24 loc) · 1.13 KB
/
SharedMem.cpp
File metadata and controls
30 lines (24 loc) · 1.13 KB
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
28
29
30
#include "SharedMem.h"
void log_debug(const char *format, ...);
void InitSharedMem() {
// Create the shared memory file or open it if it already exists.
g_SharedData = (SharedMemDataCockpitLook*)g_SharedMem.GetMemoryPointer();
if (g_SharedData == nullptr) {
log_debug("Could not get pointer to shared CockpitLook data");
return;
}
// We consider the data is ready as soon as the shared memory is initialized
// This works because we don't have actual concurrent threads accessing it.
// All DLLs belong to the same thread.
g_SharedMem.SetDataReady();
g_pSharedDataTelemetry = (SharedMemDataTelemetry*)g_SharedMemTelemetry.GetMemoryPointer();
if (g_pSharedDataTelemetry == nullptr) {
log_debug("[TLM] Could not get pointer to shared Telemetry data");
return;
}
}
SharedMemDataCockpitLook* g_SharedData = nullptr;
SharedMemDataTelemetry* g_pSharedDataTelemetry = nullptr;
// Create the shared memory as a global variable
SharedMem<SharedMemDataCockpitLook> g_SharedMem(SHARED_MEM_NAME_COCKPITLOOK, true, true);
SharedMem<SharedMemDataTelemetry> g_SharedMemTelemetry(SHARED_MEM_NAME_TELEMETRY, true, true);