OpenDDS  Snapshot(2023/04/28-20:55)
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
OpenDDS::FaceTSS::config::QosSettings Class Reference

#include <QosSettings.h>

Collaboration diagram for OpenDDS::FaceTSS::config::QosSettings:
Collaboration graph
[legend]

Public Types

enum  QosLevel { publisher, subscriber, datawriter, datareader }
 

Public Member Functions

 QosSettings ()
 
int set_qos (QosLevel level, const char *name, const char *value)
 
void apply_to (DDS::PublisherQos &target) const
 
void apply_to (DDS::SubscriberQos &target) const
 
void apply_to (DDS::DataWriterQos &target) const
 
void apply_to (DDS::DataReaderQos &target) const
 
DDS::PublisherQospublisher_qos ()
 
DDS::SubscriberQossubscriber_qos ()
 
DDS::DataWriterQosdatawriter_qos ()
 
DDS::DataReaderQosdatareader_qos ()
 

Private Member Functions

int set_qos (DDS::PublisherQos &target, const char *name, const char *value)
 
int set_qos (DDS::SubscriberQos &target, const char *name, const char *value)
 
int set_qos (DDS::DataWriterQos &target, const char *name, const char *value)
 
int set_qos (DDS::DataReaderQos &target, const char *name, const char *value)
 

Private Attributes

DDS::PublisherQos publisher_qos_
 
DDS::SubscriberQos subscriber_qos_
 
DDS::DataWriterQos datawriter_qos_
 
DDS::DataReaderQos datareader_qos_
 

Detailed Description

Definition at line 13 of file QosSettings.h.

Member Enumeration Documentation

◆ QosLevel

Constructor & Destructor Documentation

◆ QosSettings()

OpenDDS::FaceTSS::config::QosSettings::QosSettings ( )

Definition at line 10 of file QosSettings.cpp.

10  :
11  publisher_qos_(TheServiceParticipant->initial_PublisherQos())
12 , subscriber_qos_(TheServiceParticipant->initial_SubscriberQos())
13 , datawriter_qos_(TheServiceParticipant->initial_DataWriterQos())
14 , datareader_qos_(TheServiceParticipant->initial_DataReaderQos())
15 {
16 
17 }
#define TheServiceParticipant

Member Function Documentation

◆ apply_to() [1/4]

void OpenDDS::FaceTSS::config::QosSettings::apply_to ( DDS::PublisherQos target) const

Definition at line 20 of file QosSettings.cpp.

References publisher_qos_.

Referenced by FACE::TS::Receive_Message().

21 {
22  target = publisher_qos_;
23 }

◆ apply_to() [2/4]

void OpenDDS::FaceTSS::config::QosSettings::apply_to ( DDS::SubscriberQos target) const

Definition at line 26 of file QosSettings.cpp.

References subscriber_qos_.

27 {
28  target = subscriber_qos_;
29 }

◆ apply_to() [3/4]

void OpenDDS::FaceTSS::config::QosSettings::apply_to ( DDS::DataWriterQos target) const

Definition at line 32 of file QosSettings.cpp.

References datawriter_qos_.

33 {
34  target = datawriter_qos_;
35 }

◆ apply_to() [4/4]

void OpenDDS::FaceTSS::config::QosSettings::apply_to ( DDS::DataReaderQos target) const

Definition at line 38 of file QosSettings.cpp.

References datareader_qos_.

39 {
40  target = datareader_qos_;
41 }

◆ datareader_qos()

DDS::DataReaderQos& OpenDDS::FaceTSS::config::QosSettings::datareader_qos ( )
inline

Definition at line 34 of file QosSettings.h.

Referenced by OpenDDS::FaceTSS::config::Parser::find_qos().

34 { return datareader_qos_; }

◆ datawriter_qos()

DDS::DataWriterQos& OpenDDS::FaceTSS::config::QosSettings::datawriter_qos ( )
inline

Definition at line 33 of file QosSettings.h.

Referenced by FACE::TS::Create_Connection(), and OpenDDS::FaceTSS::config::Parser::find_qos().

33 { return datawriter_qos_; }

