VR-Engage
2.2
Loading...
Searching...
No Matches
vreRtdBackendLibCommon.h
Go to the documentation of this file.
1
/*******************************************************************************
2
** Copyright (c) 2025 MAK Technologies
3
** All rights reserved.
4
*******************************************************************************/
5
6
//! \file vreRtdBackendLibCommon.h
7
//! \ingroup vreVrfRtd
8
//! \brief Common definitions for the RTD backend library
9
//!
10
//! This file provides common preprocessor macros, export declarations, and includes
11
//! that are used throughout the VREngage RTD (Real-Time Dynamics) backend libraries.
12
//! It establishes the export/import declarations for DLL boundaries and common
13
//! utility macros used by RTD components.
14
15
#pragma once
16
17
//! \brief Platform-specific DLL export/import declarations
18
//!
19
//! These macros define the appropriate export/import declarations for Windows DLLs
20
//! and establish proper visibility for shared libraries on Linux platforms.
21
#ifdef WIN32
22
#ifdef RTD_SHARED_BACKENDLIB_DLL
23
#ifdef RTD_VRF_BACKEND_PLUGIN_EXPORTS
24
#define RTD_VRF_BACKEND_PLUGIN_EXPORT _declspec(dllexport)
25
#else
26
#define RTD_VRF_BACKEND_PLUGIN_EXPORT _declspec(dllimport)
27
#endif
28
// Disable warnings: non dll-interface class 'Dt...' used as base for dll-interface class 'RtdVrf::...'
29
// This is perfectly OK in this scenario.
30
#pragma warning(disable : 4275)
31
#else
32
#define RTD_VRF_BACKEND_PLUGIN_EXPORT
33
#endif
34
#elif defined(__linux)
35
#define RTD_VRF_BACKEND_PLUGIN_EXPORT
36
#endif
37
38
//! \brief Macro to declare unimplemented copy constructor and assignment operator
39
//! \param className The name of the class to declare these functions for
40
//!
41
//! This macro declares a private, unimplemented copy constructor and assignment operator
42
//! for the specified class, preventing implicit copying and assignment. This is used
43
//! for classes that should not be copied, especially components and repositories.
44
#define UNIMPLEMENTED_COPYCTOR_AND_ASSIGNMENT_OPERATOR(className) \
45
className(const className& orig); \
46
const className& operator=(const className& orig);
47
48
//! \brief Include helper for managing warning configurations
49
#include <
vreVrfRtdobjparam/RTDVRFConfigWarnsForExternalIncludes.h
>
50
51
//! \brief Configure warnings for external includes
52
//!
53
//! Temporarily adjusts compiler warning settings for external includes.
54
//! Warnings are restored after the includes with #pragma warning(pop).
55
RTDVRFConfigWarnsForExternalIncludes
()
56
#include <vrftasks/radioMessageTypes.h>
57
#pragma warning(pop)
58
59
//! \brief Defines the minimum user radio message type
60
//!
61
//! This macro establishes the minimum value for user-defined radio message types,
62
//! ensuring they don't conflict with system-defined message types.
63
#define RTD_MIN_USER_RADIO_MESSAGE_TYPE MIN_USER_INTERFACE_MESSAGE_TYPE
64
65
//! \brief Include RTD common definitions
66
//!
67
//! Includes common types, constants, and utility functions used by the RTD system.
68
#include <RTD/Common.h>
RTDVRFConfigWarnsForExternalIncludes.h
Compiler warning configuration for external includes.
RTDVRFConfigWarnsForExternalIncludes
#define RTDVRFConfigWarnsForExternalIncludes()
Macro to configure compiler warnings for external includes.
Definition
RTDVRFConfigWarnsForExternalIncludes.h:29
Generated on 2026-01-13 from SVN revision 282860 - Copyright © 2005-2026 MAK Technologies. All Rights Reserved.