Files
qt6-migration-pipeline/external/rti_connext_dds-7.7.0/include/ndds/event/event_log.h
T
torstenandCopilot 342ffd3e5c Update submodule to latest BUILD_RTI fixes
- HandlerMinelayerData: BUILD_RTI Guards für RTI-Abhängigkeiten
- svcTabCommon: Export-Header-Fix via Fallback-Target
- TrainingAreaBase: Stub-Header für BUILD_RTI=OFF
- ddsfts: Include-Pfad und Dependency-Fixes
- BUILD_RTI=OFF Compilation vollständig unterstützt

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Entire-Checkpoint: 01M0JNZA586SACX1PRZ2DJAE5S
2026-08-21 19:30:20 +02:00

130 lines
4.2 KiB
C

/*
* (c) Copyright, Real-Time Innovations, 2002-2024.
* All rights reserved.
*
* No duplications, whole or partial, manual or electronic, may be made
* without express written permission. Any such copies, or
* revisions thereof, must display this notice unaltered.
* This code contains trade secrets of Real-Time Innovations, Inc.
*/
#ifndef event_log_h
#define event_log_h
#ifndef log_common_h
#include "log/log_common.h"
#endif
#ifndef event_dll_h
#include "event/event_dll.h"
#endif
#ifdef __cplusplus
extern "C" {
#endif
/*e \defgroup RTIEventModule RTIEvent
\ingroup RTI
\brief Provides framework for periodic or one-shot events.
More descriptive name for this module would be RTITimedEvent, as this does
not provide a more generic event mechanism seen in Win32 for example, but
focuses exclusively on . One might
consider reception of a network message to be an event, but since NDDS
is a network middleware, message reception takes on a more prominent role,
and is given its own module, RTINetio.
The basis of timed event is the timer (aka alarm) service, on top of which
you can put a array of future events, to create the timed event generator
service that has a dedicated event thread serving it. In fact, you can
dedicate a thread for any object that needs to be serviced every once in
while, such as the REDADatabase, which requires periodic garbage collection.
And that's precisely what we've done here, by offering
RTIEventActiveDatabase that makes an active object out of the REDADatabase.
@see RTIEventTimer RTIEventGenerator RTIEventActiveDatabase
*/
/*e \defgroup RTIEventLogClass RTIEventLog
\ingroup RTIEventModule
\brief integrated logging
NOTE: When a new submodule is added to event, it must be given
a number and entered here. Because of the use of this id
for logging, there are 16 submodule id's: 0x1000, 0x2000,...
..., 0xF000.
It is suggested we put the modules here in an order that
respects their dependencies: modules with a lower number
cannot depend on modules with a higher number.
*/
#define SUBMODULE_EVENT_TIMER_POLLED (0x1000)
#define SUBMODULE_EVENT_TIMER_SMART (0x2000)
#define SUBMODULE_EVENT_TIMER_GENERATOR (0x3000)
#define SUBMODULE_EVENT_TIMER_PASSIVE_GENERATOR (0x4000)
#define SUBMODULE_EVENT_TIMER_ACTIVE_GENERATOR (0x5000)
#define SUBMODULE_EVENT_TIMER_ACTIVE_DATABASE (0x6000)
#define SUBMODULE_EVENT_TIMER_JOB_DISPATCHER (0x7000)
/*e \ingroup RTIEventLogClass
\brief Turn off this bit if you don't want log coming from
RTIEventPolledTimer.
@see RTIEventPolledTimer
*/
#define RTI_EVENT_SUBMODULE_MASK_POLLED_TIMER (0x0001)
/*e \ingroup RTIEventLogClass
\brief Turn off this bit if you don't want log coming from
RTIEventSmartTimer.
@see RTIEventSmartTimer
*/
#define RTI_EVENT_SUBMODULE_MASK_SMART_TIMER (0x0002)
/*e \ingroup RTIEventLogClass
\brief Turn off this bit if you don't want log coming from
RTIEventGenerator, which is a superclass of both active and passive
generators.
@see RTIEventGenerator
*/
#define RTI_EVENT_SUBMODULE_MASK_GENERATOR (0x0004)
/*e \ingroup RTIEventLogClass
\brief Turn off this bit if you don't want log coming from
RTIEventPassiveGenerator.
@see RTIEventPassiveGenerator
*/
#define RTI_EVENT_SUBMODULE_MASK_PASSIVE_GENERATOR (0x0008)
/*e \ingroup RTIEventLogClass
\brief Turn off this bit if you don't want log coming from
RTIEventActiveGenerator
@see RTIEventActiveGenerator
*/
#define RTI_EVENT_SUBMODULE_MASK_ACTIVE_GENERATOR (0x0010)
/*e \ingroup RTIEventLogClass
\brief Turn off this bit if you don't want log coming from
RTIEventActiveDatabase
@see RTIEventActiveDatabase
*/
#define RTI_EVENT_SUBMODULE_MASK_ACTIVE_DATABASE (0x0020)
/*e \ingroup RTIEventLogClass
\brief Turn off this bit if you don't want log coming from
RTIEventJobScheduler
@see RTIEventJobScheduler
*/
#define RTI_EVENT_SUBMODULE_MASK_JOB_DISPATCHER (0x0040)
/*e \ingroup RTIEventLogClass
\brief Convenient way to say "log all submodules"
*/
#define RTI_EVENT_SUBMODULE_MASK_ALL RTI_LOG_SUBMODULE_MASK_ALL
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* event_log_h */