◆ publisher_qos()

DDS::PublisherQos& OpenDDS::FaceTSS::config::QosSettings::publisher_qos ( )
inline

Definition at line 31 of file QosSettings.h.

Referenced by OpenDDS::FaceTSS::config::Parser::find_qos().

31 { return publisher_qos_; }

◆ set_qos() [1/5]

int OpenDDS::FaceTSS::config::QosSettings::set_qos ( QosLevel  level,
const char *  name,
const char *  value 
)

Definition at line 44 of file QosSettings.cpp.

References datareader, datareader_qos_, datawriter, datawriter_qos_, publisher, publisher_qos_, subscriber, and subscriber_qos_.

Referenced by OpenDDS::FaceTSS::config::Parser::parse_qos().

45 {
46  int status = 0;
47  switch (level) {
48  case publisher:
49  status = set_qos(publisher_qos_, name, value);
50  break;
51  case subscriber:
52  status = set_qos(subscriber_qos_, name, value);
53  break;
54  case datawriter:
55  status = set_qos(datawriter_qos_, name, value);
56  break;
57  case datareader:
58  status = set_qos(datareader_qos_, name, value);
59  break;
60  }
61  return status;
62 }
const LogLevel::Value value
Definition: debug.cpp:61
int set_qos(QosLevel level, const char *name, const char *value)
Definition: QosSettings.cpp:44
const char *const name
Definition: debug.cpp:60

◆ set_qos() [2/5]

int OpenDDS::FaceTSS::config::QosSettings::set_qos ( DDS::PublisherQos target,
const char *  name,
const char *  value 
)
private

Definition at line 426 of file QosSettings.cpp.

References OpenDDS::FaceTSS::config::log_parser_error(), DDS::PublisherQos::partition, DDS::PublisherQos::presentation, OpenDDS::FaceTSS::config::set_partition_name_qos(), OpenDDS::FaceTSS::config::set_presentation_access_scope_qos(), OpenDDS::FaceTSS::config::set_presentation_coherent_access_qos(), and OpenDDS::FaceTSS::config::set_presentation_ordered_access_qos().

428 {
429  bool matched =
434  // group data not settable
435  // entity factory not settable
436 
437  if (!matched) {
438  log_parser_error("publisher", name, value);
439  }
440  return matched ? 0 : 1;
441 }
bool set_presentation_ordered_access_qos(DDS::PresentationQosPolicy &target, const char *name, const char *value)
const LogLevel::Value value
Definition: debug.cpp:61
bool set_presentation_access_scope_qos(DDS::PresentationQosPolicy &target, const char *name, const char *value)
Definition: QosSettings.cpp:65
PresentationQosPolicy presentation
bool set_partition_name_qos(DDS::PartitionQosPolicy &target, const char *name, const char *value)
const char *const name
Definition: debug.cpp:60
bool set_presentation_coherent_access_qos(DDS::PresentationQosPolicy &target, const char *name, const char *value)
void log_parser_error(const char *section, const char *name, const char *value)
PartitionQosPolicy partition

◆ set_qos() [3/5]

int OpenDDS::FaceTSS::config::QosSettings::set_qos ( DDS::SubscriberQos target,
const char *  name,
const char *  value 
)
private

Definition at line 443 of file QosSettings.cpp.

References OpenDDS::FaceTSS::config::log_parser_error(), DDS::SubscriberQos::partition, DDS::SubscriberQos::presentation, OpenDDS::FaceTSS::config::set_partition_name_qos(), OpenDDS::FaceTSS::config::set_presentation_access_scope_qos(), OpenDDS::FaceTSS::config::set_presentation_coherent_access_qos(), and OpenDDS::FaceTSS::config::set_presentation_ordered_access_qos().

