OpenDDS::FaceTSS::config::QosSettings Class Reference

#include <QosSettings.h>

Collaboration diagram for OpenDDS::FaceTSS::config::QosSettings:

Collaboration graph
[legend]
List of all members.

Public Types

 publisher
 subscriber
 datawriter
 datareader
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 11 of file QosSettings.h.


Member Enumeration Documentation

enum OpenDDS::FaceTSS::config::QosSettings::QosLevel

Enumerator:
publisher 
subscriber 
datawriter 
datareader 

Definition at line 15 of file QosSettings.h.

00015                   {
00016       publisher,
00017       subscriber,
00018       datawriter,
00019       datareader
00020     };


Constructor & Destructor Documentation

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

Definition at line 8 of file QosSettings.cpp.

00008                          :
00009   publisher_qos_(TheServiceParticipant->initial_PublisherQos())
00010 , subscriber_qos_(TheServiceParticipant->initial_SubscriberQos())
00011 , datawriter_qos_(TheServiceParticipant->initial_DataWriterQos())
00012 , datareader_qos_(TheServiceParticipant->initial_DataReaderQos())
00013 {
00014 
00015 }


Member Function Documentation

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

Definition at line 36 of file QosSettings.cpp.

References datareader_qos_.

00037 {
00038   target = datareader_qos_;
00039 }

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

Definition at line 30 of file QosSettings.cpp.

References datawriter_qos_.

00031 {
00032   target = datawriter_qos_;
00033 }

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

Definition at line 24 of file QosSettings.cpp.

References subscriber_qos_.

00025 {
00026   target = subscriber_qos_;
00027 }

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

Definition at line 18 of file QosSettings.cpp.

References publisher_qos_.

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

00019 {
00020   target = publisher_qos_;
00021 }

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

Definition at line 32 of file QosSettings.h.

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

00032 { return datareader_qos_; }

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

Definition at line 31 of file QosSettings.h.

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

00031 { return datawriter_qos_; }

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

Definition at line 29 of file QosSettings.h.

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

00029 { return publisher_qos_; }

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

Definition at line 492 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(), 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.

00494 {
00495   bool matched =
00496     set_durability_kind_qos(target.durability, name, value) ||
00497     // durability service not settable
00498     set_deadline_period_qos(target.deadline, name, value) ||
00499     set_latency_budget_duration_qos(target.latency_budget, name, value) ||
00500     set_liveliness_kind_qos(target.liveliness, name, value) ||
00501     set_liveliness_lease_duration_qos(target.liveliness, name, value) ||
00502     set_reliability_kind_qos(target.reliability, name, value) ||
00503     set_reliability_max_blocking_time_qos(target.reliability, name, value) ||
00504     set_destination_order_kind_qos(target.destination_order, name, value) ||
00505     set_history_kind_qos(target.history, name, value) ||
00506     set_history_depth_qos(target.history, name, value) ||
00507     set_resource_limits_max_samples_qos(target.resource_limits, name, value) ||
00508     set_resource_limits_max_instances_qos(
00509         target.resource_limits, name, value) ||
00510     set_resource_limits_max_samples_per_instance_qos(
00511         target.resource_limits, name, value) ||
00512     set_ownership_kind_qos(target.ownership, name, value) ||
00513     set_time_based_filter_minimum_separation(
00514         target.time_based_filter, name, value) ||
00515     set_reader_data_lifecycle_autopurge_nowriter_samples_delay(
00516         target.reader_data_lifecycle, name, value) ||
00517     set_reader_data_lifecycle_autopurge_disposed_samples_delay(
00518         target.reader_data_lifecycle, name, value);
00519 
00520   if (!matched) {
00521     log_parser_error("data reader", name, value);
00522   }
00523   return matched ? 0 : 1;
00524 }

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

Definition at line 461 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.

