VR-Engage  2.2
Loading...
Searching...
No Matches
export.h
Go to the documentation of this file.
1/******************************************************************************
2** Copyright (c) 2025 MAK Technologies
3** All rights reserved.
4******************************************************************************/
5
6//! \file export.h
7//! \brief Defines export macros and protocol namespace for vrePlayerStationConnector
8//!
9//! This header provides the necessary export macros for DLL import/export declarations
10//! and defines the DT_PROTOCOL_NAMESPACE macro based on the protocol being used
11//! (DIS, HLA 1.3, HLA 1516, or HLA 1516e)
12
13#pragma once
14
15#ifdef _WIN32
16
17 //! \brief Default setting for Windows DLL import
18 #define VRL_DLL __declspec(dllimport)
19
20 //! \brief Export definition for DIS protocol library
21 #ifdef vrePlayerStationDIS_EXPORTS
22 #undef VRL_DLL
23 #define VRL_DLL __declspec(dllexport)
24 #endif
25
26 //! \brief Export definition for HLA 1.3 protocol library
27 #ifdef vrePlayerStationHLA13_EXPORTS
28 #undef VRL_DLL
29 #define VRL_DLL __declspec(dllexport)
30 #endif
31
32 //! \brief Export definition for HLA 1516 protocol library
33 #ifdef vrePlayerStationHLA1516_EXPORTS
34 #undef VRL_DLL
35 #define VRL_DLL __declspec(dllexport)
36 #endif
37
38 //! \brief Export definition for HLA 1516 Evolved protocol library
39 #ifdef vrePlayerStationHLA1516e_EXPORTS
40 #undef VRL_DLL
41 #define VRL_DLL __declspec(dllexport)
42 #endif
43
44 //! \brief Export definition for HLA 4 (2025) protocol library
45 #ifdef vrePlayerStationHLA4_EXPORTS
46 #undef VRL_DLL
47 #define VRL_DLL __declspec(dllexport)
48 #endif
49
50#else
51 //! \brief Empty definition for non-Windows platforms
52 #define VRL_DLL
53#endif
54
55
56//! \brief Protocol namespace selection based on compilation flags
57#if defined(DtDIS)
58 //! \brief DIS protocol namespace definition
59 #define DT_PROTOCOL_NAMESPACE vrvDis
60 #include <vrvDis/vrvDis.h>
61#else
62 #if defined(DtHLA_1516)
63 #if defined(DtHLA_1516_EVOLVED)
64 #if defined(DtHLA_4)
65 //! \brief HLA 4 (2025) protocol namespace definition
66 #include <vrvHla4/vrvHla4.h>
67 #define DT_PROTOCOL_NAMESPACE vrvHla4
68 #else
69 //! \brief HLA 1516 Evolved protocol namespace definition
70 #include <vrvHla1516e/vrvHla1516e.h>
71 #define DT_PROTOCOL_NAMESPACE vrvHla1516e
72 #endif
73 #else
74 //! \brief HLA 1516 protocol namespace definition
75 #include <vrvHla1516/vrvHla1516.h>
76 #define DT_PROTOCOL_NAMESPACE vrvHla1516
77 #endif
78 #else
79 //! \brief HLA 1.3 protocol namespace definition
80 #include <vrvHla13/vrvHla13.h>
81 #define DT_PROTOCOL_NAMESPACE vrvHla13
82 #endif
83#endif