445 {
446  bool matched =
451  // group data not settable
452  // entity factory not settable
453  if (!matched) {
454  log_parser_error("subscriber", name, value);
455  }
456  return matched ? 0 : 1;
457 }
PartitionQosPolicy partition
bool set_presentation_ordered_access_qos(DDS::PresentationQosPolicy &target, const char *name, const char *value)
const LogLevel::Value value
Definition: debug.cpp:61
bool set_presentation_access_scope_qos(DDS::PresentationQosPolicy &target, const char *name, const char *value)
Definition: QosSettings.cpp:65
bool set_partition_name_qos(DDS::PartitionQosPolicy &target, const char *name, const char *value)
const char *const name
Definition: debug.cpp:60
bool set_presentation_coherent_access_qos(DDS::PresentationQosPolicy &target, const char *name, const char *value)
void log_parser_error(const char *section, const char *name, const char *value)
PresentationQosPolicy presentation

◆ set_qos() [4/5]

int OpenDDS::FaceTSS::config::QosSettings::set_qos ( DDS::DataWriterQos target,
const char *  name,
const char *  value 
)
private

Definition at line 459 of file QosSettings.cpp.

References DDS::DataWriterQos::deadline, DDS::DataWriterQos::destination_order, DDS::DataWriterQos::durability, DDS::DataWriterQos::history, DDS::DataWriterQos::latency_budget, DDS::DataWriterQos::lifespan, DDS::DataWriterQos::liveliness, OpenDDS::FaceTSS::config::log_parser_error(), DDS::DataWriterQos::ownership, DDS::DataWriterQos::ownership_strength, DDS::DataWriterQos::reliability, DDS::DataWriterQos::resource_limits, OpenDDS::FaceTSS::config::set_deadline_period_qos(), OpenDDS::FaceTSS::config::set_destination_order_kind_qos(), OpenDDS::FaceTSS::config::set_durability_kind_qos(), OpenDDS::FaceTSS::config::set_history_depth_qos(), OpenDDS::FaceTSS::config::set_history_kind_qos(), OpenDDS::FaceTSS::config::set_latency_budget_duration_qos(), OpenDDS::FaceTSS::config::set_lifespan_duration_qos(), OpenDDS::FaceTSS::config::set_liveliness_kind_qos(), OpenDDS::FaceTSS::config::set_liveliness_lease_duration_qos(), OpenDDS::FaceTSS::config::set_ownership_kind_qos(), OpenDDS::FaceTSS::config::set_ownership_strength_value_qos(), OpenDDS::FaceTSS::config::set_reliability_kind_qos(), OpenDDS::FaceTSS::config::set_reliability_max_blocking_time_qos(), OpenDDS::FaceTSS::config::set_resource_limits_max_instances_qos(), OpenDDS::FaceTSS::config::set_resource_limits_max_samples_per_instance_qos(), OpenDDS::FaceTSS::config::set_resource_limits_max_samples_qos(), OpenDDS::FaceTSS::config::set_transport_priority_qos(), and DDS::DataWriterQos::transport_priority.