00463 {
00464   bool matched =
00465     set_durability_kind_qos(target.durability, name, value) ||
00466     // durability service not settable - not supporting those durabilities
00467     set_deadline_period_qos(target.deadline, name, value) ||
00468     set_latency_budget_duration_qos(target.latency_budget, name, value) ||
00469     set_liveliness_kind_qos(target.liveliness, name, value) ||
00470     set_liveliness_lease_duration_qos(target.liveliness, name, value) ||
00471     set_reliability_kind_qos(target.reliability, name, value) ||
00472     set_reliability_max_blocking_time_qos(target.reliability, name, value) ||
00473     set_destination_order_kind_qos(target.destination_order, name, value) ||
00474     set_history_kind_qos(target.history, name, value) ||
00475     set_history_depth_qos(target.history, name, value) ||
00476     set_resource_limits_max_samples_qos(target.resource_limits, name, value) ||
00477     set_resource_limits_max_instances_qos(target.resource_limits, name, value) ||
00478     set_resource_limits_max_samples_per_instance_qos(target.resource_limits, name, value) ||
00479     set_transport_priority_qos(target.transport_priority, name, value) ||
00480     set_lifespan_duration_qos(target.lifespan, name, value) ||
00481     // user_data not settable - can't be retrieved
00482     set_ownership_kind_qos(target.ownership, name, value) ||
00483     set_ownership_strength_value_qos(target.ownership_strength, name, value);
00484     // writer_data_lifecycle not settable - no interface to dispose
00485 
00486   if (!matched) {
00487     log_parser_error("data writer", name, value);
00488   }
00489   return matched ? 0 : 1;
00490 }

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

Definition at line 445 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().

00447 {
00448   bool matched =
00449     set_presentation_access_scope_qos(target.presentation, name, value) ||
00450     set_presentation_coherent_access_qos(target.presentation, name, value) ||
00451     set_presentation_ordered_access_qos(target.presentation, name, value) ||
00452     set_partition_name_qos(target.partition, name, value);
00453     // group data not settable
00454     // entity factory not settable
00455   if (!matched) {
00456     log_parser_error("subscriber", name, value);
00457   }
00458   return matched ? 0 : 1;
00459 }

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

Definition at line 428 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().

00430 {
00431   bool matched =
00432     set_presentation_access_scope_qos(target.presentation, name, value) ||
00433     set_presentation_coherent_access_qos(target.presentation, name, value) ||
00434     set_presentation_ordered_access_qos(target.presentation, name, value) ||
00435     set_partition_name_qos(target.partition, name, value);
00436     // group data not settable
00437     // entity factory not settable
00438 
00439   if (!matched) {
00440     log_parser_error("publisher", name, value);
00441   }
00442   return matched ? 0 : 1;
00443 }

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

Definition at line 42 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().

00043 {
00044   int status = 0;
00045   switch (level) {
00046     case publisher:
00047       status = set_qos(publisher_qos_, name, value);
00048       break;
00049     case subscriber:
00050       status = set_qos(subscriber_qos_, name, value);
00051       break;
00052     case datawriter:
00053       status = set_qos(datawriter_qos_, name, value);
00054       break;
00055     case datareader:
00056       status = set_qos(datareader_qos_, name, value);
00057       break;
00058   }
00059   return status;
00060 }

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

Definition at line 30 of file QosSettings.h.

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

00030 { return subscriber_qos_; }


Member Data Documentation

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

Definition at line 40 of file QosSettings.h.

Referenced by apply_to(), and set_qos().

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

Definition at line 39 of file QosSettings.h.

Referenced by apply_to(), and set_qos().

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

Definition at line 37 of file QosSettings.h.

Referenced by apply_to(), and set_qos().

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

Definition at line 38 of file QosSettings.h.

Referenced by apply_to(), and set_qos().


The documentation for this class was generated from the following files:
Generated on Fri Feb 12 20:06:46 2016 for OpenDDS by  doxygen 1.4.7