Files
qt6-migration-pipeline/external/rti_connext_dds-7.7.0/include/clouddiscoveryservice/clouddiscoveryservice_infrastructure.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

179 lines
5.2 KiB
C

/*
* Copyright (c) 2016-2025 Real-Time Innovations, Inc. 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 clouddiscoveryservice_infrastructure_h
#define clouddiscoveryservice_infrastructure_h
#ifndef cds_dll_h
#include "clouddiscoveryservice/clouddiscoveryservice_dll.h"
#endif
#ifndef ndds_c_h
#include "ndds/ndds_c.h"
#endif
#ifndef core_version_version_h
#include "core_version/core_version_version.h"
#endif
#ifdef __cplusplus
extern "C" {
#endif
/*e \file
\brief Service infrastructure
*/
#define RTI_CDS_VARIABLE_LENGTH_VALUE_TYPE_SUPPORT(T) \
struct T; \
CDSDllExport void T##_initialize(struct T *self); \
CDSDllExport void T##_finalize(struct T *self); \
CDSDllExport struct T *T##_copy(struct T *self, const struct T *from)
#define RTI_CDS_VARIABLE_LENGTH_VALUE_TYPE_SUPPORT_W_ERROR_CHECKING(T) \
struct T; \
CDSDllExport RTIBool T##_initialize(struct T *self); \
CDSDllExport void T##_finalize(struct T *self); \
CDSDllExport RTIBool T##_copy(struct T *self, const struct T *from)
/*e \ingroup RTI_CDS_ServiceProperty
*
* @brief Allows all domain IDs for @product.
*
*/
#define RTI_CDS_DomainListProperty_INITIALIZER \
{ \
NULL, NULL \
}
#define RTI_CDS_DOMAIN_LIST_PROPERTY_ALL_VALUE ("DOMAIN_LIST_ALL")
#define RTI_CDS_DOMAIN_LIST_PROPERTY_EMPTY_VALUE ("")
RTI_CDS_VARIABLE_LENGTH_VALUE_TYPE_SUPPORT(RTI_CDS_DomainListProperty);
struct RTI_CDS_DomainListProperty {
/*e
* @brief The list of domain IDs where @product processes the incoming
* participant announcements.
*
* @default NULL. Use value from XML configuration.
*/
char *allow_domain_ids;
/*e
* @brief The list of domain IDs to deny or ignore. Overrides
* \ref allow_domain_ids.
*
* @default NULL. Use value from XML configuration.
*/
char *deny_domain_ids;
};
#define RTI_CDS_TRANSPORT_UNICAST_PROPERTY_ALIAS_LENGTH_MAX (128)
#define RTI_CDS_TRANSPORT_SELECTION_LENGTH_MAX (8)
#define RTI_CDS_TransportUnicastProperty_INITIALIZER \
{ \
{ '\0' }, 0 \
}
/*e \ingroup RTI_CDS_ServiceProperty
*
* @brief Empty transport selection list. Use value from XML configuration.
*
*/
#define RTI_CDS_TransportSelectionProperty_INITIALIZER \
{ \
{ RTI_CDS_TransportUnicastProperty_INITIALIZER }, 0 \
}
RTI_CDS_VARIABLE_LENGTH_VALUE_TYPE_SUPPORT(RTI_CDS_TransportSelectionProperty);
struct RTI_CDS_TransportUnicastProperty {
/*e
* @brief Transport alias name.
*/
char alias[RTI_CDS_TRANSPORT_UNICAST_PROPERTY_ALIAS_LENGTH_MAX + 1];
/*e
* @brief Receive port.
*/
int receive_port;
};
struct RTI_CDS_TransportSelectionProperty {
/*e
* @brief \ref RTI_CDS_TransportUnicastProperty sequence.
*/
struct RTI_CDS_TransportUnicastProperty
transports[RTI_CDS_TRANSPORT_SELECTION_LENGTH_MAX];
/*e
* @brief Indicates how many slots in the array are used.
*/
int count;
};
#define RTI_CDS_FLOW_CONTROLLER_JOBS_UNLIMITED (0)
#define RTI_CDS_FlowControllerProperty_INITIALIZER \
{ \
RTI_CDS_FLOW_CONTROLLER_JOBS_UNLIMITED, 0, { 0, 0, 0 }, \
DDS_DURATION_INFINITE_VALUE \
}
RTI_CDS_VARIABLE_LENGTH_VALUE_TYPE_SUPPORT(RTI_CDS_FlowControllerProperty);
typedef enum {
RTI_CDS_NEW_ANNOUNCEMENT_FLOW_CONTROLLER_OUTPUT_SLOT,
RTI_CDS_UPDATE_ANNOUNCEMENT_FLOW_CONTROLLER_OUTPUT_SLOT,
RTI_CDS_REFRESH_ANNOUNCEMENT_FLOW_CONTROLLER_OUTPUT_SLOT,
RTI_CDS_FlowControllerOutputSlotKind_COUNT
} RTI_CDS_FlowControllerOutputSlotKind;
struct RTI_CDS_FlowControllerProperty {
RTI_UINT64 output_jobs_per_second;
RTI_UINT64 max_burst_jobs;
RTI_INT32 output_slot_capacity_allocation
[RTI_CDS_FlowControllerOutputSlotKind_COUNT];
struct DDS_Duration_t flush_period;
};
/**
* @brief Data structure to configure the forwarder resend event mechanism.
* It allows CDS to resend a new or update announcement so that discovery
* can occur quickly in a lossy WAN environment.
*/
struct RTI_CDS_ForwarderEventProperty {
/* Indicates how many times CDS resends a new or change announcement. */
DDS_UnsignedLong new_or_change_participant_announcements;
/* Minimum duration for the random interval between a resend. */
struct DDS_Duration_t min_new_or_change_participant_announcements_period;
/* Maximum duration for the random interval between a resend. */
struct DDS_Duration_t max_new_or_change_participant_announcements_period;
};
#define RTI_CDS_ForwarderEventProperty_INITIALIZER \
{ \
0, /* new_or_change_participant_announcements */ \
{ 0, \
0 }, /* min_new_or_change_participant_announcements_period \
*/ \
{ \
0, 0 \
} /* max_new_or_change_participant_announcements_period */ \
}
DDSC_VARIABLE_LENGTH_VALUE_TYPE_SUPPORT(RTI_CDS_ForwarderEventProperty);
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* clouddiscoveryservice_infrastructure_h */