461 {
462  bool matched =
464  // durability service not settable - not supporting those durabilities
479  // user_data not settable - can't be retrieved
482  // writer_data_lifecycle not settable - no interface to dispose
483 
484  if (!matched) {
485  log_parser_error("data writer", name, value);
486  }
487  return matched ? 0 : 1;
488 }
bool set_resource_limits_max_samples_qos(DDS::ResourceLimitsQosPolicy &target, const char *name, const char *value)
bool set_latency_budget_duration_qos(DDS::LatencyBudgetQosPolicy &target, const char *name, const char *value)
HistoryQosPolicy history
const LogLevel::Value value
Definition: debug.cpp:61
ReliabilityQosPolicy reliability
bool set_resource_limits_max_instances_qos(DDS::ResourceLimitsQosPolicy &target, const char *name, const char *value)
OwnershipQosPolicy ownership
DurabilityQosPolicy durability
bool set_liveliness_lease_duration_qos(DDS::LivelinessQosPolicy &target, const char *name, const char *value)
bool set_history_kind_qos(DDS::HistoryQosPolicy &target, const char *name, const char *value)
bool set_liveliness_kind_qos(DDS::LivelinessQosPolicy &target, const char *name, const char *value)
DeadlineQosPolicy deadline
bool set_lifespan_duration_qos(DDS::LifespanQosPolicy &target, const char *name, const char *value)
LatencyBudgetQosPolicy latency_budget
bool set_ownership_kind_qos(DDS::OwnershipQosPolicy &target, const char *name, const char *value)
bool set_durability_kind_qos(DDS::DurabilityQosPolicy &target, const char *name, const char *value)
OwnershipStrengthQosPolicy ownership_strength
bool set_ownership_strength_value_qos(DDS::OwnershipStrengthQosPolicy &target, const char *name, const char *value)
DestinationOrderQosPolicy destination_order
bool set_history_depth_qos(DDS::HistoryQosPolicy &target, const char *name, const char *value)
ResourceLimitsQosPolicy resource_limits
bool set_reliability_kind_qos(DDS::ReliabilityQosPolicy &target, const char *name, const char *value)
const char *const name
Definition: debug.cpp:60
bool set_resource_limits_max_samples_per_instance_qos(DDS::ResourceLimitsQosPolicy &target, const char *name, const char *value)
TransportPriorityQosPolicy transport_priority
LifespanQosPolicy lifespan
void log_parser_error(const char *section, const char *name, const char *value)
LivelinessQosPolicy liveliness
bool set_deadline_period_qos(DDS::DeadlineQosPolicy &target, const char *name, const char *value)
bool set_transport_priority_qos(DDS::TransportPriorityQosPolicy &target, const char *name, const char *value)
bool set_reliability_max_blocking_time_qos(DDS::ReliabilityQosPolicy &target, const char *name, const char *value)
bool set_destination_order_kind_qos(DDS::DestinationOrderQosPolicy &target, const char *name, const char *value)

◆ set_qos() [5/5]

int OpenDDS::FaceTSS::config::QosSettings::set_qos ( DDS::DataReaderQos target,
const char *  name,
const char *  value 
)
private

Definition at line 490 of file QosSettings.cpp.

References DDS::DataReaderQos::deadline, DDS::DataReaderQos::destination_order, DDS::DataReaderQos::durability, DDS::DataReaderQos::history, DDS::DataReaderQos::latency_budget, DDS::DataReaderQos::liveliness, OpenDDS::FaceTSS::config::log_parser_error(), OPENDDS_END_VERSIONED_NAMESPACE_DECL, DDS::DataReaderQos::ownership, DDS::DataReaderQos::reader_data_lifecycle, DDS::DataReaderQos::reliability, DDS::DataReaderQos::resource_limits, OpenDDS::FaceTSS::config::set_deadline_period_qos(), OpenDDS::FaceTSS::config::set_destination_order_kind_qos(), OpenDDS::FaceTSS::config::set_durability_kind_qos(), OpenDDS::FaceTSS::config::set_history_depth_qos(), OpenDDS::FaceTSS::config::set_history_kind_qos(), OpenDDS::FaceTSS::config::set_latency_budget_duration_qos(), OpenDDS::FaceTSS::config::set_liveliness_kind_qos(), OpenDDS::FaceTSS::config::set_liveliness_lease_duration_qos(), OpenDDS::FaceTSS::config::set_ownership_kind_qos(), OpenDDS::FaceTSS::config::set_reader_data_lifecycle_autopurge_disposed_samples_delay(), OpenDDS::FaceTSS::config::set_reader_data_lifecycle_autopurge_nowriter_samples_delay(), OpenDDS::FaceTSS::config::set_reliability_kind_qos(), OpenDDS::FaceTSS::config::set_reliability_max_blocking_time_qos(), OpenDDS::FaceTSS::config::set_resource_limits_max_instances_qos(), OpenDDS::FaceTSS::config::set_resource_limits_max_samples_per_instance_qos(), OpenDDS::FaceTSS::config::set_resource_limits_max_samples_qos(), OpenDDS::FaceTSS::config::set_time_based_filter_minimum_separation(), and DDS::DataReaderQos::time_based_filter.

