26 #ifndef OPENDDS_SAFETY_PROFILE 27 using DCPS::operator!=;
32 void extract_type_info_param(
const Parameter& param, XTypes::TypeInformation& type_info)
35 type_info.minimal.typeid_with_size.type_id = XTypes::TypeIdentifier();
36 type_info.complete.typeid_with_size.type_id = XTypes::TypeIdentifier();
40 void add_type_info_param(
ParameterList& param_list,
const XTypes::TypeInformation& type_info)
46 encoding.skip_sequence_dheader(
true);
53 param.type_information(seq);
64 param.locator(locator_seq[i]);
71 const DCPS::TransportLocator& dcps_locator,
80 DCPS::Locator_t& rtps_locator = locators[i];
84 param.locator(rtps_locator);
95 ACE_TEXT(
"Unable to convert dcps_rtps ")
96 ACE_TEXT(
"TransportLocator blob to LocatorSeq\n")));
101 const DCPS::TransportLocator& dcps_locator)
104 param.opendds_locator(dcps_locator);
112 if (rtps_udp_locators.length()) {
113 DCPS::TransportLocator& tl = list[
DCPS::grow(list) - 1];
114 tl.transport_type =
"rtps_udp";
122 locator_address_only,
130 return qos != def_qos;
137 return qos != def_qos;
144 return qos != def_qos;
151 return qos != def_qos;
158 return qos != def_qos;
165 return qos != def_qos;
172 return qos != def_qos;
179 return qos != def_qos;
186 return qos != def_qos;
193 return qos != def_qos;
198 #ifdef OPENDDS_NO_OWNERSHIP_KIND_EXCLUSIVE 204 return qos != def_qos;
212 return qos != def_qos;
219 return qos != def_qos;
226 return qos != def_qos;
233 return qos != def_qos;
238 for (
unsigned int i = 0; i < qos.
value.length(); ++i) {
239 if (qos.
value[i].propagate) {
251 return qos != def_qos;
275 #ifdef OPENDDS_SECURITY 278 enum FieldMaskNames {
279 ID_TOKEN_FIELD = 0x01,
280 PERM_TOKEN_FIELD = 0x02,
281 PROPERTY_LIST_FIELD = 0x04,
282 PARTICIPANT_SECURITY_INFO_FIELD = 0x08,
283 IDENTITY_STATUS_TOKEN_FIELD = 0x10,
284 EXTENDED_BUILTIN_ENDPOINTS = 0x20
287 unsigned char field_mask = 0x00;
292 switch (param._d()) {
294 field_mask |= ID_TOKEN_FIELD;
297 field_mask |= PERM_TOKEN_FIELD;
300 field_mask |= PROPERTY_LIST_FIELD;
303 field_mask |= PARTICIPANT_SECURITY_INFO_FIELD;
306 field_mask |= IDENTITY_STATUS_TOKEN_FIELD;
309 field_mask |= EXTENDED_BUILTIN_ENDPOINTS;
314 if ((field_mask & (ID_TOKEN_FIELD | PERM_TOKEN_FIELD)) == (ID_TOKEN_FIELD | PERM_TOKEN_FIELD)) {
315 if ((field_mask & IDENTITY_STATUS_TOKEN_FIELD) == IDENTITY_STATUS_TOKEN_FIELD) {
328 namespace ParameterListConverter {
335 if (not_default(pbtd.user_data)) {
347 pbtd.user_data.value.length(0);
352 switch (param._d()) {
366 #ifdef OPENDDS_SECURITY 409 switch (param._d()) {
456 switch (param._d()) {
516 #ifdef OPENDDS_SECURITY 524 push_back_locator_seq(
529 push_back_locator_seq(
534 push_back_locator_seq(
539 push_back_locator_seq(
574 #ifdef OPENDDS_SECURITY 584 switch (param._d()) {
618 #ifdef OPENDDS_SECURITY 677 if ((duration.
seconds != 100) ||
697 switch (param._d()) {
737 #ifdef OPENDDS_SECURITY 760 participant_data.
dataKind = find_data_kind(param_list);
761 switch (participant_data.
dataKind) {
824 add_type_info_param(param_list, type_info);
947 push_back_rtps_locator(param_list, tl, map);
951 push_back_dcps_locator(param_list, tl);
955 "Multicast transport with RTPS discovery has known issues\n"));
992 #ifdef OPENDDS_NO_OWNERSHIP_KIND_EXCLUSIVE 1014 switch (param._d()) {
1105 rtps_udp_locators.length(0);
1115 extract_type_info_param(param, type_info);
1127 rtps_udp_locators.length(0);
1148 add_type_info_param(param_list, type_info);
1278 for (i = 0; i < locator_len; ++i) {
1284 push_back_rtps_locator(param_list, tl, map);
1288 push_back_dcps_locator(param_list, tl);
1292 "Multicast transport with RTPS discovery has known issues\n"));
1298 for (i = 0; i < num_associations; ++i) {
1358 switch (param._d()) {
1390 if (rtpsKind ==
RTPS::RELIABLE || rtpsKind == OLD_RELIABLE_VALUE) {
1447 rtps_udp_locators.length(0);
1460 extract_type_info_param(param, type_info);
1472 rtps_udp_locators.length(0);
1476 #ifdef OPENDDS_SECURITY 1492 const unsigned int len = param_list.length();
1493 for (
unsigned int i = 0; i < len; ++i) {
1521 tags.
tags.length(0);
1523 const unsigned int len = param_list.length();
1524 for (
unsigned int i = 0; i < len; ++i) {
1546 bool result =
to_param_list(wrapper.
data, param_list, use_xtypes, type_info, map);
1572 bool result =
to_param_list(wrapper.
data, param_list, use_xtypes, type_info, map);
1595 for (ICE::AgentInfoMap::const_iterator map_pos = ai_map.begin(), limit = ai_map.end(); map_pos != limit; ++map_pos) {
1598 ice_general.
key = map_pos->first.c_str();
1607 for (ICE::AgentInfo::CandidatesType::const_iterator pos = agent_info.
candidates.begin(),
1608 limit = agent_info.
candidates.end(); pos != limit; ++pos) {
1610 ice_candidate.
key = map_pos->first.c_str();
1612 ice_candidate.
foundation = pos->foundation.c_str();
1613 ice_candidate.
priority = pos->priority;
1614 ice_candidate.
type = pos->type;
1626 ICE::AgentInfoMap& ai_map)
1628 for (
CORBA::ULong idx = 0, count = param_list.length(); idx != count; ++idx) {
1629 const Parameter& parameter = param_list[idx];
1630 switch (parameter._d()) {
1649 const bool map_ipv4_to_ipv6 =
true;
1651 const bool map_ipv4_to_ipv6 =
false;
DDS::PropertyQosPolicy property
DCPS::DiscoveredReaderData data
bool from_param_list(const ParameterList ¶m_list, DDS::ParticipantBuiltinTopicData &pbtd)
DDS::DataRepresentationQosPolicy representation
DDS::Security::DataTags data_tags
const ParameterId_t PID_XTYPES_TYPE_INFORMATION
ProtocolVersion_t version
const ParameterId_t PID_DEADLINE
const ParameterId_t PID_PROPERTY_LIST
DCPS::LocatorSeq defaultMulticastLocatorList
String256 relatedTopicName
const ParameterId_t PID_TOPIC_DATA
const Encoding & get_typeobject_encoding()
IdentityToken identity_token
const ParameterId_t PID_BUILTIN_ENDPOINT_QOS
const long DURATION_INFINITE_SEC
boolean expects_inline_qos
DDS::Security::IdentityStatusToken identity_status_token
const ParameterId_t PID_PARTICIPANT_GUID
const ParameterId_t PID_OPENDDS_RTPS_RELAY_APPLICATION_PARTICIPANT
DDS::Security::PermissionsToken permissions_token
String256 contentFilteredTopicName
const ParameterId_t PID_VENDORID
void * memcpy(void *t, const void *s, size_t len)
int locator_to_address(ACE_INET_Addr &dest, const DCPS::Locator_t &locator, bool map)
const ParameterId_t PID_EXTENDED_BUILTIN_ENDPOINTS
GUIDSeq associatedWriters
const ParameterId_t PID_PARTITION
const ParameterId_t PID_OWNERSHIP_STRENGTH
const ParameterId_t PID_OPENDDS_ICE_GENERAL
DCPS::TransportLocator opendds_locator
const ParameterId_t PID_DATA_REPRESENTATION
DDS::GroupDataQosPolicy group_data
BuiltinEndpointQos_t builtinEndpointQos
const ParameterId_t PID_TIME_BASED_FILTER
sequence< Locator_t > LocatorSeq
const ParameterId_t PID_DEFAULT_MULTICAST_LOCATOR
PluginParticipantSecurityAttributesMask plugin_participant_security_attributes
const ParameterId_t PID_SENTINEL
key GuidPrefix_t guidPrefix
sequence< TransportLocator > TransportLocatorSeq
DDS::Security::EndpointSecurityInfo endpoint_security_info
IdentityStatusToken identity_status_token
const DataRepresentationId_t XCDR_DATA_REPRESENTATION
const ParameterId_t PIDMASK_INCOMPATIBLE
PluginEndpointSecurityAttributesMask plugin_endpoint_security_attributes
DDS::DeadlineQosPolicy deadline
sequence< DataRepresentationId_t > DataRepresentationIdSeq
boolean opendds_rtps_relay_application_participant
OpenDDSParticipantFlagsBits_t bits
DDS::TimeBasedFilterQosPolicy time_based_filter
IceCandidate_t ice_candidate
void add_DataRepresentationQos(ParameterList ¶m_list, const DDS::DataRepresentationIdSeq &ids)
DDS::PublicationBuiltinTopicData ddsPublicationData
void set_reader_effective_data_rep_qos(DDS::DataRepresentationIdSeq &qos)
const ParameterId_t PID_USER_DATA
DDS::LivelinessQosPolicy liveliness
DDS::SubscriptionBuiltinTopicData ddsSubscriptionData
DDS::DurabilityServiceQosPolicy durability_service
const ParameterId_t PID_PROTOCOL_VERSION
OpenDDS::RTPS::ParticipantProxy_t participantProxy
DCPS::ContentFilterProperty_t content_filter_property
const ParameterId_t PID_OPENDDS_ICE_CANDIDATE
EndpointSecurityAttributesMask endpoint_security_attributes
DCPS::LocatorSeq metatrafficMulticastLocatorList
OpenDDS_Dcps_Export void address_to_locator(Locator_t &locator, const ACE_INET_Addr &addr)
BuiltinEndpointSet_t builtin_endpoints
String256 filterClassName
ProtocolVersion_t protocolVersion
DDS::PartitionQosPolicy partition
DDS::Security::ParticipantBuiltinTopicDataSecure ddsParticipantDataSecure
OpenDDSParticipantFlags_t participant_flags
ReaderProxy_t readerProxy
unsigned short ParameterId_t
const ParameterId_t PID_DATA_TAGS
const ParameterId_t PID_LIFESPAN
DDS::DestinationOrderQosPolicy destination_order
const ParameterId_t PID_METATRAFFIC_MULTICAST_LOCATOR
ParticipantSecurityAttributesMask participant_security_attributes
const ParameterId_t PID_METATRAFFIC_UNICAST_LOCATOR
const ParameterId_t PID_MULTICAST_LOCATOR
DDS::PresentationQosPolicy presentation
const ParameterId_t PID_ENDPOINT_GUID
const ParameterId_t PID_PERMISSIONS_TOKEN
DDS::StringSeq expressionParameters
const ParameterId_t PID_IDENTITY_TOKEN
ExtendedBuiltinEndpointSet_t extended_builtin_endpoints
const ParameterId_t PID_EXPECTS_INLINE_QOS
DDS::Security::ExtendedBuiltinEndpointSet_t extended_builtin_endpoints
const ParameterId_t PID_GROUP_DATA
IceAgentType_t agent_type
boolean opendds_rtps_relay_application_participant
#define OpenDDS_Rtps_Export
const ParameterId_t PID_CONTENT_FILTER_PROPERTY
DDS::Duration_t max_blocking_time
DDS::ParticipantBuiltinTopicData ddsParticipantData
void serialize_type_info(const TypeInformation &type_info, T &seq, const DCPS::Encoding *encoding_option=0)
const ParameterId_t PID_XTYPES_TYPE_CONSISTENCY
const ParameterId_t PID_LIVELINESS
const ParameterId_t PID_OPENDDS_PARTICIPANT_FLAGS
const ParameterId_t PID_OPENDDS_ASSOCIATED_WRITER
const ParameterId_t PID_BUILTIN_ENDPOINT_SET
CandidatesType candidates
DDS::Security::EndpointSecurityInfo security_info
DDS::OwnershipStrengthQosPolicy ownership_strength
DDS::Security::ExtendedBuiltinEndpointSet_t availableExtendedBuiltinEndpoints
ParticipantSecurityInfo security_info
DDS::Security::DataTags data_tags
TransportLocatorSeq allLocators
bool deserialize_type_info(TypeInformation &type_info, const T &seq)
OpenDDS::RTPS::Duration_t leaseDuration
DCPS::LocatorSeq metatrafficUnicastLocatorList
const OpenDDSParticipantFlagsBits_t PFLAGS_EMPTY
Seq::size_type grow(Seq &seq)
DDS::Security::DataTags data_tags
DDS::LatencyBudgetQosPolicy latency_budget
const ParameterId_t PID_PARTICIPANT_BUILTIN_ENDPOINTS
const ParameterId_t PID_RELIABILITY
ParticipantProxy_t participantProxy
const ParameterId_t PID_PAD
const ParameterId_t PID_DURABILITY
sequence< octet > OctetSeq
const ParameterId_t PID_OPENDDS_LOCATOR
const ParameterId_t PID_LATENCY_BUDGET
DDS::ParticipantBuiltinTopicData base
BuiltinEndpointQos_t builtinEndpointQos
const ParameterId_t PID_PRESENTATION
TransportLocatorSeq allLocators
ReliabilityQosPolicyRtps reliability
const ParameterId_t PID_TOPIC_NAME
const ParameterId_t PID_IDENTITY_STATUS_TOKEN
sequence< Parameter > ParameterList
WriterProxy_t writerProxy
const unsigned long DURATION_INFINITE_NSEC
OpenDDS_Dcps_Export GUID_t make_part_guid(const GuidPrefix_t &prefix)
DCPS::LocatorSeq defaultUnicastLocatorList
const ParameterId_t PID_DURABILITY_SERVICE
const unsigned long TIME_INVALID_NSEC
BuiltinEndpointSet_t availableBuiltinEndpoints
const ParameterId_t PID_UNICAST_LOCATOR
DCPS::DiscoveredWriterData data
void push_back(Seq &seq, const typename Seq::value_type &val)
std::vector-style push_back() for CORBA Sequences
DDS::Security::ParticipantSecurityInfo participant_security_info
DiscoveredParticipantDataKind dataKind
OpenDDS_Dcps_Export LogLevel log_level
DCPS::GuidPrefix_t guidPrefix
PropertyQosPolicy property
const ParameterId_t PID_OWNERSHIP
OpenDDSParticipantFlags_t opendds_participant_flags
const ParameterId_t PID_ENDPOINT_SECURITY_INFO
const ParameterId_t PID_DESTINATION_ORDER
unsigned long participant_builtin_endpoints
bool is_multicast(void) const
DDS::Security::EndpointSecurityInfo security_info
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
ContentFilterProperty_t contentFilterProperty
bool to_param_list(const DDS::ParticipantBuiltinTopicData &pbtd, ParameterList ¶m_list)
DDS::DurabilityQosPolicy durability
string transport_type
The transport type (e.g. tcp or udp)
const ReturnCode_t RETCODE_OK
PermissionsToken permissions_token
DDS::TypeConsistencyEnforcementQosPolicy type_consistency
DDS::TopicDataQosPolicy topic_data
DDS::UserDataQosPolicy user_data
DDS::ReturnCode_t blob_to_locators(const DCPS::TransportBLOB &blob, DCPS::LocatorSeq &locators, bool *requires_inline_qos, unsigned int *pBytesRead)
DataRepresentationIdSeq value
DDS::LifespanQosPolicy lifespan
DDS::PropertyQosPolicy property
DiscoveredParticipantDataKind
const DCPS::Encoding encoding(DCPS::Encoding::KIND_UNALIGNED_CDR, DCPS::ENDIAN_BIG)
const ParameterId_t PID_TYPE_NAME
#define TheServiceParticipant
The Internal API and Implementation of OpenDDS.
const ParameterId_t PID_PARTICIPANT_LEASE_DURATION
void locators_to_blob(const DCPS::LocatorSeq &locators, DCPS::TransportBLOB &blob)
const ParameterId_t PID_DOMAIN_ID
DDS::Security::IdentityToken identity_token
const ParameterId_t PID_PARTICIPANT_SECURITY_INFO
ParticipantBuiltinTopicData base
DDS::OctetArray16 address
const ParameterId_t PID_DEFAULT_UNICAST_LOCATOR
Count_t manualLivelinessCount
DDS::OwnershipQosPolicy ownership
const ParameterId_t PID_PARTICIPANT_MANUAL_LIVELINESS_COUNT
OpenDDS::DCPS::String256 string_data