Files
qt6-migration-pipeline/external/rti_connext_dds-7.7.0/resource/idl/dds_rtf2_dcps.idl
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

2834 lines
108 KiB
Plaintext

/******************************************************************************
* (c) Copyright, Real-Time Innovations, Copyright 2010
*
* 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.
*
* This file contains the types used by RTI Data Distribution Service to monitor
* applications.
*
* THE CONTENTS OF THIS FILE, AS WELL AS THE EXISTENCE OF THIS FILE,
* ARE SUBJECT TO CHANGE WITHOUT ANY NOTICE.
*
* For any questions please contact support@rti.com
*****************************************************************************/
#define DOMAINID_TYPE_NATIVE long
#define BUILTIN_TOPIC_KEY_TYPE_NATIVE long
#define HANDLE_TYPE_NATIVE DDSMonitoring::RTIInstanceHandle
#define HANDLE_NIL_NATIVE {{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, 16, 0}
#define TheParticipantFactory
#define PARTICIPANT_QOS_DEFAULT
#define TOPIC_QOS_DEFAULT
#define PUBLISHER_QOS_DEFAULT
#define SUBSCRIBER_QOS_DEFAULT
#define DATAWRITER_QOS_DEFAULT
#define DATAREADER_QOS_DEFAULT
#define DATAWRITER_QOS_USE_TOPIC_QOS
#define DATAREADER_QOS_USE_TOPIC_QOS
module DDSMonitoring {
struct RTIInstanceHandle {
octet value[16];
unsigned long length;
boolean isValid;
}; //@top-level false
//@Extensibility FINAL_EXTENSIBILITY
typedef DOMAINID_TYPE_NATIVE DomainId_t;
struct BuiltinTopicKey_t {
BUILTIN_TOPIC_KEY_TYPE_NATIVE value[4];
}; //@top-level false
//@Extensibility FINAL_EXTENSIBILITY
typedef HANDLE_TYPE_NATIVE InstanceHandle_t;
typedef long ReturnCode_t;
typedef long QosPolicyId_t;
typedef short DataRepresentationId_t;
struct Duration_t {
int32 sec;
uint32 nanosec;
}; //@top-level false
//@Extensibility FINAL_EXTENSIBILITY
struct Time_t {
int64 sec;
uint32 nanosec;
}; //@top-level false
//@Extensibility FINAL_EXTENSIBILITY
typedef sequence<string> StringSequence;
struct EndpointGroup_t {
string<255> role_name;
long quorum;
}; //@top-level false
//@Extensibility FINAL_EXTENSIBILITY
// ----------------------------------------------------------------------
// Pre-defined values
// ----------------------------------------------------------------------
// RTI: Can not be defined in IDL since InstanceHandle_t is not
// a primitive.
//const InstanceHandle_t HANDLE_NIL = HANDLE_NIL_NATIVE;
const long LENGTH_UNLIMITED = -1;
const long DURATION_INFINITE_SEC = 0x7fffffff;
const unsigned long DURATION_INFINITE_NSEC = 0x7fffffff;
const long DURATION_ZERO_SEC = 0;
const unsigned long DURATION_ZERO_NSEC = 0;
const long TIME_INVALID_SEC = -1;
const unsigned long TIME_INVALID_NSEC = 0xffffffff;
// ----------------------------------------------------------------------
// Return codes
// ----------------------------------------------------------------------
const ReturnCode_t RETCODE_OK = 0;
const ReturnCode_t RETCODE_ERROR = 1;
const ReturnCode_t RETCODE_UNSUPPORTED = 2;
const ReturnCode_t RETCODE_BAD_PARAMETER = 3;
const ReturnCode_t RETCODE_PRECONDITION_NOT_MET = 4;
const ReturnCode_t RETCODE_OUT_OF_RESOURCES = 5;
const ReturnCode_t RETCODE_NOT_ENABLED = 6;
const ReturnCode_t RETCODE_IMMUTABLE_POLICY = 7;
const ReturnCode_t RETCODE_INCONSISTENT_POLICY = 8;
const ReturnCode_t RETCODE_ALREADY_DELETED = 9;
const ReturnCode_t RETCODE_TIMEOUT = 10;
const ReturnCode_t RETCODE_NO_DATA = 11;
const ReturnCode_t RETCODE_ILLEGAL_OPERATION = 12;
// ----------------------------------------------------------------------
// Status to support listeners and conditions
// ----------------------------------------------------------------------
typedef unsigned long StatusKind;
typedef unsigned long StatusMask; // bit-mask StatusKind
const StatusKind INCONSISTENT_TOPIC_STATUS = 0x0001 << 0;
const StatusKind OFFERED_DEADLINE_MISSED_STATUS = 0x0001 << 1;
const StatusKind REQUESTED_DEADLINE_MISSED_STATUS = 0x0001 << 2;
const StatusKind OFFERED_INCOMPATIBLE_QOS_STATUS = 0x0001 << 5;
const StatusKind REQUESTED_INCOMPATIBLE_QOS_STATUS = 0x0001 << 6;
const StatusKind SAMPLE_LOST_STATUS = 0x0001 << 7;
const StatusKind SAMPLE_REJECTED_STATUS = 0x0001 << 8;
const StatusKind DATA_ON_READERS_STATUS = 0x0001 << 9;
const StatusKind DATA_AVAILABLE_STATUS = 0x0001 << 10;
const StatusKind LIVELINESS_LOST_STATUS = 0x0001 << 11;
const StatusKind LIVELINESS_CHANGED_STATUS = 0x0001 << 12;
const StatusKind PUBLICATION_MATCHED_STATUS = 0x0001 << 13;
const StatusKind SUBSCRIPTION_MATCHED_STATUS = 0x0001 << 14;
/***** RTI EXTENSIONS *****/
/* The "right"-most 24 bits of the StatusMask are reserved
* for standard statuses. The remaining 8 bits are for extended statuses.
*/
const StatusKind DATA_WRITER_APPLICATION_ACKNOWLEDGEMENT_STATUS = 0x00000001 << 22;
const StatusKind DATA_WRITER_INSTANCE_REPLACED_STATUS = 0x00000001 << 23;
const StatusKind RELIABLE_WRITER_CACHE_CHANGED_STATUS = 0x00000001 << 24;
const StatusKind RELIABLE_READER_ACTIVITY_CHANGED_STATUS = 0x00000001 << 25;
const StatusKind DATA_WRITER_CACHE_STATUS = 0x00000001 << 26;
const StatusKind DATA_WRITER_PROTOCOL_STATUS = 0x00000001 << 27;
const StatusKind DATA_READER_CACHE_STATUS = 0x00000001 << 28;
const StatusKind DATA_READER_PROTOCOL_STATUS = 0x00000001 << 29;
const StatusKind DATA_WRITER_DESTINATION_UNREACHABLE_STATUS = 0x00000001 << 30;
const StatusKind DATA_WRITER_SAMPLE_REMOVED_STATUS = 0x00000001 << 31;
struct InconsistentTopicStatus {
long total_count;
long total_count_change;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
enum SampleLostStatusKind {
NOT_LOST,
LOST_BY_WRITER,
LOST_BY_INSTANCES_LIMIT,
LOST_BY_REMOTE_WRITERS_PER_INSTANCE_LIMIT,
LOST_BY_INCOMPLETE_COHERENT_SET,
LOST_BY_LARGE_COHERENT_SET,
LOST_BY_SAMPLES_PER_REMOTE_WRITER_LIMIT,
LOST_BY_VIRTUAL_WRITERS_LIMIT,
LOST_BY_REMOTE_WRITERS_PER_SAMPLE_LIMIT,
LOST_BY_AVAILABILITY_WAITING_TIME,
LOST_BY_REMOTE_WRITER_SAMPLES_PER_VIRTUAL_QUEUE_LIMIT,
LOST_BY_OUT_OF_MEMORY,
LOST_BY_UNKNOWN_INSTANCE,
LOST_BY_DESERIALIZATION_FAILURE,
LOST_BY_DECODE_FAILURE,
LOST_BY_SAMPLES_PER_INSTANCE_LIMIT,
LOST_BY_SAMPLES_LIMIT
};
struct SampleLostStatus {
long total_count;
long total_count_change;
SampleLostStatusKind last_reason;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
enum SampleRejectedStatusKind {
NOT_REJECTED,
/* Not used */
REJECTED_BY_INSTANCES_LIMIT,
REJECTED_BY_SAMPLES_LIMIT,
REJECTED_BY_SAMPLES_PER_INSTANCE_LIMIT,
/***** RTI EXTENSIONS *****/
/* Deprecated */
REJECTED_BY_REMOTE_WRITERS_LIMIT,
/* Deprecated */
REJECTED_BY_REMOTE_WRITERS_PER_INSTANCE_LIMIT,
REJECTED_BY_SAMPLES_PER_REMOTE_WRITER_LIMIT,
/* Deprecated */
REJECTED_BY_VIRTUAL_WRITERS_LIMIT,
/* Deprecated */
REJECTED_BY_REMOTE_WRITERS_PER_SAMPLE_LIMIT,
REJECTED_BY_REMOTE_WRITER_SAMPLES_PER_VIRTUAL_QUEUE_LIMIT,
REJECTED_BY_DECODE_FAILURE
};
enum TransportMulticastQosPolicyKind {
AUTOMATIC_TRANSPORT_MULTICAST_QOS,
UNICAST_ONLY_TRANSPORT_MULTICAST_QOS
};
struct SampleRejectedStatus {
long total_count;
long total_count_change;
SampleRejectedStatusKind last_reason;
InstanceHandle_t last_instance_handle;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
struct LivelinessLostStatus {
long total_count;
long total_count_change;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
struct LivelinessChangedStatus {
long alive_count;
long not_alive_count;
long alive_count_change;
long not_alive_count_change;
InstanceHandle_t last_publication_handle;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
struct OfferedDeadlineMissedStatus {
long total_count;
long total_count_change;
InstanceHandle_t last_instance_handle;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
struct RequestedDeadlineMissedStatus {
long total_count;
long total_count_change;
InstanceHandle_t last_instance_handle;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
struct QosPolicyCount {
QosPolicyId_t policy_id;
long count;
}; //@top-level false
//@Extensibility FINAL_EXTENSIBILITY
struct OfferedIncompatibleQosStatus {
long total_count;
long total_count_change;
QosPolicyId_t last_policy_id;
/* we assume we will not have more than 64 qos policies */
sequence<QosPolicyCount, 64> policies;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
struct RequestedIncompatibleQosStatus {
long total_count;
long total_count_change;
QosPolicyId_t last_policy_id;
/* we assume we will not have more than 64 qos policies */
sequence<QosPolicyCount, 64> policies;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
struct PublicationMatchedStatus {
long total_count;
long total_count_change;
long current_count;
/***** RTI EXTENSIONS *****/
long current_count_peak;
long current_count_change;
InstanceHandle_t last_subscription_handle;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
struct SubscriptionMatchedStatus {
long total_count;
long total_count_change;
long current_count;
/***** RTI EXTENSIONS *****/
long current_count_peak;
long current_count_change;
InstanceHandle_t last_publication_handle;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
/***** RTI EXTENSION *****/
struct DataReaderCacheStatus {
long long sample_count_peak;
long long sample_count;
long long old_source_timestamp_dropped_sample_count;
long long tolerance_source_timestamp_dropped_sample_count;
long long ownership_dropped_sample_count;
long long content_filter_dropped_sample_count;
long long time_based_filter_dropped_sample_count;
long long expired_dropped_sample_count;
long long virtual_duplicate_dropped_sample_count;
long long replaced_dropped_sample_count;
long long writer_removed_batch_sample_dropped_sample_count;
long long total_samples_dropped_by_instance_replacement;
long long alive_instance_count;
long long alive_instance_count_peak;
long long no_writers_instance_count;
long long no_writers_instance_count_peak;
long long disposed_instance_count;
long long disposed_instance_count_peak;
long long detached_instance_count;
long long detached_instance_count_peak;
long long compressed_sample_count;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
/***** RTI EXTENSION *****/
struct SequenceNumber_t {
long high;
unsigned long low;
}; //@top-level false
//@Extensibility FINAL_EXTENSIBILITY
/***** RTI EXTENSION *****/
struct DataReaderProtocolStatus {
long long received_sample_count;
long long received_sample_count_change;
long long received_sample_bytes;
long long received_sample_bytes_change;
long long duplicate_sample_count;
long long duplicate_sample_count_change;
long long duplicate_sample_bytes;
long long duplicate_sample_bytes_change;
long long filtered_sample_count;
long long filtered_sample_count_change;
long long filtered_sample_bytes;
long long filtered_sample_bytes_change;
long long received_heartbeat_count;
long long received_heartbeat_count_change;
long long received_heartbeat_bytes;
long long received_heartbeat_bytes_change;
long long sent_ack_count;
long long sent_ack_count_change;
long long sent_ack_bytes;
long long sent_ack_bytes_change;
long long sent_nack_count;
long long sent_nack_count_change;
long long sent_nack_bytes;
long long sent_nack_bytes_change;
long long received_gap_count;
long long received_gap_count_change;
long long received_gap_bytes;
long long received_gap_bytes_change;
long long rejected_sample_count;
long long rejected_sample_count_change;
SequenceNumber_t first_available_sample_sequence_number;
SequenceNumber_t last_available_sample_sequence_number;
SequenceNumber_t last_committed_sample_sequence_number;
long uncommitted_sample_count;
long long out_of_range_rejected_sample_count;
long long received_fragment_count;
long long dropped_fragment_count;
long long reassembled_sample_count;
long long sent_nack_fragment_count;
long long sent_nack_fragment_bytes;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
/***** RTI EXTENSION *****/
struct DataWriterCacheStatus {
long long sample_count_peak;
long long sample_count;
long long alive_instance_count;
long long alive_instance_count_peak;
long long disposed_instance_count;
long long disposed_instance_count_peak;
long long unregistered_instance_count;
long long unregistered_instance_count_peak;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
/***** RTI EXTENSION *****/
struct DataWriterProtocolStatus {
long long pushed_sample_count;
long long pushed_sample_count_change;
long long pushed_sample_bytes;
long long pushed_sample_bytes_change;
long long filtered_sample_count;
long long filtered_sample_count_change;
long long filtered_sample_bytes;
long long filtered_sample_bytes_change;
long long sent_heartbeat_count;
long long sent_heartbeat_count_change;
long long sent_heartbeat_bytes;
long long sent_heartbeat_bytes_change;
long long pulled_sample_count;
long long pulled_sample_count_change;
long long pulled_sample_bytes;
long long pulled_sample_bytes_change;
long long received_ack_count;
long long received_ack_count_change;
long long received_ack_bytes;
long long received_ack_bytes_change;
long long received_nack_count;
long long received_nack_count_change;
long long received_nack_bytes;
long long received_nack_bytes_change;
long long sent_gap_count;
long long sent_gap_count_change;
long long sent_gap_bytes;
long long sent_gap_bytes_change;
long long rejected_sample_count;
long long rejected_sample_count_change;
long send_window_size;
SequenceNumber_t first_available_sequence_number;
SequenceNumber_t last_available_sequence_number;
SequenceNumber_t first_unacknowledged_sample_sequence_number;
SequenceNumber_t first_available_sample_virtual_sequence_number;
SequenceNumber_t last_available_sample_virtual_sequence_number;
SequenceNumber_t first_unacknowledged_sample_virtual_sequence_number;
InstanceHandle_t first_unacknowledged_sample_subscription_handle;
SequenceNumber_t first_unelapsed_keep_duration_sample_sequence_number;
long long pushed_fragment_count;
long long pushed_fragment_bytes;
long long pulled_fragment_count;
long long pulled_fragment_bytes;
long long received_nack_fragment_count;
long long received_nack_fragment_bytes;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
/***** RTI EXTENSION *****/
struct ReliableWriterCacheEventCount {
long total_count;
long total_count_change;
}; //@top-level false
//@Extensibility FINAL_EXTENSIBILITY
/***** RTI EXTENSION *****/
struct ReliableWriterCacheChangedStatus {
ReliableWriterCacheEventCount empty_reliable_writer_cache;
ReliableWriterCacheEventCount full_reliable_writer_cache;
ReliableWriterCacheEventCount low_watermark_reliable_writer_cache;
ReliableWriterCacheEventCount high_watermark_reliable_writer_cache;
long unacknowledged_sample_count;
long unacknowledged_sample_count_peak;
long long replaced_unacknowledged_sample_count;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
/***** RTI EXTENSION *****/
struct ReliableReaderActivityChangedStatus {
long active_count;
long inactive_count;
long active_count_change;
long inactive_count_change;
InstanceHandle_t last_instance_handle;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
/***** RTI EXTENSION *****/
typedef unsigned long CompressionIdMask;
const CompressionIdMask COMPRESSION_ID_ZLIB = 0x0001 << 0;
const CompressionIdMask COMPRESSION_ID_BZIP2 = 0x0001 << 1;
const CompressionIdMask COMPRESSION_ID_LZ4 = 0x0001 << 2;
const CompressionIdMask COMPRESSION_ID_MASK_NONE = 0;
const CompressionIdMask COMPRESSION_ID_MASK_ALL =
COMPRESSION_ID_ZLIB | COMPRESSION_ID_BZIP2 | COMPRESSION_ID_LZ4;
const CompressionIdMask COMPRESSION_ID_MASK_DEFAULT =
COMPRESSION_ID_MASK_NONE;
struct CompressionSettings_t {
CompressionIdMask compression_ids;
unsigned long writer_compression_level;
long writer_compression_threshold;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
// ----------------------------------------------------------------------
// Listeners
// ----------------------------------------------------------------------
// Sample states to support reads
typedef unsigned long SampleStateKind;
const SampleStateKind READ_SAMPLE_STATE = 0x0001 << 0;
const SampleStateKind NOT_READ_SAMPLE_STATE = 0x0001 << 1;
// This is a bit-mask SampleStateKind
typedef unsigned long SampleStateMask;
const SampleStateMask ANY_SAMPLE_STATE = 0xffff;
// View states to support reads
typedef unsigned long ViewStateKind;
const ViewStateKind NEW_VIEW_STATE = 0x0001 << 0;
const ViewStateKind NOT_NEW_VIEW_STATE = 0x0001 << 1;
// This is a bit-mask ViewStateKind
typedef unsigned long ViewStateMask;
const ViewStateMask ANY_VIEW_STATE = 0xffff;
// Instance states to support reads
typedef unsigned long InstanceStateKind;
const InstanceStateKind ALIVE_INSTANCE_STATE = 0x0001 << 0;
const InstanceStateKind NOT_ALIVE_DISPOSED_INSTANCE_STATE = 0x0001 << 1;
const InstanceStateKind NOT_ALIVE_NO_WRITERS_INSTANCE_STATE = 0x0001 << 2;
// This is a bit-mask InstanceStateKind
typedef unsigned long InstanceStateMask;
const InstanceStateMask ANY_INSTANCE_STATE = 0xffff;
const InstanceStateMask NOT_ALIVE_INSTANCE_STATE = 0x006;
// ----------------------------------------------------------------------
// Qos
// ----------------------------------------------------------------------
const string USERDATA_QOS_POLICY_NAME = "UserData";
const string DURABILITY_QOS_POLICY_NAME = "Durability";
const string PRESENTATION_QOS_POLICY_NAME = "Presentation";
const string DEADLINE_QOS_POLICY_NAME = "Deadline";
const string LATENCYBUDGET_QOS_POLICY_NAME = "LatencyBudget";
const string OWNERSHIP_QOS_POLICY_NAME = "Ownership";
const string OWNERSHIPSTRENGTH_QOS_POLICY_NAME = "OwnershipStrength";
const string LIVELINESS_QOS_POLICY_NAME = "Liveliness";
const string TIMEBASEDFILTER_QOS_POLICY_NAME = "TimeBasedFilter";
const string PARTITION_QOS_POLICY_NAME = "Partition";
const string RELIABILITY_QOS_POLICY_NAME = "Reliability";
const string DESTINATIONORDER_QOS_POLICY_NAME = "DestinationOrder";
const string HISTORY_QOS_POLICY_NAME = "History";
const string RESOURCELIMITS_QOS_POLICY_NAME = "ResourceLimits";
const string ENTITYFACTORY_QOS_POLICY_NAME = "EntityFactory";
const string WRITERDATALIFECYCLE_QOS_POLICY_NAME = "WriterDataLifecycle";
const string READERDATALIFECYCLE_QOS_POLICY_NAME = "ReaderDataLifecycle";
const string TOPICDATA_QOS_POLICY_NAME = "TopicData";
const string GROUPDATA_QOS_POLICY_NAME = "GroupData";
const string LIFESPAN_QOS_POLICY_NAME = "Lifespan";
const string DURABILITYSERVICE_POLICY_NAME = "DurabilityService";
const string TRANSPORTPRIORITY_QOS_POLICY_NAME = "TransportPriority";
const string DATA_REPRESENTATION_QOS_POLICY_NAME = "DataRepresentation";
const string TYPE_CONSISTENCY_ENFORCEMENT_QOS_POLICY_NAME = "TypeConsistencyEnforcement";
const string DATATAG_QOS_POLICY_NAME = "DataTag";
/***** RTI EXTENSIONS *****/
const string ASYNCHRONOUSPUBLISHER_QOS_POLICY_NAME = "AsynchronousPublisher";
const string TYPESUPPORT_QOS_POLICY_NAME = "TypeSupport";
const string WIREPROTOCOL_QOS_POLICY_NAME = "WireProtocol";
const string DISCOVERY_QOS_POLICY_NAME = "Discovery";
const string DATAREADERRESOURCELIMITS_QOS_POLICY_NAME = "DataReaderResourceLimits";
const string DATAWRITERRESOURCELIMITS_QOS_POLICY_NAME = "DataWriterResourceLimits";
const string DATAREADERPROTOCOL_QOS_POLICY_NAME = "DataReaderProtocol";
const string DATAWRITERPROTOCOL_QOS_POLICY_NAME = "DataWriterProtocol";
const string DOMAINPARTICIPANTRESOURCELIMITS_QOS_POLICY_NAME = "DomainParticipantResourceLimits";
const string EVENT_QOS_POLICY_NAME = "Event";
const string DATABASE_QOS_POLICY_NAME = "Database";
const string RECEIVERPOOL_QOS_POLICY_NAME = "ReceiverPool";
const string DISCOVERYCONFIG_QOS_POLICY_NAME = "DiscoveryConfig";
const string USEROBJECT_QOS_POLICY_NAME = "UserObject";
const string SYSTEMRESOURCELIMITS_QOS_POLICY_NAME = "SystemResourceLimits";
const string TRANSPORTSELECTION_QOS_POLICY_NAME = "TransportSelection";
const string TRANSPORTUNICAST_QOS_POLICY_NAME = "TransportUnicast";
const string TRANSPORTMULTICAST_QOS_POLICY_NAME = "TransportMulticast";
const string DDS_TRANSPORTMULTICASTMAPPING_QOS_POLICY_NAME = "TransportMulticastMapping";
const string TRANSPORTBUILTIN_QOS_POLICY_NAME = "TransportBuiltin";
const string PUBLISHMODE_QOS_POLICY_NAME = "PublishMode";
const string PROPERTY_QOS_POLICY_NAME = "Property";
const string ENTITYNAME_QOS_POLICY_NAME = "EntityName";
const string SERVICE_QOS_POLICY_NAME = "Service";
const string BATCH_QOS_POLICY_NAME = "Batch";
const string PROFILE_QOS_POLICY_NAME = "Profile";
const string LOCATORFILTER_QOS_POLICY_NAME = "LocatorFilter";
const string MULTICHANNEL_QOS_POLICY_NAME = "MultiChannel";
const string TRANSPORTENCAPSULATION_QOS_POLICY_NAME = "TransportEncapsulation";
const string PUBLISHERPROTOCOL_QOS_POLICY_NAME = "PublisherProtocol";
const string SUBSCRIBERPROTOCOL_QOS_POLICY_NAME = "SubscriberProtocol";
const string TOPICPROTOCOL_QOS_POLICY_NAME = "TopicProtocol";
const string TOPICQUERYDISPATCH_QOS_POLICY_NAME = "TopicQueryDispatch";
const string DATAWRITERTRANSFERMODE_QOS_POLICY_NAME = "DataWriterTransferMode";
const string DOMAINPARTICIPANTPROTOCOL_QOS_POLICY_NAME = "DomainParticipantProtocol";
const QosPolicyId_t INVALID_QOS_POLICY_ID = 0;
const QosPolicyId_t USERDATA_QOS_POLICY_ID = 1;
const QosPolicyId_t DURABILITY_QOS_POLICY_ID = 2;
const QosPolicyId_t PRESENTATION_QOS_POLICY_ID = 3;
const QosPolicyId_t DEADLINE_QOS_POLICY_ID = 4;
const QosPolicyId_t LATENCYBUDGET_QOS_POLICY_ID = 5;
const QosPolicyId_t OWNERSHIP_QOS_POLICY_ID = 6;
const QosPolicyId_t OWNERSHIPSTRENGTH_QOS_POLICY_ID = 7;
const QosPolicyId_t LIVELINESS_QOS_POLICY_ID = 8;
const QosPolicyId_t TIMEBASEDFILTER_QOS_POLICY_ID = 9;
const QosPolicyId_t PARTITION_QOS_POLICY_ID = 10;
const QosPolicyId_t RELIABILITY_QOS_POLICY_ID = 11;
const QosPolicyId_t DESTINATIONORDER_QOS_POLICY_ID = 12;
const QosPolicyId_t HISTORY_QOS_POLICY_ID = 13;
const QosPolicyId_t RESOURCELIMITS_QOS_POLICY_ID = 14;
const QosPolicyId_t ENTITYFACTORY_QOS_POLICY_ID = 15;
const QosPolicyId_t WRITERDATALIFECYCLE_QOS_POLICY_ID = 16;
const QosPolicyId_t READERDATALIFECYCLE_QOS_POLICY_ID = 17;
const QosPolicyId_t TOPICDATA_QOS_POLICY_ID = 18;
const QosPolicyId_t GROUPDATA_QOS_POLICY_ID = 19;
const QosPolicyId_t TRANSPORTPRIORITY_QOS_POLICY_ID = 20;
const QosPolicyId_t LIFESPAN_QOS_POLICY_ID = 21;
const QosPolicyId_t DURABILITYSERVICE_QOS_POLICY_ID = 22;
const QosPolicyId_t DATA_REPRESENTATION_QOS_POLICY = 23;
const QosPolicyId_t TYPE_CONSISTENCY_ENFORCEMENT_QOS_POLICY_ID = 24;
const QosPolicyId_t DATATAG_QOS_POLICY_ID = 25;
/***** RTI EXTENSIONS *****/
const QosPolicyId_t WIREPROTOCOL_QOS_POLICY_ID = 1000;
const QosPolicyId_t DISCOVERY_QOS_POLICY_ID = 1001;
const QosPolicyId_t DATAREADERRESOURCELIMITS_QOS_POLICY_ID = 1003;
const QosPolicyId_t DATAWRITERRESOURCELIMITS_QOS_POLICY_ID = 1004;
const QosPolicyId_t DATAREADERPROTOCOL_QOS_POLICY_ID = 1005;
const QosPolicyId_t DATAWRITERPROTOCOL_QOS_POLICY_ID = 1006;
const QosPolicyId_t DOMAINPARTICIPANTRESOURCELIMITS_QOS_POLICY_ID = 1007;
const QosPolicyId_t EVENT_QOS_POLICY_ID = 1008;
const QosPolicyId_t DATABASE_QOS_POLICY_ID = 1009;
const QosPolicyId_t RECEIVERPOOL_QOS_POLICY_ID = 1010;
const QosPolicyId_t DISCOVERYCONFIG_QOS_POLICY_ID = 1011;
const QosPolicyId_t USEROBJECT_QOS_POLICY_ID = 1013;
const QosPolicyId_t SYSTEMRESOURCELIMITS_QOS_POLICY_ID = 1014;
const QosPolicyId_t TRANSPORTSELECTION_QOS_POLICY_ID = 1015;
const QosPolicyId_t TRANSPORTUNICAST_QOS_POLICY_ID = 1016;
const QosPolicyId_t TRANSPORTMULTICAST_QOS_POLICY_ID = 1017;
const QosPolicyId_t TRANSPORTBUILTIN_QOS_POLICY_ID = 1018;
const QosPolicyId_t TYPESUPPORT_QOS_POLICY_ID = 1019;
const QosPolicyId_t PROPERTY_QOS_POLICY_ID = 1020;
const QosPolicyId_t PUBLISHMODE_QOS_POLICY_ID = 1021;
const QosPolicyId_t ASYNCHRONOUSPUBLISHER_QOS_POLICY_ID = 1022;
const QosPolicyId_t ENTITYNAME_QOS_POLICY_ID = 1023;
const QosPolicyId_t SERVICE_QOS_POLICY_ID = 1025;
const QosPolicyId_t BATCH_QOS_POLICY_ID = 1026;
const QosPolicyId_t PROFILE_QOS_POLICY_ID = 1027;
const QosPolicyId_t LOCATORFILTER_QOS_POLICY_ID = 1028;
const QosPolicyId_t MULTICHANNEL_QOS_POLICY_ID = 1029;
const QosPolicyId_t TRANSPORTENCAPSULATION_QOS_POLICY_ID = 1030;
const QosPolicyId_t PUBLISHERPROTOCOL_QOS_POLICY_ID = 1031;
const QosPolicyId_t SUBSCRIBERPROTOCOL_QOS_POLICY_ID = 1032;
const QosPolicyId_t TOPICPROTOCOL_QOS_POLICY_ID = 1033;
const QosPolicyId_t DOMAINPARTICIPANTPROTOCOL_QOS_POLICY_ID = 1034;
const QosPolicyId_t TOPICQUERYDISPATCH_QOS_POLICY_ID =1038;
const QosPolicyId_t DATAWRITERTRANSFERMODE_QOS_POLICY_ID = 1039;
struct UserDataQosPolicy {
/* limited by DomainParticipantResourceLimitsQosPolicy, should be 256 by default */
sequence<octet, 256> value;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
struct TopicDataQosPolicy {
/* limited by DomainParticipantResourceLimitsQosPolicy, should be 256 by default */
sequence<octet, 256> value;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
struct GroupDataQosPolicy {
/* limited by DomainParticipantResourceLimitsQosPolicy, should be 256 by default */
sequence<octet, 256> value;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
struct TransportPriorityQosPolicy {
long value;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
struct LifespanQosPolicy {
Duration_t duration;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
struct DataRepresentationQosPolicy {
sequence<DataRepresentationId_t, 4> value;
CompressionSettings_t compression_settings;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
struct AvailabilityQosPolicy {
boolean enable_required_subscriptions;
Duration_t max_data_availability_waiting_time;
Duration_t max_endpoint_availability_waiting_time;
sequence<EndpointGroup_t, 256> required_matched_endpoint_groups;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
/***** RTI EXTENSION ****/
struct AllocationSettings_t {
long initial_count;
long max_count;
long incremental_count;
}; //@top-level false
//@Extensibility FINAL_EXTENSIBILITY
enum PersistentJournalKind {
DELETE_PERSISTENT_JOURNAL,
TRUNCATE_PERSISTENT_JOURNAL,
PERSIST_PERSISTENT_JOURNAL,
MEMORY_PERSISTENT_JOURNAL,
WAL_PERSISTENT_JOURNAL,
OFF_PERSISTENT_JOURNAL
};
enum PersistentSynchronizationKind {
NORMAL_PERSISTENT_SYNCHRONIZATION,
FULL_PERSISTENT_SYNCHRONIZATION,
OFF_PERSISTENT_SYNCHRONIZATION
};
@nested
@appendable
struct PersistentStorageSettings {
boolean enable;
string<255> file_name;
string<255> trace_file_name;
PersistentJournalKind journal_kind;
PersistentSynchronizationKind synchronization_kind;
boolean vacuum;
boolean restore;
AllocationSettings_t writer_instance_cache_allocation;
AllocationSettings_t writer_sample_cache_allocation;
boolean writer_memory_state;
unsigned long reader_checkpoint_frequency;
};
enum DurabilityQosPolicyKind {
VOLATILE_DURABILITY_QOS,
TRANSIENT_LOCAL_DURABILITY_QOS,
TRANSIENT_DURABILITY_QOS,
PERSISTENT_DURABILITY_QOS
};
struct DurabilityQosPolicy {
DurabilityQosPolicyKind kind;
/***** RTI EXTENSIONS ****/
boolean direct_communication;
long writer_depth;
PersistentStorageSettings storage_settings;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
enum PresentationQosPolicyAccessScopeKind {
INSTANCE_PRESENTATION_QOS,
TOPIC_PRESENTATION_QOS,
GROUP_PRESENTATION_QOS,
HIGHEST_OFFERED_PRESENTATION_QOS
};
struct PresentationQosPolicy {
PresentationQosPolicyAccessScopeKind access_scope;
boolean coherent_access;
boolean ordered_access;
/***** RTI EXTENSIONS ****/
boolean drop_incomplete_coherent_set;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
struct DeadlineQosPolicy {
Duration_t period;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
struct LatencyBudgetQosPolicy {
Duration_t duration;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
enum OwnershipQosPolicyKind {
SHARED_OWNERSHIP_QOS,
EXCLUSIVE_OWNERSHIP_QOS
};
struct OwnershipQosPolicy {
OwnershipQosPolicyKind kind;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
struct OwnershipStrengthQosPolicy {
long value;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
enum LivelinessQosPolicyKind {
AUTOMATIC_LIVELINESS_QOS,
MANUAL_BY_PARTICIPANT_LIVELINESS_QOS,
MANUAL_BY_TOPIC_LIVELINESS_QOS
};
struct LivelinessQosPolicy {
LivelinessQosPolicyKind kind;
Duration_t lease_duration;
long assertions_per_lease_duration;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
struct TimeBasedFilterQosPolicy {
Duration_t minimum_separation;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
struct PartitionQosPolicy {
/* Total accumulated length limited by DomainParticipantResourceLimitsQosPolicy,
should be 256 in total by default, max partitions of 64 */
sequence<string<255>, 64> name;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
enum ReliabilityQosPolicyKind {
BEST_EFFORT_RELIABILITY_QOS,
RELIABLE_RELIABILITY_QOS
};
enum ReliabilityQosPolicyAcknowledgmentModeKind {
PROTOCOL_ACKNOWLEDGEMENT_MODE,
APPLICATION_AUTO_ACKNOWLEDGEMENT_MODE,
APPLICATION_ORDERED_ACKNOWLEDGEMENT_MODE,
APPLICATION_EXPLICIT_ACKNOWLEDGEMENT_MODE
};
enum InstanceStateConsistencyKind {
NO_RECOVER_INSTANCE_STATE_CONSISTENCY,
RECOVER_INSTANCE_STATE_CONSISTENCY
};
struct ReliabilityQosPolicy {
ReliabilityQosPolicyKind kind;
Duration_t max_blocking_time;
ReliabilityQosPolicyAcknowledgmentModeKind acknowledgementKind;
InstanceStateConsistencyKind instance_state_consistency_kind;
boolean exact_reliability_kind_match;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
enum DestinationOrderQosPolicyKind {
BY_RECEPTION_TIMESTAMP_DESTINATIONORDER_QOS,
BY_SOURCE_TIMESTAMP_DESTINATIONORDER_QOS
};
enum TypeConsistencyKind {
DISALLOW_TYPE_COERCION,
ALLOW_TYPE_COERCION,
AUTO_TYPE_COERCION
};
struct TypeConsistencyEnforcementQosPolicy {
TypeConsistencyKind kind;
boolean ignore_sequence_bounds;
boolean ignore_string_bounds;
boolean ignore_member_names;
boolean prevent_type_widening;
boolean force_type_validation;
boolean ignore_enum_literal_names;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
/***** RTI EXTENSIONS ****/
enum DestinationOrderQosPolicyScopeKind {
INSTANCE_SCOPE_DESTINATIONORDER_QOS,
TOPIC_SCOPE_DESTINATIONORDER_QOS
};
struct DestinationOrderQosPolicy {
DestinationOrderQosPolicyKind kind;
/***** RTI EXTENSIONS ****/
DestinationOrderQosPolicyScopeKind scope;
Duration_t source_timestamp_tolerance;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
enum HistoryQosPolicyKind {
KEEP_LAST_HISTORY_QOS,
KEEP_ALL_HISTORY_QOS
};
/***** RTI EXTENSION ****/
enum RefilterQosPolicyKind {
NONE_REFILTER_QOS,
ALL_REFILTER_QOS,
ON_DEMAND_REFILTER_QOS
};
struct HistoryQosPolicy {
HistoryQosPolicyKind kind;
long depth;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
struct ResourceLimitsQosPolicy {
long max_samples;
long max_instances;
long max_samples_per_instance;
/***** RTI EXTENSIONS ****/
long initial_samples;
long initial_instances;
long instance_hash_buckets;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
struct EntityFactoryQosPolicy {
boolean autoenable_created_entities;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
struct WriterDataLifecycleQosPolicy {
boolean autodispose_unregistered_instances;
Duration_t autopurge_unregistered_instances_delay;
Duration_t autopurge_disposed_instances_delay;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
struct ReaderDataLifecycleQosPolicy {
Duration_t autopurge_nowriter_samples_delay;
Duration_t autopurge_disposed_samples_delay;
Duration_t autopurge_disposed_instances_delay;
Duration_t autopurge_nowriter_instances_delay;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
struct DurabilityServiceQosPolicy {
Duration_t service_cleanup_delay;
HistoryQosPolicyKind history_kind;
long history_depth;
long max_samples;
long max_instances;
long max_samples_per_instance;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
/***** RTI EXTENSION ****/
struct SystemResourceLimitsQosPolicy {
long max_objects_per_thread;
long initial_objects_per_thread;
}; //@top-level false
/***** RTI EXTENSION ****/
struct ProfileQosPolicy {
/** should be unlimited in theory **/
sequence<string<2000>, 256> string_profile;
/** should be unlimited in theory **/
sequence<string<255>, 256> url_profile;
boolean ignore_user_profile;
boolean ignore_environment_profile;
boolean ignore_resource_profile;
/** should be unlimited in theory **/
sequence<string<2000>, 256> string_profile_dtd;
}; //@top-level false
/***** RTI EXTENSION ****/
struct TopicQueryDispatchQosPolicy {
boolean enable;
Duration_t publication_period;
long samples_per_period;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
struct DomainParticipantFactoryQos {
EntityFactoryQosPolicy entity_factory;
/***** RTI EXTENSIONS ****/
SystemResourceLimitsQosPolicy resource_limits;
ProfileQosPolicy profile;
};
/***** RTI EXTENSION ****/
struct RtpsWellKnownPorts_t {
long port_base;
long domain_id_gain;
long participant_id_gain;
long builtin_multicast_port_offset;
long builtin_unicast_port_offset;
long user_multicast_port_offset;
long user_unicast_port_offset;
}; //@top-level false
//@Extensibility FINAL_EXTENSIBILITY
/***** RTI EXTENSION ****/
struct ProductVersion_t {
char major;
char minor;
char release;
char revision;
}; //@top-level false
/***** RTI EXTENSION ****/
struct ProtocolVersion_t {
octet major;
octet minor;
}; //@top-level false
/***** RTI EXTENSION ****/
typedef unsigned short EncapsulationId_t;
const long LOCATOR_ADDRESS_LENGTH_MAX = 16;
/***** RTI EXTENSION ****/
struct Locator_t {
long kind;
unsigned long _port;
octet address[LOCATOR_ADDRESS_LENGTH_MAX];
sequence<EncapsulationId_t, 8> encapsulations;
}; //@top-level false
/***** RTI EXTENSION ****/
typedef long RtpsReservedPortKindMask;
const RtpsReservedPortKindMask RTPS_RESERVED_PORT_BUILTIN_UNICAST = 0x0001 << 0;
const RtpsReservedPortKindMask RTPS_RESERVED_PORT_BUILTIN_MULTICAST = 0x0001 << 1;
const RtpsReservedPortKindMask RTPS_RESERVED_PORT_USER_UNICAST = 0x0001 << 2;
const RtpsReservedPortKindMask RTPS_RESERVED_PORT_USER_MULTICAST = 0x0001 << 3;
const RtpsReservedPortKindMask RTPS_RESERVED_PORT_MASK_DEFAULT = RTPS_RESERVED_PORT_BUILTIN_UNICAST |
RTPS_RESERVED_PORT_BUILTIN_MULTICAST |
RTPS_RESERVED_PORT_USER_UNICAST;
const RtpsReservedPortKindMask RTPS_RESERVED_PORT_MASK_NONE = 0;
const RtpsReservedPortKindMask RTPS_RESERVED_PORT_MASK_ALL = ~RTPS_RESERVED_PORT_MASK_NONE;
/***** RTI EXTENSION ****/
enum WireProtocolQosPolicyAutoKind {
RTPS_AUTO_ID_FROM_IP,
RTPS_AUTO_ID_FROM_MAC,
RTPS_AUTO_ID_FROM_UUID
};
/***** RTI EXTENSION ****/
struct WireProtocolQosPolicy {
long participant_id;
unsigned long rtps_host_id;
unsigned long rtps_app_id;
unsigned long rtps_instance_id;
RtpsWellKnownPorts_t rtps_well_known_ports;
RtpsReservedPortKindMask rtps_reserved_port_mask;
WireProtocolQosPolicyAutoKind rtps_auto_id_kind;
boolean compute_crc;
boolean check_crc;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
/***** RTI EXTENSION ****/
typedef long TransportBuiltinKindMask;
const TransportBuiltinKindMask TRANSPORTBUILTIN_UDPv4 = 0x00000001 << 0;
const TransportBuiltinKindMask TRANSPORTBUILTIN_SHMEM = 0x00000001 << 1;
const TransportBuiltinKindMask TRANSPORTBUILTIN_INTRA = 0x00000001 << 2;
const TransportBuiltinKindMask TRANSPORTBUILTIN_UDPv6 = 0x00000001 << 3;
const TransportBuiltinKindMask TRANSPORTBUILTIN_UDPv4_WAN = 0x00000001 << 4;
const TransportBuiltinKindMask TRANSPORTBUILTIN_MASK_NONE = 0;
const TransportBuiltinKindMask TRANSPORTBUILTIN_MASK_DEFAULT = TRANSPORTBUILTIN_UDPv4 |
TRANSPORTBUILTIN_SHMEM;
const TransportBuiltinKindMask TRANSPORTBUILTIN_MASK_ALL = ~TRANSPORTBUILTIN_MASK_NONE;
/***** RTI EXTENSION ****/
struct TransportBuiltinQosPolicy {
TransportBuiltinKindMask mask;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
/***** RTI EXTENSION ****/
struct TransportUnicastSettings_t {
sequence<string<128>, 128> transports;
long receive_port;
}; //@top-level false
//@Extensibility FINAL_EXTENSIBILITY
/***** RTI EXTENSION ****/
struct TransportUnicastQosPolicy {
sequence<TransportUnicastSettings_t, 4> value;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
/***** RTI EXTENSION ****/
struct DiscoveryQosPolicy {
sequence<string<128>, 128> enabled_transports;
/* number of peers should be unlimited in theory */
sequence<string<60>, 256> initial_peers;
sequence<string<60>, 4> multicast_receive_addresses;
long metatraffic_transport_priority;
boolean accept_unknown_peers;
boolean enable_endpoint_discovery;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
/***** RTI EXTENSION ****/
enum DomainParticipantResourceLimitsIgnoredEntityReplacementKind {
NO_REPLACEMENT_IGNORED_ENTITY_REPLACEMENT = 0,
NOT_ALIVE_FIRST_IGNORED_ENTITY_REPLACEMENT
};
/***** RTI EXTENSION ****/
struct DomainParticipantResourceLimitsQosPolicy {
AllocationSettings_t local_writer_allocation;
AllocationSettings_t local_reader_allocation;
AllocationSettings_t local_publisher_allocation;
AllocationSettings_t local_subscriber_allocation;
AllocationSettings_t local_topic_allocation;
AllocationSettings_t remote_writer_allocation;
AllocationSettings_t remote_reader_allocation;
AllocationSettings_t remote_participant_allocation;
AllocationSettings_t matching_writer_reader_pair_allocation;
AllocationSettings_t matching_reader_writer_pair_allocation;
AllocationSettings_t ignored_entity_allocation;
AllocationSettings_t content_filtered_topic_allocation;
AllocationSettings_t content_filter_allocation;
AllocationSettings_t read_condition_allocation;
AllocationSettings_t query_condition_allocation;
AllocationSettings_t outstanding_asynchronous_sample_allocation;
AllocationSettings_t flow_controller_allocation;
long local_writer_hash_buckets;
long local_reader_hash_buckets;
long local_publisher_hash_buckets;
long local_subscriber_hash_buckets;
long local_topic_hash_buckets;
long remote_writer_hash_buckets;
long remote_reader_hash_buckets;
long remote_participant_hash_buckets;
long matching_writer_reader_pair_hash_buckets;
long matching_reader_writer_pair_hash_buckets;
long ignored_entity_hash_buckets;
long content_filtered_topic_hash_buckets;
long content_filter_hash_buckets;
long flow_controller_hash_buckets;
long max_gather_destinations;
long participant_user_data_max_length;
long inter_participant_data_max_length;
long topic_data_max_length;
long publisher_group_data_max_length;
long subscriber_group_data_max_length;
long writer_user_data_max_length;
long reader_user_data_max_length;
long max_partitions;
long max_partition_cumulative_characters;
boolean default_partition_matches_all;
boolean allow_no_partitions;
long type_code_max_serialized_length;
long type_object_max_serialized_length;
long serialized_type_object_dynamic_allocation_threshold;
long type_object_max_deserialized_length;
long deserialized_type_object_dynamic_allocation_threshold;
long contentfilter_property_max_length;
long channel_seq_max_length;
long channel_filter_expression_max_length;
long participant_property_list_max_length;
long participant_property_string_max_length;
long writer_property_list_max_length;
long writer_property_string_max_length;
long reader_property_list_max_length;
long reader_property_string_max_length;
long plugin_info_parameter_max_length;
long max_endpoint_groups;
long max_endpoint_group_cumulative_characters;
long transport_info_list_max_length;
DomainParticipantResourceLimitsIgnoredEntityReplacementKind ignored_entity_replacement_kind;
AllocationSettings_t remote_topic_query_allocation;
long remote_topic_query_hash_buckets;
long writer_data_tag_list_max_length;
long writer_data_tag_string_max_length;
long reader_data_tag_list_max_length;
long reader_data_tag_string_max_length;
unsigned long shmem_ref_transfer_mode_max_segments;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
/***** RTI EXTENSION ****/
typedef unsigned long ThreadSettingsKindMask;
/***** RTI EXTENSION ****/
enum ThreadSettingsKind {
THREAD_SETTINGS_DEFAULT = 0x00,
THREAD_SETTINGS_FLOATING_POINT = 0x01,
THREAD_SETTINGS_STDIO = 0x02,
THREAD_SETTINGS_REALTIME_PRIORITY = 0x08,
THREAD_SETTINGS_PRIORITY_ENFORCE = 0x10,
THREAD_SETTINGS_CANCEL_ASYNCHRONOUS = 0x20
};
/***** RTI EXTENSION ****/
enum ThreadSettingsCpuRotationKind {
THREAD_SETTINGS_CPU_NO_ROTATION,
THREAD_SETTINGS_CPU_RR_ROTATION
};
/***** RTI EXTENSION ****/
struct ThreadSettings_t {
ThreadSettingsKindMask mask;
long priority;
long stack_size;
sequence<long, 1024> cpu_list;
ThreadSettingsCpuRotationKind cpu_rotation;
long num_uses;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
/***** RTI EXTENSION ****/
struct EventQosPolicy {
ThreadSettings_t thread; //@ID 0
long initial_count; //@ID 1
long max_count; //@ID 2
}; //@top-level false
//@Extensibility MUTABLE_EXTENSIBILITY
/***** RTI EXTENSION ****/
struct ReceiverPoolQosPolicy {
ThreadSettings_t thread; //@ID 0
long initial_receive_threads;//@ID 1
long max_receive_threads; //@ID 2
long buffer_size; //@ID 3
long buffer_alignment; //@ID 4
boolean is_timestamp_enabled; //@ID 5
}; //@top-level false
//@Extensibility MUTABLE_EXTENSIBILITY
/***** RTI EXTENSION ****/
struct DatabaseQosPolicy {
ThreadSettings_t thread; //@ID 0
Duration_t shutdown_timeout; //@ID 1
Duration_t cleanup_period; //@ID 2
Duration_t shutdown_cleanup_period; //@ID 3
long initial_records; //@ID 4
long max_skiplist_level; //@ID 5
long table_allocation_block_size; //@ID 6
long max_weak_references; //@ID 7
long initial_weak_references; //@ID 8
}; //@top-level false
//@Extensibility MUTABLE_EXTENSIBILITY
/***** RTI EXTENSION ****/
enum RemoteParticipantPurgeKind {
LIVELINESS_BASED_REMOTE_PARTICIPANT_PURGE,
NO_REMOTE_PARTICIPANT_PURGE
};
/***** RTI EXTENSION ****/
struct BuiltinTopicReaderResourceLimits_t {
long initial_samples;
long max_samples;
long initial_infos;
long max_infos;
long initial_outstanding_reads;
long max_outstanding_reads;
long max_samples_per_read;
boolean disable_fragmentation_support;
long max_fragmented_samples;
long initial_fragmented_samples;
long max_fragmented_samples_per_remote_writer;
long max_fragments_per_sample;
boolean dynamically_allocate_fragmented_samples;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
/***** RTI EXTENSION ****/
struct RtpsReliableReaderProtocol_t {
Duration_t min_heartbeat_response_delay;
Duration_t max_heartbeat_response_delay;
Duration_t heartbeat_suppression_duration;
Duration_t nack_period;
long receive_window_size;
Duration_t round_trip_time;
Duration_t app_ack_period;
Duration_t min_app_ack_response_keep_duration;
long samples_per_app_ack;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
/***** RTI EXTENSION ****/
struct RtpsReliableWriterProtocol_t {
long low_watermark;
long high_watermark;
Duration_t heartbeat_period;
Duration_t fast_heartbeat_period;
Duration_t late_joiner_heartbeat_period;
Duration_t virtual_heartbeat_period;
long samples_per_virtual_heartbeat;
long max_heartbeat_retries;
boolean inactivate_nonprogressing_readers;
long heartbeats_per_max_samples;
Duration_t min_nack_response_delay;
Duration_t max_nack_response_delay;
Duration_t nack_suppression_duration;
long max_bytes_per_nack_response;
Duration_t disable_positive_acks_min_sample_keep_duration;
Duration_t disable_positive_acks_max_sample_keep_duration;
Duration_t disable_positive_acks_sample_min_separation;
boolean disable_positive_acks_enable_adaptive_sample_keep_duration;
boolean disable_positive_acks_enable_spin_wait;
long disable_positive_acks_decrease_sample_keep_duration_factor;
long disable_positive_acks_increase_sample_keep_duration_factor;
long min_send_window_size;
long max_send_window_Size;
Duration_t send_window_update_period;
long send_window_increase_factor;
long send_window_decrease_factor;
boolean enable_multicast_periodic_heartbeat;
long multicast_resend_threshold;
boolean disable_repair_piggyback_heartbeat;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
/***** RTI EXTENSION ****/
typedef long DiscoveryConfigBuiltinPluginKindMask;
const DiscoveryConfigBuiltinPluginKindMask DISCOVERYCONFIG_BUILTIN_SPDP = 0x0001 << 0;
const DiscoveryConfigBuiltinPluginKindMask DISCOVERYCONFIG_BUILTIN_SEDP = 0x0001 << 1;
const DiscoveryConfigBuiltinPluginKindMask DISCOVERYCONFIG_BUILTIN_SDP = DISCOVERYCONFIG_BUILTIN_SPDP |
DISCOVERYCONFIG_BUILTIN_SEDP;
const DiscoveryConfigBuiltinPluginKindMask DISCOVERYCONFIG_BUILTIN_EDS = 0x0001 << 2;
/***** RTI EXTENSION ****/
const DiscoveryConfigBuiltinPluginKindMask DISCOVERYCONFIG_BUILTIN_PLUGIN_MASK_ALL = 0xefff;
const DiscoveryConfigBuiltinPluginKindMask DISCOVERYCONFIG_BUILTIN_PLUGIN_MASK_NONE = 0x0;
const DiscoveryConfigBuiltinPluginKindMask DISCOVERYCONFIG_BUILTIN_PLUGIN_MASK_DEFAULT = DISCOVERYCONFIG_BUILTIN_SDP;
/***** RTI EXTENSION ****/
typedef long DiscoveryConfigBuiltinChannelKindMask;
const DiscoveryConfigBuiltinChannelKindMask DISCOVERYCONFIG_SERVICE_REQUEST_CHANNEL = 0x0003;
const DiscoveryConfigBuiltinChannelKindMask DISCOVERYCONFIG_TYPE_LOOKUP_SERVICE_CHANNEL = 0xF000;
const DiscoveryConfigBuiltinChannelKindMask DISCOVERYCONFIG_TYPE_LOOKUP_SERVICE_REQUEST_CHANNEL = 0x3000;
const DiscoveryConfigBuiltinChannelKindMask DISCOVERYCONFIG_TYPE_LOOKUP_SERVICE_REPLY_CHANNEL = 0xC000;
const DiscoveryConfigBuiltinChannelKindMask DISCOVERYCONFIG_BUILTIN_CHANNEL_MASK_ALL = 0xffff;
const DiscoveryConfigBuiltinChannelKindMask DISCOVERYCONFIG_BUILTIN_CHANNEL_MASK_NONE = 0x0;
const DiscoveryConfigBuiltinChannelKindMask DISCOVERYCONFIG_BUILTIN_CHANNEL_MASK_DEFAULT = DISCOVERYCONFIG_SERVICE_REQUEST_CHANNEL;
/***** RTI EXTENSION ****/
struct DiscoveryBuiltinReaderFragmentationResourceLimits_t {
boolean disable_fragmentation_support;
long max_fragmented_samples;
long initial_fragmented_samples;
long max_fragmented_samples_per_remote_writer;
long max_fragments_per_sample;
boolean dynamically_allocate_fragmented_samples;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
/***** RTI EXTENSION ****/
enum PublishModeQosPolicyKind {
SYNCHRONOUS_PUBLISH_MODE_QOS,
ASYNCHRONOUS_PUBLISH_MODE_QOS
};
/***** RTI EXTENSION ****/
struct PublishModeQosPolicy {
PublishModeQosPolicyKind kind;
string<255> flow_controller_name;
long priority;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
/***** RTI EXTENSION ****/
enum ThreadBlockingKind {
SEMAPHORE_BLOCKING_KIND,
SPIN_BLOCKING_KIND
};
/***** RTI EXTENSION ****/
struct AsynchronousPublisherQosPolicy {
boolean disable_asynchronous_write; //@ID 0
ThreadSettings_t thread; //@ID 1
boolean disable_asynchronous_batch; //@ID 2
ThreadSettings_t asynchronous_batch_thread; //@ID 3
ThreadBlockingKind asynchronous_batch_blocking_kind; //@ID 4
boolean disable_topic_query_publication; //@ID 6
ThreadSettings_t topic_query_publication_thread; //@ID 5
}; //@top-level false
//@Extensibility MUTABLE_EXTENSIBILITY
/***** RTI EXTENSION ****/
struct DiscoveryConfigQosPolicy {
Duration_t participant_liveliness_lease_duration; //@ID 0
Duration_t participant_liveliness_assert_period; //@ID 1
Duration_t participant_announcement_period; //@ID 52
RemoteParticipantPurgeKind remote_participant_purge_kind; //@ID 2
Duration_t max_liveliness_loss_detection_period; //@ID 3
long initial_participant_announcements; //@ID 4
long new_remote_participant_announcements; //@ID 51
Duration_t min_initial_participant_announcement_period; //@ID 5
Duration_t max_initial_participant_announcement_period; //@ID 6
BuiltinTopicReaderResourceLimits_t participant_reader_resource_limits; //@ID 7
RtpsReliableReaderProtocol_t publication_reader; //@ID 8
BuiltinTopicReaderResourceLimits_t publication_reader_resource_limits; //@ID 9
RtpsReliableReaderProtocol_t subscription_reader; //@ID 10
BuiltinTopicReaderResourceLimits_t subscription_reader_resource_limits; //@ID 11
RtpsReliableWriterProtocol_t publication_writer; //@ID 12
WriterDataLifecycleQosPolicy publication_writer_data_lifecycle; //@ID 13
RtpsReliableWriterProtocol_t subscription_writer; //@ID 14
WriterDataLifecycleQosPolicy subscription_writer_data_lifecycle; //@ID 15
long endpoint_plugin_redundancy_level; //@ID 16
DiscoveryConfigBuiltinPluginKindMask builtin_discovery_plugins; //@ID 17
DiscoveryConfigBuiltinChannelKindMask enabled_builtin_channels; //@ID 50
ReliabilityQosPolicyKind
participant_message_reader_reliability_kind; //@ID 37
RtpsReliableReaderProtocol_t participant_message_reader; //@ID 18
RtpsReliableWriterProtocol_t participant_message_writer; //@ID 19
PublishModeQosPolicy publication_writer_publish_mode; //@ID 20
PublishModeQosPolicy subscription_writer_publish_mode; //@ID 21
AsynchronousPublisherQosPolicy asynchronous_publisher; //@ID 22
Duration_t default_domain_announcement_period; //@ID 23
boolean ignore_default_domain_announcements; //@ID 24
RtpsReliableWriterProtocol_t service_request_writer; //@ID 38
WriterDataLifecycleQosPolicy service_request_writer_data_lifecycle; //@ID 39
PublishModeQosPolicy service_request_writer_publish_mode; //@ID 44
RtpsReliableReaderProtocol_t service_request_reader; //@ID 40
Duration_t locator_reachability_assert_period; //@ID 41
Duration_t locator_reachability_lease_duration; //@ID 42
Duration_t locator_reachability_change_detection_period; //@ID 43
RtpsReliableWriterProtocol_t secure_volatile_writer; //@ID 48
PublishModeQosPolicy secure_volatile_writer_publish_mode; //@ID 45
RtpsReliableReaderProtocol_t secure_volatile_reader; //@ID 49
long endpoint_type_object_lb_serialization_threshold; //@ID 46
Duration_t dns_tracker_polling_period; //@ID 47
/* Participant Configuration Channel QoS (SPDP2) */
PublishModeQosPolicy participant_configuration_writer_publish_mode; //@ID 53
RtpsReliableWriterProtocol_t participant_configuration_writer; //@ID 54
WriterDataLifecycleQosPolicy participant_configuration_writer_data_lifecycle; //@ID 55
RtpsReliableReaderProtocol_t participant_configuration_reader; //@ID 56
BuiltinTopicReaderResourceLimits_t participant_configuration_reader_resource_limits; //@ID 57
boolean sedp_rely_on_spdp_only; //@ID 25
LatencyBudgetQosPolicy publication_writer_latency_budget; //@ID 26
boolean publication_writer_push_on_write; //@ID 27
LatencyBudgetQosPolicy subscription_writer_latency_budget; //@ID 28
boolean subscription_writer_push_on_write; //@ID 29
RtpsReliableWriterProtocol_t participant_state_writer; //@ID 30
LatencyBudgetQosPolicy participant_state_writer_latency_budget; //@ID 31
boolean participant_state_writer_push_on_write; //@ID 32
PublishModeQosPolicy participant_state_writer_publish_mode; //@ID 33
RtpsReliableReaderProtocol_t participant_proxy_reader; //@ID 34
DiscoveryBuiltinReaderFragmentationResourceLimits_t
participant_proxy_reader_fragmentation_resource_limits; //@ID 35
// IMPORTANT!! ID 36 was used for plugin_promiscuity_kind until it was
// removed, so 36 must not be used.
string<255> request_types_filter; //@ID 58
}; //@top-level false
//@Extensibility MUTABLE_EXTENSIBILITY
/***** RTI EXTENSION ****/
struct Property_t {
/* Total accumulated length limited by DomainParticipantResourceLimitsQosPolicy,
should be 1024 in total by default */
string<127> name;
string<511> value;
boolean propagate;
}; //@top-level false
//@Extensibility FINAL_EXTENSIBILITY
/***** RTI EXTENSION ****/
const long PROPERTY_LIST_MAX_LENGTH = 64;
struct PropertyQosPolicy {
/* limited by DomainParticipantResourceLimitsQosPolicy, default 32 */
sequence<Property_t, PROPERTY_LIST_MAX_LENGTH> value;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
@extensibility(APPENDABLE)
struct Tag {
/*
* Total accumulated length limited by
* DomainParticipantResourceLimitsQosPolicy, should be 0 by default.
*/
string<255> name;
string<511> value;
}; //@top-level false
const long DATA_TAG_LIST_MAX_LENGTH = 64;
@extensibility(APPENDABLE)
struct DataTagQosPolicy {
/* limited by DomainParticipantResourceLimitsQosPolicy, default 0 */
sequence<Tag, DATA_TAG_LIST_MAX_LENGTH> tags;
}; //@top-level false
/***** RTI EXTENSION ****/
struct EntityNameQosPolicy {
string<255> name;
string<255> role_name;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
const long TRANSPORT_MULICAST_MAPPING_STRING_MAX_LENGTH = 255;
/***** RTI EXTENSION ****/
struct TransportMulticastMappingFunction_t {
string<TRANSPORT_MULICAST_MAPPING_STRING_MAX_LENGTH> dll;
string<TRANSPORT_MULICAST_MAPPING_STRING_MAX_LENGTH> function_name;
}; //@top-level false
//@Extensibility FINAL_EXTENSIBILITY
/***** RTI EXTENSION ****/
struct TransportMulticastMapping_t {
string<TRANSPORT_MULICAST_MAPPING_STRING_MAX_LENGTH> addresses;
string<TRANSPORT_MULICAST_MAPPING_STRING_MAX_LENGTH> topic_expression;
TransportMulticastMappingFunction_t mapping_function;
}; //@top-level false
//@Extensibility FINAL_EXTENSIBILITY
/***** RTI EXTENSION ****/
struct TransportMulticastMappingQosPolicy {
sequence<TransportMulticastMapping_t,4> value;
}; //@top-level false
/***** RTI EXTENSION ****/
enum ServiceQosPolicyKind {
NO_SERVICE_QOS,
PERSISTENCE_SERVICE_QOS,
QUEUING_SERVICE_QOS,
ROUTING_SERVICE_QOS,
RECORDING_SERVICE_QOS,
REPLAY_SERVICE_QOS,
DATABASE_INTEGRATION_SERVICE_QOS,
WEB_INTEGRATION_SERVICE_QOS
}; //@Extensibility EXTENSIBLE_EXTENSIBILITY
/***** RTI EXTENSION ****/
struct ServiceQosPolicy {
ServiceQosPolicyKind kind;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
/***** RTI EXTENSION ****/
enum CdrPaddingKind {
ZERO_CDR_PADDING,
NOT_SET_CDR_PADDING,
AUTO_CDR_PADDING
};
/***** RTI EXTENSION ****/
struct TypeSupportQosPolicy {
/* NOTE: This is a "void *" in our code, fix
when possible */
long long plugin_data;
CdrPaddingKind cdr_padding_kind;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
/***** RTI EXTENSION ****/
struct UserObjectSettings_t {
long size;
long alignment;
}; //@top-level false
//@Extensibility FINAL_EXTENSIBILITY
/***** RTI EXTENSION ****/
struct UserObjectQosPolicy {
UserObjectSettings_t participant_user_object;
UserObjectSettings_t topic_user_object;
UserObjectSettings_t content_filtered_topic_user_object;
UserObjectSettings_t publisher_user_object;
UserObjectSettings_t data_writer_user_object;
UserObjectSettings_t subscriber_user_object;
UserObjectSettings_t data_reader_user_object;
UserObjectSettings_t read_condition_user_object;
UserObjectSettings_t query_condition_user_object;
UserObjectSettings_t index_condition_user_object;
UserObjectSettings_t flow_controller_user_object;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
/***** RTI EXTENSIONS ****/
struct DomainParticipantProtocolQosPolicy {
boolean vendor_specific_entity;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
struct DomainParticipantQos {
UserDataQosPolicy user_data; //@ID 0
EntityFactoryQosPolicy entity_factory; //@ID 1
/***** RTI EXTENSIONS ****/
WireProtocolQosPolicy wire_protocol; //@ID 2
TransportBuiltinQosPolicy transport_builtin; //@ID 3
TransportUnicastQosPolicy default_unicast; //@ID 4
DiscoveryQosPolicy discovery; //@ID 5
DomainParticipantResourceLimitsQosPolicy resource_limits; //@ID 6
EventQosPolicy event; //@ID 7
ReceiverPoolQosPolicy receiver_pool; //@ID 8
DatabaseQosPolicy database; //@ID 9
DiscoveryConfigQosPolicy discovery_config; //@ID 10
PropertyQosPolicy property; //@ID 12
EntityNameQosPolicy participant_name; //@ID 13
TransportMulticastMappingQosPolicy multicast_mapping; //@ID 14
ServiceQosPolicy service; //@ID 18
PartitionQosPolicy partition; //@ID 19
UserObjectQosPolicy user_object; //@ID 15
DomainParticipantProtocolQosPolicy protocol; //@ID 16
TypeSupportQosPolicy type_support; //@ID 17
}; //@top-level false
//@Extensibility MUTABLE_EXTENSIBILITY
/***** RTI EXTENSIONS ****/
struct TopicProtocolQosPolicy {
boolean vendor_specific_entity;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
struct TopicQos {
TopicDataQosPolicy topic_data; //@ID 0
DurabilityQosPolicy durability; //@ID 1
DurabilityServiceQosPolicy durability_service; //@ID 2
DeadlineQosPolicy deadline; //@ID 3
LatencyBudgetQosPolicy latency_budget; //@ID 4
LivelinessQosPolicy liveliness; //@ID 5
ReliabilityQosPolicy reliability; //@ID 6
DestinationOrderQosPolicy destination_order; //@ID 7
HistoryQosPolicy history; //@ID 8
ResourceLimitsQosPolicy resource_limits; //@ID 9
TransportPriorityQosPolicy transport_priority; //@ID 10
LifespanQosPolicy lifespan; //@ID 11
OwnershipQosPolicy ownership; //@ID 12
DataRepresentationQosPolicy data_representation; //@ID 14
/***** RTI EXTENSION ****/
TopicProtocolQosPolicy protocol; //@ID 13
}; //@top-level false
//@Extensibility MUTABLE_EXTENSIBILITY
/***** RTI EXTENSION ****/
struct GUID_t {
octet value[16];
}; //@top-level false
//@Extensibility FINAL_EXTENSIBILITY
/***** RTI EXTENSION ****/
struct DataWriterProtocolQosPolicy {
GUID_t virtual_guid; //@ID 0
unsigned long rtps_object_id; //@ID 1
boolean push_on_write; //@ID 2
boolean disable_positive_acks; //@ID 3
boolean disable_inline_keyhash; //@ID 4
boolean serialize_key_with_dispose; //@ID 5
boolean propagate_app_ack_with_no_response; //@ID 9
RtpsReliableWriterProtocol_t rtps_reliable_writer; //@ID 6
SequenceNumber_t initial_virtual_sequence_number; //@ID 7
boolean vendor_specific_entity; //@ID 8
boolean meta_entity; //@ID 10
}; //@top-level false
//@Extensibility MUTABLE_EXTENSIBILITY
/***** RTI EXTENSION ****/
struct TransportSelectionQosPolicy {
sequence<string<128>, 128> enabled_transports;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
/***** RTI EXTENSION ****/
struct BatchQosPolicy {
boolean enable;
long max_data_bytes;
long max_meta_data_bytes;
long max_samples;
Duration_t max_flush_delay;
Duration_t source_timestamp_resolution;
boolean thread_safe_write;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
/***** RTI EXTENSION ****/
struct TransportMulticastSettings_t {
sequence<string<128>, 128> transports;
string<40> receive_address;
long receive_port;
}; //@top-level false
//@Extensibility FINAL_EXTENSIBILITY
/***** RTI EXTENSION ****/
struct ChannelSettings_t {
sequence<TransportMulticastSettings_t, 4> multicast_settings;
/* total accumulated length limited by DomainParticipantResourceLimitsQosPolicy, default 256 */
string<255> filter_expression;
long priority;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
/***** RTI EXTENSION ****/
struct MultiChannelQosPolicy {
/* limited by DomainParticipantResourceLimitsQosPolicy, default 32 */
sequence<ChannelSettings_t, 32> channels; //@ID 0
string<255> filter_name; //@ID 1
}; //@top-level false
//@Extensibility MUTABLE_EXTENSIBILITY
/***** RTI EXTENSION ****/
enum DataWriterResourceLimitsInstanceReplacementKind {
UNREGISTERED_INSTANCE_REPLACEMENT = 0,
ALIVE_INSTANCE_REPLACEMENT,
DISPOSED_INSTANCE_REPLACEMENT,
ALIVE_THEN_DISPOSED_INSTANCE_REPLACEMENT,
DISPOSED_THEN_ALIVE_INSTANCE_REPLACEMENT,
ALIVE_OR_DISPOSED_INSTANCE_REPLACEMENT
};
/***** RTI EXTENSION ****/
struct DataWriterResourceLimitsQosPolicy {
long initial_concurrent_blocking_threads;
long max_concurrent_blocking_threads;
long max_remote_reader_filters;
long initial_batches;
long max_batches;
long cookie_max_length;
DataWriterResourceLimitsInstanceReplacementKind instance_replacement;
boolean replace_empty_instances;
boolean autoregister_instances;
long initial_virtual_writers;
long max_virtual_writers;
long max_remote_readers;
long max_app_ack_remote_readers;
long initial_active_topic_queries;
long max_active_topic_queries;
AllocationSettings_t writer_loaned_sample_allocation;
boolean initialize_writer_loaned_sample;
long initial_remote_readers;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
/***** RTI EXTENSION ****/
@extensibility(APPENDABLE)
struct DataWriterShmemRefTransferModeSettings {
boolean enable_data_consistency_check;
boolean initialize_data;
}; //@top-level false
/***** RTI EXTENSION ****/
@extensibility(APPENDABLE)
struct DataWriterTransferModeQosPolicy {
DataWriterShmemRefTransferModeSettings shmem_ref_settings;
}; //@top-level false
/***** RTI EXTENSION ****/
struct TransportEncapsulationSettings_t {
sequence<string<128>, 128> transports;
sequence<EncapsulationId_t, 8> encapsulations;
}; //@top-level false
//@Extensibility FINAL_EXTENSIBILITY
/***** RTI EXTENSION ****/
struct TransportEncapsulationQosPolicy {
sequence<TransportEncapsulationSettings_t, 4> value;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
struct DataWriterQos {
DurabilityQosPolicy durability; //@ID 0
DurabilityServiceQosPolicy durability_service; //@ID 1
DeadlineQosPolicy deadline; //@ID 2
LatencyBudgetQosPolicy latency_budget; //@ID 3
LivelinessQosPolicy liveliness; //@ID 4
ReliabilityQosPolicy reliability; //@ID 5
DestinationOrderQosPolicy destination_order; //@ID 6
HistoryQosPolicy history; //@ID 7
ResourceLimitsQosPolicy resource_limits; //@ID 8
TransportPriorityQosPolicy transport_priority; //@ID 9
LifespanQosPolicy lifespan; //@ID 10
UserDataQosPolicy user_data; //@ID 11
OwnershipQosPolicy ownership; //@ID 12
OwnershipStrengthQosPolicy ownership_strength; //@ID 13
WriterDataLifecycleQosPolicy writer_data_lifecycle; //@ID 14
DataRepresentationQosPolicy data_representation; //@ID 30
DataTagQosPolicy data_tags; //@ID 29
/***** RTI EXTENSIONS ****/
DataWriterResourceLimitsQosPolicy writer_resource_limits; //@ID 15
DataWriterProtocolQosPolicy protocol; //@ID 16
TransportSelectionQosPolicy transport_selection; //@ID 17
TransportUnicastQosPolicy unicast; //@ID 18
TransportEncapsulationQosPolicy encapsulation; //@ID 19
PublishModeQosPolicy publish_mode; //@ID 20
PropertyQosPolicy property; //@ID 21
ServiceQosPolicy service; //@ID 22
BatchQosPolicy batch; //@ID 23
MultiChannelQosPolicy multi_channel; //@ID 24
AvailabilityQosPolicy availability; //@ID 25
EntityNameQosPolicy publication_name; //@ID 26
TopicQueryDispatchQosPolicy topic_query; //@ID 28
DataWriterTransferModeQosPolicy transfer_mode; //@ID 31
TypeSupportQosPolicy type_support; //@ID 27
}; //@top-level false
//@Extensibility MUTABLE_EXTENSIBILITY
/***** RTI EXTENSIONS ****/
struct PublisherProtocolQosPolicy {
boolean vendor_specific_entity;
/*
* exclusive_area_level moved here from deprecated exclusive area policy.
* It is in this policy for convenience only.
*/
long exclusive_area_level;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
struct PublisherQos {
PresentationQosPolicy presentation; //@ID 0
PartitionQosPolicy partition; //@ID 1
GroupDataQosPolicy group_data; //@ID 2
EntityFactoryQosPolicy entity_factory; //@ID 3
/***** RTI EXTENSIONS ****/
AsynchronousPublisherQosPolicy asynchronous_publisher; //@ID 4
PublisherProtocolQosPolicy protocol; //@ID 6
EntityNameQosPolicy publisher_name; //@ID 7
}; //@top-level false
//@Extensibility MUTABLE_EXTENSIBILITY
/***** RTI EXTENSION ****/
const long AUTO_MAX_TOTAL_INSTANCES = 0;
/***** RTI EXTENSION ****/
enum DataReaderInstanceRemovalKind {
NO_INSTANCE_REMOVAL = 0,
EMPTY_INSTANCE_REMOVAL,
FULLY_PROCESSED_INSTANCE_REMOVAL,
ANY_INSTANCE_REMOVAL
};
/***** RTI EXTENSION ****/
struct DDS_DataReaderResourceLimitsInstanceReplacementSettings {
DataReaderInstanceRemovalKind alive_instance_removal;
DataReaderInstanceRemovalKind disposed_instance_removal;
DataReaderInstanceRemovalKind no_writers_instance_removal;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
/***** RTI EXTENSION ****/
struct DataReaderResourceLimitsQosPolicy {
long max_remote_writers;
long max_remote_writers_per_instance;
long max_samples_per_remote_writer;
long max_infos;
long initial_remote_writers;
long initial_remote_writers_per_instance;
long initial_infos;
long initial_outstanding_reads;
long max_outstanding_reads;
long max_samples_per_read;
boolean disable_fragmentation_support;
long max_fragmented_samples;
long initial_fragmented_samples;
long max_fragmented_samples_per_remote_writer;
long max_fragments_per_sample;
boolean dynamically_allocate_fragmented_samples;
long max_total_instances;
long max_remote_virtual_writers;
long intial_remote_virtual_writers;
long max_remote_virtual_writers_per_instance;
long initial_remote_virtual_writers_per_instance;
long max_remote_writers_per_sample;
long max_query_condition_filters;
long max_app_ack_response_length;
boolean keep_minimum_state_for_instances;
long initial_topic_queries;
long max_topic_queries;
AllocationSettings_t shmem_ref_transfer_mode_attached_segment_allocation;
DDS_DataReaderResourceLimitsInstanceReplacementSettings instance_replacement;
Duration_t autopurge_remote_not_alive_writer_delay;
Duration_t autopurge_remote_virtual_writer_delay;
boolean lazily_allocate_batch_resources;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
/***** RTI EXTENSION ****/
struct DataReaderProtocolQosPolicy {
GUID_t virtual_guid; //@ID 0
unsigned long rtps_object_id; //@ID 1
boolean expects_inline_qos; //@ID 2
boolean disable_positive_acks; //@ID 3
boolean propagate_dispose_of_unregistered_instances; //@ID 4
RtpsReliableReaderProtocol_t rtps_reliable_reader; //@ID 5
boolean vendor_specific_entity; //@ID 6
boolean propagate_unregister_of_disposed_instances; //@ID 7
boolean meta_entity; //@ID 8
}; //@top-level false
//@Extensibility MUTABLE_EXTENSIBILITY
/***** RTI EXTENSION ****/
struct TransportMulticastQosPolicy {
sequence<TransportMulticastSettings_t, 4> value;
TransportMulticastQosPolicyKind kind;
}; //@top-level false
struct DataReaderQos {
DurabilityQosPolicy durability; //@ID 0
DeadlineQosPolicy deadline; //@ID 1
LatencyBudgetQosPolicy latency_budget; //@ID 2
LivelinessQosPolicy liveliness; //@ID 3
ReliabilityQosPolicy reliability; //@ID 4
DestinationOrderQosPolicy destination_order; //@ID 5
HistoryQosPolicy history; //@ID 6
ResourceLimitsQosPolicy resource_limits; //@ID 7
UserDataQosPolicy user_data; //@ID 8
OwnershipQosPolicy ownership; //@ID 9
TimeBasedFilterQosPolicy time_based_filter; //@ID 10
ReaderDataLifecycleQosPolicy reader_data_lifecycle; //@ID 11
DataRepresentationQosPolicy data_representation; //@ID 26
TypeConsistencyEnforcementQosPolicy type_consistency; //@ID 12
DataTagQosPolicy data_tags; //@ID 25
/***** RTI EXTENSIONS ****/
DataReaderResourceLimitsQosPolicy reader_resource_limits; //@ID 13
DataReaderProtocolQosPolicy protocol; //@ID 14
TransportSelectionQosPolicy transport_selection; //@ID 15
TransportUnicastQosPolicy unicast; //@ID 16
TransportMulticastQosPolicy multicast; //@ID 17
TransportEncapsulationQosPolicy encapsulation; //@ID 18
PropertyQosPolicy property; //@ID 19
ServiceQosPolicy service; //@ID 20
AvailabilityQosPolicy availability; //@ID 21
EntityNameQosPolicy subscription_name; //@ID 22
TransportPriorityQosPolicy transport_priority; //@ID 24
TypeSupportQosPolicy type_support; //@ID 23
}; //@top-level false
//@Extensibility MUTABLE_EXTENSIBILITY
/***** RTI EXTENSIONS ****/
struct SubscriberProtocolQosPolicy {
boolean vendor_specific_entity;
}; //@top-level false
//@Extensibility EXTENSIBLE_EXTENSIBILITY
struct SubscriberQos {
PresentationQosPolicy presentation; //@ID 0
PartitionQosPolicy partition; //@ID 1
GroupDataQosPolicy group_data; //@ID 2
EntityFactoryQosPolicy entity_factory; //@ID 3
/***** RTI EXTENSIONS ****/
SubscriberProtocolQosPolicy protocol; //@ID 5
EntityNameQosPolicy subscriber_name; //@ID 6
}; //@top-level false
//@Extensibility MUTABLE_EXTENSIBILITY
// ----------------------------------------------------------------------
// TODO: Add RTI extensions to built-in topic data
struct ParticipantBuiltinTopicData {
BuiltinTopicKey_t key;
UserDataQosPolicy user_data;
}; //@top-level false
const long BUILTIN_TOPIC_DATA_STRING_MAX_LENGTH = 255;
struct TopicBuiltinTopicData {
BuiltinTopicKey_t key; //@ID 0
string<BUILTIN_TOPIC_DATA_STRING_MAX_LENGTH> name; //@ID 1
string<BUILTIN_TOPIC_DATA_STRING_MAX_LENGTH> type_name; //@ID 2
DurabilityQosPolicy durability; //@ID 3
DurabilityServiceQosPolicy durability_service; //@ID 4
DeadlineQosPolicy deadline; //@ID 5
LatencyBudgetQosPolicy latency_budget; //@ID 6
LivelinessQosPolicy liveliness; //@ID 7
ReliabilityQosPolicy reliability; //@ID 8
TransportPriorityQosPolicy transport_priority; //@ID 9
LifespanQosPolicy lifespan; //@ID 10
DestinationOrderQosPolicy destination_order; //@ID 11
HistoryQosPolicy history; //@ID 12
ResourceLimitsQosPolicy resource_limits; //@ID 13
OwnershipQosPolicy ownership; //@ID 14
TopicDataQosPolicy topic_data; //@ID 15
TypeConsistencyEnforcementQosPolicy type_consistency; //@ID 16
DataRepresentationQosPolicy data_representation; //@ID 17
}; //@Extensibility MUTABLE_EXTENSIBILITY
//@top-level false
struct PublicationBuiltinTopicData {
BuiltinTopicKey_t key; //@ID 0
BuiltinTopicKey_t participant_key; //@ID 1
string<BUILTIN_TOPIC_DATA_STRING_MAX_LENGTH> topic_name; //@ID 2
string<BUILTIN_TOPIC_DATA_STRING_MAX_LENGTH> type_name; //@ID 3
DurabilityQosPolicy durability; //@ID 4
DurabilityServiceQosPolicy durability_service; //@ID 5
DeadlineQosPolicy deadline; //@ID 6
LatencyBudgetQosPolicy latency_budget; //@ID 7
LivelinessQosPolicy liveliness; //@ID 8
ReliabilityQosPolicy reliability; //@ID 9
LifespanQosPolicy lifespan; //@ID 10
UserDataQosPolicy user_data; //@ID 11
OwnershipQosPolicy ownership; //@ID 12
OwnershipStrengthQosPolicy ownership_strength; //@ID 13
DestinationOrderQosPolicy destination_order; //@ID 14
PresentationQosPolicy presentation; //@ID 15
PartitionQosPolicy partition; //@ID 16
TopicDataQosPolicy topic_data; //@ID 17
GroupDataQosPolicy group_data; //@ID 18
TypeConsistencyEnforcementQosPolicy type_consistency; //@ID 19
DataRepresentationQosPolicy data_representation; //@ID 21
DataTagQosPolicy data_tags; //@ID 20
BuiltinTopicKey_t related_datareader_key; //@ID 22
}; //@Extensibility MUTABLE_EXTENSIBILITY
//@top-level false
struct SubscriptionBuiltinTopicData {
BuiltinTopicKey_t key; //@ID 0
BuiltinTopicKey_t participant_key; //@ID 1
string<BUILTIN_TOPIC_DATA_STRING_MAX_LENGTH> topic_name; //@ID 2
string<BUILTIN_TOPIC_DATA_STRING_MAX_LENGTH> type_name; //@ID 3
DurabilityQosPolicy durability; //@ID 4
DeadlineQosPolicy deadline; //@ID 5
LatencyBudgetQosPolicy latency_budget; //@ID 6
LivelinessQosPolicy liveliness; //@ID 7
ReliabilityQosPolicy reliability; //@ID 8
OwnershipQosPolicy ownership; //@ID 9
DestinationOrderQosPolicy destination_order; //@ID 10
UserDataQosPolicy user_data; //@ID 11
TimeBasedFilterQosPolicy time_based_filter; //@ID 12
PresentationQosPolicy presentation; //@ID 13
PartitionQosPolicy partition; //@ID 14
TopicDataQosPolicy topic_data; //@ID 15
GroupDataQosPolicy group_data; //@ID 16
TypeConsistencyEnforcementQosPolicy type_consistency; //@ID 17
DataRepresentationQosPolicy data_representation; //@ID 19
DataTagQosPolicy data_tags; //@ID 18
BuiltinTopicKey_t related_datawriter_key; //@ID 20
}; //@Extensibility MUTABLE_EXTENSIBILITY
//@top-level false
struct SampleInfo {
SampleStateKind sample_state;
ViewStateKind view_state;
InstanceStateKind instance_state;
Time_t source_timestamp;
InstanceHandle_t instance_handle;
InstanceHandle_t publication_handle;
long disposed_generation_count;
long no_writers_generation_count;
long sample_rank;
long generation_rank;
long absolute_generation_rank;
boolean valid_data;
/***** RTI EXTENSIONS *****/
Time_t reception_timestamp;
SequenceNumber_t publication_sequence_number;
SequenceNumber_t reception_sequence_number;
GUID_t publication_virtual_guid;
SequenceNumber_t publication_virtual_sequence_number;
GUID_t original_publication_virtual_guid;
SequenceNumber_t original_publication_virtual_sequence_number;
}; //@top-level false
/******************************************************************
*
*
* INTERFACES (ignored by rtiddsgen)
*
*
******************************************************************/
/*CODEGENII-202*/
/*interface Listener;
interface Entity;
interface TopicDescription;
interface Topic;
interface ContentFilteredTopic;
interface MultiTopic;*/
/*interface DataWriter;*/
interface DataReader;
/*interface Subscriber;*/
/*interface Publisher;*/
typedef sequence<DataReader> DataReaderSeq;
interface Listener {};
interface TopicListener : Listener {
void on_inconsistent_topic(in Topic the_topic,
in InconsistentTopicStatus status);
};
interface DataWriterListener : Listener {
void on_offered_deadline_missed(
in DataWriter writer,
in OfferedDeadlineMissedStatus status);
void on_offered_incompatible_qos(
in DataWriter writer,
in OfferedIncompatibleQosStatus status);
void on_liveliness_lost(
in DataWriter writer,
in LivelinessLostStatus status);
void on_publication_matched(
in DataWriter writer,
in PublicationMatchedStatus status);
};
interface PublisherListener : DataWriterListener {
};
interface DataReaderListener : Listener {
void on_requested_deadline_missed(
in DataReader the_reader,
in RequestedDeadlineMissedStatus status);
void on_requested_incompatible_qos(
in DataReader the_reader,
in RequestedIncompatibleQosStatus status);
void on_sample_rejected(
in DataReader the_reader,
in SampleRejectedStatus status);
void on_liveliness_changed(
in DataReader the_reader,
in LivelinessChangedStatus status);
void on_data_available(
in DataReader the_reader);
void on_subscription_matched(
in DataReader the_reader,
in SubscriptionMatchedStatus status);
void on_sample_lost(
in DataReader the_reader,
in SampleLostStatus status);
};
interface SubscriberListener : DataReaderListener {
void on_data_on_readers(
in Subscriber the_subscriber);
};
interface DomainParticipantListener : TopicListener,
PublisherListener,
SubscriberListener {
};
// ----------------------------------------------------------------------
// Conditions
// ----------------------------------------------------------------------
interface Condition {
boolean get_trigger_value();
};
typedef sequence<Condition> ConditionSeq;
interface WaitSet {
ReturnCode_t wait(
inout ConditionSeq active_conditions,
in Duration_t timeout);
ReturnCode_t attach_condition(
in Condition cond);
ReturnCode_t detach_condition(
in Condition cond);
ReturnCode_t get_conditions(
inout ConditionSeq attached_conditions);
};
interface GuardCondition : Condition {
ReturnCode_t set_trigger_value(
in boolean value);
};
interface StatusCondition : Condition {
StatusMask get_enabled_statuses();
ReturnCode_t set_enabled_statuses(
in StatusMask mask);
Entity get_entity();
};
interface ReadCondition : Condition {
SampleStateMask get_sample_state_mask();
ViewStateMask get_view_state_mask();
InstanceStateMask get_instance_state_mask();
DataReader get_datareader();
};
interface QueryCondition : ReadCondition {
string get_query_expression();
ReturnCode_t get_query_parameters(
inout StringSeq query_parameters);
ReturnCode_t set_query_parameters(
in StringSeq query_parameters);
};
// ----------------------------------------------------------------------
interface Entity {
// ReturnCode_t set_qos(
// in EntityQos qos);
// ReturnCode_t get_qos(
// inout EntityQos qos);
// ReturnCode_t set_listener(
// in Listener l,
// in StatusMask mask);
// Listener get_listener();
ReturnCode_t enable();
StatusCondition get_statuscondition();
StatusMask get_status_changes();
InstanceHandle_t get_instance_handle();
};
// ----------------------------------------------------------------------
interface DomainParticipant : Entity {
// Factory interfaces
Publisher create_publisher(
in PublisherQos qos,
in PublisherListener a_listener,
in StatusMask mask);
ReturnCode_t delete_publisher(
in Publisher p);
Subscriber create_subscriber(
in SubscriberQos qos,
in SubscriberListener a_listener,
in StatusMask mask);
ReturnCode_t delete_subscriber(
in Subscriber s);
Subscriber get_builtin_subscriber();
Topic create_topic(
in string topic_name,
in string type_name,
in TopicQos qos,
in TopicListener a_listener,
in StatusMask mask);
ReturnCode_t delete_topic(
in Topic a_topic);
Topic find_topic(
in string topic_name,
in Duration_t timeout);
TopicDescription lookup_topicdescription(
in string name);
ContentFilteredTopic create_contentfilteredtopic(
in string name,
in Topic related_topic,
in string filter_expression,
in StringSeq expression_parameters);
ReturnCode_t delete_contentfilteredtopic(
in ContentFilteredTopic a_contentfilteredtopic);
MultiTopic create_multitopic(
in string name,
in string type_name,
in string subscription_expression,
in StringSeq expression_parameters);
ReturnCode_t delete_multitopic(
in MultiTopic a_multitopic);
ReturnCode_t delete_contained_entities();
ReturnCode_t set_qos(
in DomainParticipantQos qos);
ReturnCode_t get_qos(
inout DomainParticipantQos qos);
ReturnCode_t set_listener(
in DomainParticipantListener a_listener,
in StatusMask mask);
DomainParticipantListener get_listener();
ReturnCode_t ignore_participant(
in InstanceHandle_t handle);
ReturnCode_t ignore_topic(
in InstanceHandle_t handle);
ReturnCode_t ignore_publication(
in InstanceHandle_t handle);
ReturnCode_t ignore_subscription(
in InstanceHandle_t handle);
DomainId_t get_domain_id();
ReturnCode_t assert_liveliness();
ReturnCode_t set_default_publisher_qos(
in PublisherQos qos);
ReturnCode_t get_default_publisher_qos(
inout PublisherQos qos);
ReturnCode_t set_default_subscriber_qos(
in SubscriberQos qos);
ReturnCode_t get_default_subscriber_qos(
inout SubscriberQos qos);
ReturnCode_t set_default_topic_qos(
in TopicQos qos);
ReturnCode_t get_default_topic_qos(
inout TopicQos qos);
ReturnCode_t get_discovered_participants(
inout InstanceHandleSeq participant_handles);
ReturnCode_t get_discovered_participant_data(
inout ParticipantBuiltinTopicData participant_data,
in InstanceHandle_t participant_handle);
ReturnCode_t get_discovered_topics(
inout InstanceHandleSeq topic_handles);
ReturnCode_t get_discovered_topic_data(
inout TopicBuiltinTopicData topic_data,
in InstanceHandle_t topic_handle);
boolean contains_entity(
in InstanceHandle_t a_handle);
ReturnCode_t get_current_time(
inout Time_t current_time);
};
interface DomainParticipantFactory {
DomainParticipant create_participant(
in DomainId_t domain_id,
in DomainParticipantQos qos,
in DomainParticipantListener a_listener,
in StatusMask mask);
ReturnCode_t delete_participant(
in DomainParticipant a_participant);
DomainParticipant lookup_participant(
in DomainId_t domain_id);
ReturnCode_t set_default_participant_qos(
in DomainParticipantQos qos);
ReturnCode_t get_default_participant_qos(
inout DomainParticipantQos qos);
ReturnCode_t set_qos(
in DomainParticipantFactoryQos qos);
ReturnCode_t get_qos(
inout DomainParticipantFactoryQos qos);
};
interface TypeSupport {
// ReturnCode_t register_type(
// in DomainParticipant domain,
// in string type_name);
// string get_type_name();
};
// ----------------------------------------------------------------------
interface TopicDescription {
string get_type_name();
string get_name();
DomainParticipant get_participant();
};
interface Topic : Entity, TopicDescription {
ReturnCode_t set_qos(
in TopicQos qos);
ReturnCode_t get_qos(
inout TopicQos qos);
ReturnCode_t set_listener(
in TopicListener a_listener,
in StatusMask mask);
TopicListener get_listener();
// Access the status
ReturnCode_t get_inconsistent_topic_status(
inout InconsistentTopicStatus a_status);
};
interface ContentFilteredTopic : TopicDescription {
string get_filter_expression();
ReturnCode_t get_expression_parameters(
inout StringSequence expression_parameters);
ReturnCode_t set_expression_parameters(
in StringSequence expression_parameters);
Topic get_related_topic();
};
interface MultiTopic : TopicDescription {
string get_subscription_expression();
ReturnCode_t get_expression_parameters(
inout StringSequence expression_parameters);
ReturnCode_t set_expression_parameters(
in StringSequence expression_parameters);
};
// ----------------------------------------------------------------------
interface Publisher : Entity {
DataWriter create_datawriter(
in Topic a_topic,
in DataWriterQos qos,
in DataWriterListener a_listener,
in StatusMask mask);
ReturnCode_t delete_datawriter(
in DataWriter a_datawriter);
DataWriter lookup_datawriter(
in string topic_name);
ReturnCode_t delete_contained_entities();
ReturnCode_t set_qos(
in PublisherQos qos);
ReturnCode_t get_qos(
inout PublisherQos qos);
ReturnCode_t set_listener(
in PublisherListener a_listener,
in StatusMask mask);
PublisherListener get_listener();
ReturnCode_t suspend_publications();
ReturnCode_t resume_publications();
ReturnCode_t begin_coherent_changes();
ReturnCode_t end_coherent_changes();
ReturnCode_t wait_for_acknowledgments(
in Duration_t max_wait);
DomainParticipant get_participant();
ReturnCode_t set_default_datawriter_qos(
in DataWriterQos qos);
ReturnCode_t get_default_datawriter_qos(
inout DataWriterQos qos);
ReturnCode_t copy_from_topic_qos(
inout DataWriterQos a_datawriter_qos,
in TopicQos a_topic_qos);
};
interface DataWriter : Entity {
// InstanceHandle_t register_instance(
// in Data instance_data);
// InstanceHandle_t register_instance_w_timestamp(
// in Data instance_data,
// in Time_t source_timestamp);
// ReturnCode_t unregister_instance(
// in Data instance_data,
// in InstanceHandle_t handle);
// ReturnCode_t unregister_instance_w_timestamp(
// in Data instance_data,
// in InstanceHandle_t handle,
// in Time_t source_timestamp);
// ReturnCode_t write(
// in Data instance_data,
// in InstanceHandle_t handle);
// ReturnCode_t write_w_timestamp(
// in Data instance_data,
// in InstanceHandle_t handle,
// in Time_t source_timestamp);
// ReturnCode_t dispose(
// in Data instance_data,
// in InstanceHandle_t instance_handle);
// ReturnCode_t dispose_w_timestamp(
// in Data instance_data,
// in InstanceHandle_t instance_handle,
// in Time_t source_timestamp);
// ReturnCode_t get_key_value(
// inout Data key_holder,
// in InstanceHandle_t handle);
// InstanceHandle_t lookup_instance(
// in Data instance_data);
ReturnCode_t set_qos(
in DataWriterQos qos);
ReturnCode_t get_qos(
inout DataWriterQos qos);
ReturnCode_t set_listener(
in DataWriterListener a_listener,
in StatusMask mask);
DataWriterListener get_listener();
Topic get_topic();
Publisher get_publisher();
ReturnCode_t wait_for_acknowledgments(
in Duration_t max_wait);
// Access the status
ReturnCode_t get_liveliness_lost_status(
inout LivelinessLostStatus status);
ReturnCode_t get_offered_deadline_missed_status(
inout OfferedDeadlineMissedStatus status);
ReturnCode_t get_offered_incompatible_qos_status(
inout OfferedIncompatibleQosStatus status);
ReturnCode_t get_publication_matched_status(
inout PublicationMatchedStatus status);
ReturnCode_t assert_liveliness();
ReturnCode_t get_matched_subscriptions(
inout InstanceHandleSeq subscription_handles);
ReturnCode_t get_matched_subscription_data(
inout SubscriptionBuiltinTopicData subscription_data,
in InstanceHandle_t subscription_handle);
};
// ----------------------------------------------------------------------
interface Subscriber : Entity {
DataReader create_datareader(
in TopicDescription a_topic,
in DataReaderQos qos,
in DataReaderListener a_listener,
in StatusMask mask);
ReturnCode_t delete_datareader(
in DataReader a_datareader);
ReturnCode_t delete_contained_entities();
DataReader lookup_datareader(
in string topic_name);
ReturnCode_t get_datareaders(
inout DataReaderSeq readers,
in SampleStateMask sample_states,
in ViewStateMask view_states,
in InstanceStateMask instance_states);
ReturnCode_t notify_datareaders();
ReturnCode_t set_qos(
in SubscriberQos qos);
ReturnCode_t get_qos(
inout SubscriberQos qos);
ReturnCode_t set_listener(
in SubscriberListener a_listener,
in StatusMask mask);
SubscriberListener get_listener();
ReturnCode_t begin_access();
ReturnCode_t end_access();
DomainParticipant get_participant();
ReturnCode_t set_default_datareader_qos(
in DataReaderQos qos);
ReturnCode_t get_default_datareader_qos(
inout DataReaderQos qos);
ReturnCode_t copy_from_topic_qos(
inout DataReaderQos a_datareader_qos,
in TopicQos a_topic_qos);
};
/* CODEGENII-202 interface DataReader : Entity {
// ReturnCode_t read(
// inout DataSeq data_values,
// inout SampleInfoSeq sample_infos,
// in long max_samples,
// in SampleStateMask sample_states,
// in ViewStateMask view_states,
// in InstanceStateMask instance_states);
// ReturnCode_t take(
// inout DataSeq data_values,
// inout SampleInfoSeq sample_infos,
// in long max_samples,
// in SampleStateMask sample_states,
// in ViewStateMask view_states,
// in InstanceStateMask instance_states);
// ReturnCode_t read_w_condition(
// inout DataSeq data_values,
// inout SampleInfoSeq sample_infos,
// in long max_samples,
// in ReadCondition a_condition);
// ReturnCode_t take_w_condition(
// inout DataSeq data_values,
// inout SampleInfoSeq sample_infos,
// in long max_samples,
// in ReadCondition a_condition);
// ReturnCode_t read_next_sample(
// inout Data data_values,
// inout SampleInfo sample_info);
// ReturnCode_t take_next_sample(
// inout Data data_values,
// inout SampleInfo sample_info);
// ReturnCode_t read_instance(
// inout DataSeq data_values,
// inout SampleInfoSeq sample_infos,
// in long max_samples,
// in InstanceHandle_t a_handle,
// in SampleStateMask sample_states,
// in ViewStateMask view_states,
// in InstanceStateMask instance_states);
// ReturnCode_t take_instance(
// inout DataSeq data_values,
// inout SampleInfoSeq sample_infos,
// in long max_samples,
// in InstanceHandle_t a_handle,
// in SampleStateMask sample_states,
// in ViewStateMask view_states,
// in InstanceStateMask instance_states);
// ReturnCode_t read_next_instance(
// inout DataSeq data_values,
// inout SampleInfoSeq sample_infos,
// in long max_samples,
// in InstanceHandle_t previous_handle,
// in SampleStateMask sample_states,
// in ViewStateMask view_states,
// in InstanceStateMask instance_states);
// ReturnCode_t take_next_instance(
// inout DataSeq data_values,
// inout SampleInfoSeq sample_infos,
// in long max_samples,
// in InstanceHandle_t previous_handle,
// in SampleStateMask sample_states,
// in ViewStateMask view_states,
// in InstanceStateMask instance_states);
// ReturnCode_t read_next_instance_w_condition(
// inout DataSeq data_values,
// inout SampleInfoSeq sample_infos,
// in long max_samples,
// in InstanceHandle_t previous_handle,
// in ReadCondition a_condition);
// ReturnCode_t take_next_instance_w_condition(
// inout DataSeq data_values,
// inout SampleInfoSeq sample_infos,
// in long max_samples,
// in InstanceHandle_t previous_handle,
// in ReadCondition a_condition);
// ReturnCode_t return_loan(
// inout DataSeq data_values,
// inout SampleInfoSeq sample_infos);
// ReturnCode_t get_key_value(
// inout Data key_holder,
// in InstanceHandle_t handle);
// InstanceHandle_t lookup_instance(
// in Data instance_data);
ReadCondition create_readcondition(
in SampleStateMask sample_states,
in ViewStateMask view_states,
in InstanceStateMask instance_states);
QueryCondition create_querycondition(
in SampleStateMask sample_states,
in ViewStateMask view_states,
in InstanceStateMask instance_states,
in string query_expression,
in StringSeq query_parameters);
ReturnCode_t delete_readcondition(
in ReadCondition a_condition);
ReturnCode_t delete_contained_entities();
ReturnCode_t set_qos(
in DataReaderQos qos);
ReturnCode_t get_qos(
inout DataReaderQos qos);
ReturnCode_t set_listener(
in DataReaderListener a_listener,
in StatusMask mask);
DataReaderListener get_listener();
TopicDescription get_topicdescription();
Subscriber get_subscriber();
ReturnCode_t get_sample_rejected_status(
inout SampleRejectedStatus status);
ReturnCode_t get_liveliness_changed_status(
inout LivelinessChangedStatus status);
ReturnCode_t get_requested_deadline_missed_status(
inout RequestedDeadlineMissedStatus status);
ReturnCode_t get_requested_incompatible_qos_status(
inout RequestedIncompatibleQosStatus status);
ReturnCode_t get_subscription_matched_status(
inout SubscriptionMatchedStatus status);
ReturnCode_t get_sample_lost_status(
inout SampleLostStatus status);
ReturnCode_t wait_for_historical_data(
in Duration_t max_wait);
ReturnCode_t get_matched_publications(
inout InstanceHandleSeq publication_handles);
ReturnCode_t get_matched_publication_data(
inout PublicationBuiltinTopicData publication_data,
in InstanceHandle_t publication_handle);
};*/
};