492 {
493  bool matched =
495  // durability service not settable
507  target.resource_limits, name, value) ||
509  target.resource_limits, name, value) ||
512  target.time_based_filter, name, value) ||
514  target.reader_data_lifecycle, name, value) ||
516  target.reader_data_lifecycle, name, value);
517 
518  if (!matched) {
519  log_parser_error("data reader", name, value);
520  }
521  return matched ? 0 : 1;
522 }
bool set_resource_limits_max_samples_qos(DDS::ResourceLimitsQosPolicy &target, const char *name, const char *value)
bool set_latency_budget_duration_qos(DDS::LatencyBudgetQosPolicy &target, const char *name, const char *value)
const LogLevel::Value value
Definition: debug.cpp:61
bool set_reader_data_lifecycle_autopurge_disposed_samples_delay(DDS::ReaderDataLifecycleQosPolicy &target, const char *name, const char *value)
bool set_resource_limits_max_instances_qos(DDS::ResourceLimitsQosPolicy &target, const char *name, const char *value)
bool set_time_based_filter_minimum_separation(DDS::TimeBasedFilterQosPolicy &target, const char *name, const char *value)
TimeBasedFilterQosPolicy time_based_filter
bool set_liveliness_lease_duration_qos(DDS::LivelinessQosPolicy &target, const char *name, const char *value)
bool set_history_kind_qos(DDS::HistoryQosPolicy &target, const char *name, const char *value)
bool set_reader_data_lifecycle_autopurge_nowriter_samples_delay(DDS::ReaderDataLifecycleQosPolicy &target, const char *name, const char *value)
OwnershipQosPolicy ownership
bool set_liveliness_kind_qos(DDS::LivelinessQosPolicy &target, const char *name, const char *value)
LivelinessQosPolicy liveliness
DestinationOrderQosPolicy destination_order
bool set_ownership_kind_qos(DDS::OwnershipQosPolicy &target, const char *name, const char *value)
bool set_durability_kind_qos(DDS::DurabilityQosPolicy &target, const char *name, const char *value)
DurabilityQosPolicy durability
bool set_history_depth_qos(DDS::HistoryQosPolicy &target, const char *name, const char *value)
bool set_reliability_kind_qos(DDS::ReliabilityQosPolicy &target, const char *name, const char *value)
const char *const name
Definition: debug.cpp:60
ReaderDataLifecycleQosPolicy reader_data_lifecycle
bool set_resource_limits_max_samples_per_instance_qos(DDS::ResourceLimitsQosPolicy &target, const char *name, const char *value)
HistoryQosPolicy history
ReliabilityQosPolicy reliability
void log_parser_error(const char *section, const char *name, const char *value)
DeadlineQosPolicy deadline
bool set_deadline_period_qos(DDS::DeadlineQosPolicy &target, const char *name, const char *value)
bool set_reliability_max_blocking_time_qos(DDS::ReliabilityQosPolicy &target, const char *name, const char *value)
ResourceLimitsQosPolicy resource_limits
bool set_destination_order_kind_qos(DDS::DestinationOrderQosPolicy &target, const char *name, const char *value)
LatencyBudgetQosPolicy latency_budget

◆ subscriber_qos()

DDS::SubscriberQos& OpenDDS::FaceTSS::config::QosSettings::subscriber_qos ( )
inline

Definition at line 32 of file QosSettings.h.

Referenced by OpenDDS::FaceTSS::config::Parser::find_qos().

32 { return subscriber_qos_; }

Member Data Documentation

◆ datareader_qos_

DDS::DataReaderQos OpenDDS::FaceTSS::config::QosSettings::datareader_qos_
private

Definition at line 42 of file QosSettings.h.

Referenced by apply_to(), and set_qos().

◆ datawriter_qos_

DDS::DataWriterQos OpenDDS::FaceTSS::config::QosSettings::datawriter_qos_
private

Definition at line 41 of file QosSettings.h.

Referenced by apply_to(), and set_qos().

◆ publisher_qos_

DDS::PublisherQos OpenDDS::FaceTSS::config::QosSettings::publisher_qos_
private

Definition at line 39 of file QosSettings.h.

Referenced by apply_to(), and set_qos().

◆ subscriber_qos_

DDS::SubscriberQos OpenDDS::FaceTSS::config::QosSettings::subscriber_qos_
private

Definition at line 40 of file QosSettings.h.

Referenced by apply_to(), and set_qos().


The documentation for this class was generated from the following files: