Qos_Helper.h

Go to the documentation of this file.
00001 /*
00002  *
00003  *
00004  * Distributed under the OpenDDS License.
00005  * See: http://www.opendds.org/license.html
00006  */
00007 
00008 #ifndef OPENDDS_DCPS_QOS_HELPER_H
00009 #define OPENDDS_DCPS_QOS_HELPER_H
00010 
00011 #include "dds/DdsDcpsC.h"
00012 #include "ace/OS_NS_sys_time.h"
00013 
00014 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00015 #pragma once
00016 #endif /* ACE_LACKS_PRAGMA_ONCE */
00017 
00018 namespace OpenDDS {
00019 namespace DCPS {
00020 
00021 class Service_Participant;
00022 
00023 ACE_INLINE OpenDDS_Dcps_Export
00024 ACE_Time_Value time_to_time_value(const DDS::Time_t& t);
00025 
00026 ACE_INLINE OpenDDS_Dcps_Export
00027 DDS::Time_t time_value_to_time(const ACE_Time_Value& tv);
00028 
00029 ACE_INLINE OpenDDS_Dcps_Export
00030 ACE_Time_Value duration_to_time_value(const DDS::Duration_t& t);
00031 
00032 ACE_INLINE OpenDDS_Dcps_Export
00033 ACE_Time_Value duration_to_absolute_time_value(const DDS::Duration_t& t,
00034                                                const ACE_Time_Value& now = ACE_OS::gettimeofday());
00035 
00036 ACE_INLINE OpenDDS_Dcps_Export
00037 DDS::Duration_t time_value_to_duration(const ACE_Time_Value& tv);
00038 
00039 ACE_INLINE OpenDDS_Dcps_Export
00040 DDS::Duration_t time_to_duration(const DDS::Time_t& t);
00041 
00042 ACE_INLINE OpenDDS_Dcps_Export
00043 CORBA::Long get_instance_sample_list_depth(
00044   DDS::HistoryQosPolicyKind history,
00045   long                        history_depth,
00046   long                        max_samples_per_instance);
00047 
00048 /// Validate DDS::Duration_t value (infinite or positive and
00049 /// non-zero).
00050 ACE_INLINE OpenDDS_Dcps_Export
00051 bool valid_duration(DDS::Duration_t const & t);
00052 
00053 /// Check if given duration is either infinite or greater than or
00054 /// equal to zero.
00055 ACE_INLINE OpenDDS_Dcps_Export
00056 bool non_negative_duration(const DDS::Duration_t& t);
00057 
00058 /**
00059  * @class Qos_Helper
00060  *
00061  * @brief This class implements methods that verify whether a qos is
00062  *        valid, consistent and changeable.
00063  *
00064  * valid - the values are in acceptable ranges without respect
00065  *         to any other values.
00066  *
00067  * consistent - the values are consistent with each other.
00068  *         The spec sometimes calls this "compatible" but I
00069  *         this compatible should be reserved for matching
00070  *         QoS of subscriptions and publications.
00071  *         The spec is confusing in its inconsistency of the
00072  *         use of "compatible" and "consistent".
00073  *
00074  * The qos supported in current implementation:
00075  *         Liveliness  :   kind = AUTOMATIC
00076  *         Reliability :   kind = RELIABLE | BEST_EFFORT
00077  *                         max_blocking_time
00078  *         History     :   kind = KEEP_ALL | KEEP_LAST
00079  *                         depth > 1
00080  *         RESOURCE_LIMITS : max_samples_per_instance
00081  *
00082  * Other than these supported qos, any qos that is different from the
00083  * initial value is invalid.
00084  *
00085  * @note Since in the first implementation of DSS in TAO a limited
00086  *       number of QoS values are allowed to be modified, the
00087  *       consistency test on QoS settings have not been
00088  *       implemented to check future "valid" QoS values.
00089  *
00090  * @note None of the supported QoS in the first implementation are
00091  *       changeable. The changed value will be checked per the QoS
00092  *       table in the DDS specification.
00093  */
00094 class OpenDDS_Dcps_Export Qos_Helper {
00095 public:
00096 
00097   static bool consistent(
00098     const DDS::ResourceLimitsQosPolicy& resource_limits,
00099     const DDS::HistoryQosPolicy& history);
00100 
00101   static bool consistent(
00102     const DDS::DeadlineQosPolicy& deadline,
00103     const DDS::TimeBasedFilterQosPolicy& time_based_filter);
00104 
00105   static bool consistent(const DDS::DomainParticipantQos& qos);
00106 
00107   static bool consistent(const DDS::TopicQos& qos);
00108 
00109   static bool consistent(const DDS::DataWriterQos& qos);
00110 
00111   static bool consistent(const DDS::PublisherQos& qos);
00112 
00113   static bool consistent(const DDS::DataReaderQos& qos);
00114 
00115   static bool consistent(const DDS::SubscriberQos& qos);
00116 
00117   static bool consistent(const DDS::DomainParticipantFactoryQos & qos);
00118 
00119   static bool valid(const DDS::UserDataQosPolicy& qos);
00120 
00121   static bool valid(const DDS::TopicDataQosPolicy & qos);
00122 
00123   static bool valid(const DDS::GroupDataQosPolicy& qos);
00124 
00125   static bool valid(const DDS::TransportPriorityQosPolicy& qos);
00126 
00127   static bool valid(const DDS::LifespanQosPolicy& qos);
00128 
00129   static bool valid(const DDS::DurabilityQosPolicy& qos);
00130 
00131 #ifndef OPENDDS_NO_PERSISTENCE_PROFILE
00132   static bool valid(const DDS::DurabilityServiceQosPolicy& qos);
00133 #endif
00134 
00135   static bool valid(const DDS::PresentationQosPolicy& qos);
00136 
00137   static bool valid(const DDS::DeadlineQosPolicy& qos);
00138 
00139   static bool valid(const DDS::LatencyBudgetQosPolicy& qos);
00140 
00141   static bool valid(const DDS::OwnershipQosPolicy& qos);
00142 
00143 #ifndef OPENDDS_NO_OWNERSHIP_KIND_EXCLUSIVE
00144   static bool valid(const DDS::OwnershipStrengthQosPolicy& qos);
00145 #endif
00146 
00147   static bool valid(const DDS::LivelinessQosPolicy& qos);
00148 
00149   static bool valid(const DDS::TimeBasedFilterQosPolicy& qos);
00150 
00151   static bool valid(const DDS::PartitionQosPolicy& qos);
00152 
00153   static bool valid(const DDS::ReliabilityQosPolicy& qos);
00154 
00155   static bool valid(const DDS::DestinationOrderQosPolicy& qos);
00156 
00157   static bool valid(const DDS::HistoryQosPolicy& qos);
00158 
00159   static bool valid(const DDS::ResourceLimitsQosPolicy& qos);
00160 
00161   static bool valid(const DDS::EntityFactoryQosPolicy& qos);
00162 
00163   static bool valid(const DDS::WriterDataLifecycleQosPolicy& qos);
00164 
00165   static bool valid(const DDS::ReaderDataLifecycleQosPolicy& qos);
00166 
00167   static bool valid(const DDS::DomainParticipantQos& qos);
00168 
00169   static bool valid(const DDS::TopicQos& qos);
00170 
00171   static bool valid(const DDS::DataWriterQos& qos);
00172 
00173   static bool valid(const DDS::PublisherQos& qos);
00174 
00175   static bool valid(const DDS::DataReaderQos& qos);
00176 
00177   static bool valid(const DDS::SubscriberQos& qos);
00178 
00179   static bool valid(const DDS::DomainParticipantFactoryQos& qos);
00180 
00181   static bool changeable(const DDS::UserDataQosPolicy& qos1,
00182                          const DDS::UserDataQosPolicy& qos2);
00183 
00184   static bool changeable(const DDS::TopicDataQosPolicy & qos1,
00185                          const DDS::TopicDataQosPolicy & qos2);
00186 
00187   static bool changeable(const DDS::GroupDataQosPolicy& qos1,
00188                          const DDS::GroupDataQosPolicy& qos2);
00189 
00190   static bool changeable(const DDS::TransportPriorityQosPolicy& qos1,
00191                          const DDS::TransportPriorityQosPolicy& qos2);
00192 
00193   static bool changeable(const DDS::LifespanQosPolicy& qos1,
00194                          const DDS::LifespanQosPolicy& qos2);
00195 
00196   static bool changeable(const DDS::DurabilityQosPolicy& qos1,
00197                          const DDS::DurabilityQosPolicy& qos2);
00198 
00199 #ifndef OPENDDS_NO_PERSISTENCE_PROFILE
00200   static bool changeable(const DDS::DurabilityServiceQosPolicy& qos1,
00201                          const DDS::DurabilityServiceQosPolicy& qos2);
00202 #endif
00203 
00204   static bool changeable(const DDS::PresentationQosPolicy& qos1,
00205                          const DDS::PresentationQosPolicy& qos2);
00206 
00207   static bool changeable(const DDS::DeadlineQosPolicy& qos1,
00208                          const DDS::DeadlineQosPolicy& qos2);
00209 
00210   static bool changeable(const DDS::LatencyBudgetQosPolicy& qos1,
00211                          const DDS::LatencyBudgetQosPolicy& qos2);
00212 
00213   static bool changeable(const DDS::OwnershipQosPolicy& qos1,
00214                          const DDS::OwnershipQosPolicy& qos2);
00215 
00216 #ifndef OPENDDS_NO_OWNERSHIP_KIND_EXCLUSIVE
00217   static bool changeable(const DDS::OwnershipStrengthQosPolicy& qos1,
00218                          const DDS::OwnershipStrengthQosPolicy& qos2);
00219 #endif
00220 
00221   static bool changeable(const DDS::LivelinessQosPolicy& qos1,
00222                          const DDS::LivelinessQosPolicy& qos2);
00223 
00224   static bool changeable(const DDS::TimeBasedFilterQosPolicy& qos1,
00225                          const DDS::TimeBasedFilterQosPolicy& qos2);
00226 
00227   static bool changeable(const DDS::PartitionQosPolicy& qos1,
00228                          const DDS::PartitionQosPolicy& qos2);
00229 
00230   static bool changeable(const DDS::ReliabilityQosPolicy& qos1,
00231                          const DDS::ReliabilityQosPolicy& qos2);
00232 
00233   static bool changeable(const DDS::DestinationOrderQosPolicy& qos1,
00234                          const DDS::DestinationOrderQosPolicy& qos2);
00235 
00236   static bool changeable(const DDS::HistoryQosPolicy& qos1,
00237                          const DDS::HistoryQosPolicy& qos2);
00238 
00239   static bool changeable(const DDS::ResourceLimitsQosPolicy& qos1,
00240                          const DDS::ResourceLimitsQosPolicy& qos2);
00241 
00242   static bool changeable(const DDS::EntityFactoryQosPolicy& qos1,
00243                          const DDS::EntityFactoryQosPolicy& qos2) ;
00244 
00245   static bool changeable(const DDS::WriterDataLifecycleQosPolicy& qos1,
00246                          const DDS::WriterDataLifecycleQosPolicy& qos2);
00247 
00248   static bool changeable(const DDS::ReaderDataLifecycleQosPolicy& qos1,
00249                          const DDS::ReaderDataLifecycleQosPolicy& qos2);
00250 
00251   static bool changeable(const DDS::DomainParticipantQos& qos1,
00252                          const DDS::DomainParticipantQos& qos2);
00253 
00254   static bool changeable(const DDS::TopicQos& qos1,
00255                          const DDS::TopicQos& qos2);
00256 
00257   static bool changeable(const DDS::DataWriterQos& qos1,
00258                          const DDS::DataWriterQos& qos2);
00259 
00260   static bool changeable(const DDS::PublisherQos& qos1,
00261                          const DDS::PublisherQos& qos2);
00262 
00263   static bool changeable(const DDS::DataReaderQos& qos1,
00264                          const DDS::DataReaderQos& qos2);
00265 
00266   static bool changeable(const DDS::SubscriberQos& qos1,
00267                          const DDS::SubscriberQos& qos2);
00268 
00269   static bool changeable(const DDS::DomainParticipantFactoryQos& qos1,
00270                          const DDS::DomainParticipantFactoryQos& qos2);
00271 
00272   static bool copy_from_topic_qos(DDS::DataReaderQos& a_datareader_qos,
00273                                   const DDS::TopicQos& a_topic_qos);
00274 
00275   static bool copy_from_topic_qos(DDS::DataWriterQos& a_datareader_qos,
00276                                   const DDS::TopicQos& a_topic_qos);
00277 };
00278 
00279 #ifndef OPENDDS_SAFETY_PROFILE
00280 ACE_INLINE OpenDDS_Dcps_Export
00281 bool operator==(const DDS::Duration_t& t1, const DDS::Duration_t& t2);
00282 
00283 ACE_INLINE OpenDDS_Dcps_Export
00284 bool operator!=(const DDS::Duration_t& t1, const DDS::Duration_t& t2);
00285 #endif
00286 
00287 ACE_INLINE OpenDDS_Dcps_Export
00288 bool operator<(const DDS::Duration_t& t1, const DDS::Duration_t& t2);
00289 
00290 ACE_INLINE OpenDDS_Dcps_Export
00291 bool operator<=(const DDS::Duration_t& t1, const DDS::Duration_t& t2);
00292 
00293 ACE_INLINE OpenDDS_Dcps_Export
00294 bool operator>(const DDS::Duration_t& t1, const DDS::Duration_t& t2);
00295 
00296 ACE_INLINE OpenDDS_Dcps_Export
00297 bool operator>=(const DDS::Duration_t& t1, const DDS::Duration_t& t2);
00298 
00299 ACE_INLINE OpenDDS_Dcps_Export
00300 bool operator!(const DDS::Time_t& t);
00301 
00302 #ifndef OPENDDS_SAFETY_PROFILE
00303 ACE_INLINE OpenDDS_Dcps_Export
00304 bool operator==(const DDS::Time_t& t1, const DDS::Time_t& t2);
00305 
00306 ACE_INLINE OpenDDS_Dcps_Export
00307 bool operator!=(const DDS::Time_t& t1, const DDS::Time_t& t2);
00308 #endif
00309 
00310 ACE_INLINE OpenDDS_Dcps_Export
00311 bool operator<(const DDS::Time_t& t1, const DDS::Time_t& t2);
00312 
00313 ACE_INLINE OpenDDS_Dcps_Export
00314 bool operator<=(const DDS::Time_t& t1, const DDS::Time_t& t2);
00315 
00316 ACE_INLINE OpenDDS_Dcps_Export
00317 bool operator>(const DDS::Time_t& t1, const DDS::Time_t& t2);
00318 
00319 ACE_INLINE OpenDDS_Dcps_Export
00320 bool operator>=(const DDS::Time_t& t1, const DDS::Time_t& t2);
00321 
00322 ACE_INLINE OpenDDS_Dcps_Export
00323 DDS::Time_t operator-(const DDS::Time_t& t1, const DDS::Time_t& t2);
00324 
00325 #ifndef OPENDDS_SAFETY_PROFILE
00326 ACE_INLINE OpenDDS_Dcps_Export
00327 bool operator==(const DDS::UserDataQosPolicy& qos1,
00328                 const DDS::UserDataQosPolicy& qos2);
00329 
00330 ACE_INLINE OpenDDS_Dcps_Export
00331 bool operator==(const DDS::TopicDataQosPolicy & qos1,
00332                 const DDS::TopicDataQosPolicy & qos2);
00333 
00334 ACE_INLINE OpenDDS_Dcps_Export
00335 bool operator==(const DDS::GroupDataQosPolicy& qos1,
00336                 const DDS::GroupDataQosPolicy& qos2);
00337 
00338 ACE_INLINE OpenDDS_Dcps_Export
00339 bool operator==(const DDS::TransportPriorityQosPolicy& qos1,
00340                 const DDS::TransportPriorityQosPolicy& qos2);
00341 
00342 ACE_INLINE OpenDDS_Dcps_Export
00343 bool operator==(const DDS::LifespanQosPolicy& qos1,
00344                 const DDS::LifespanQosPolicy& qos2);
00345 
00346 ACE_INLINE OpenDDS_Dcps_Export
00347 bool operator==(const DDS::DurabilityQosPolicy& qos1,
00348                 const DDS::DurabilityQosPolicy& qos2);
00349 
00350 ACE_INLINE OpenDDS_Dcps_Export
00351 bool operator==(const DDS::DurabilityServiceQosPolicy& qos1,
00352                 const DDS::DurabilityServiceQosPolicy& qos2);
00353 
00354 ACE_INLINE OpenDDS_Dcps_Export
00355 bool operator==(const DDS::PresentationQosPolicy& qos1,
00356                 const DDS::PresentationQosPolicy& qos2);
00357 
00358 ACE_INLINE OpenDDS_Dcps_Export
00359 bool operator==(const DDS::DeadlineQosPolicy& qos1,
00360                 const DDS::DeadlineQosPolicy& qos2);
00361 
00362 ACE_INLINE OpenDDS_Dcps_Export
00363 bool operator==(const DDS::LatencyBudgetQosPolicy& qos1,
00364                 const DDS::LatencyBudgetQosPolicy& qos2);
00365 
00366 ACE_INLINE OpenDDS_Dcps_Export
00367 bool operator==(const DDS::OwnershipQosPolicy& qos1,
00368                 const DDS::OwnershipQosPolicy& qos2);
00369 
00370 ACE_INLINE OpenDDS_Dcps_Export
00371 bool operator==(const DDS::OwnershipStrengthQosPolicy& qos1,
00372                 const DDS::OwnershipStrengthQosPolicy& qos2);
00373 
00374 ACE_INLINE OpenDDS_Dcps_Export
00375 bool operator==(const DDS::LivelinessQosPolicy& qos1,
00376                 const DDS::LivelinessQosPolicy& qos2);
00377 
00378 ACE_INLINE OpenDDS_Dcps_Export
00379 bool operator==(const DDS::TimeBasedFilterQosPolicy& qos1,
00380                 const DDS::TimeBasedFilterQosPolicy& qos2);
00381 
00382 ACE_INLINE OpenDDS_Dcps_Export
00383 bool operator==(const DDS::PartitionQosPolicy& qos1,
00384                 const DDS::PartitionQosPolicy& qos2);
00385 
00386 ACE_INLINE OpenDDS_Dcps_Export
00387 bool operator==(const DDS::ReliabilityQosPolicy& qos1,
00388                 const DDS::ReliabilityQosPolicy& qos2);
00389 
00390 ACE_INLINE OpenDDS_Dcps_Export
00391 bool operator==(const DDS::DestinationOrderQosPolicy& qos1,
00392                 const DDS::DestinationOrderQosPolicy& qos2);
00393 
00394 ACE_INLINE OpenDDS_Dcps_Export
00395 bool operator==(const DDS::HistoryQosPolicy& qos1,
00396                 const DDS::HistoryQosPolicy& qos2);
00397 
00398 ACE_INLINE OpenDDS_Dcps_Export
00399 bool operator==(const DDS::ResourceLimitsQosPolicy& qos1,
00400                 const DDS::ResourceLimitsQosPolicy& qos2);
00401 
00402 ACE_INLINE OpenDDS_Dcps_Export
00403 bool operator==(const DDS::EntityFactoryQosPolicy& qos1,
00404                 const DDS::EntityFactoryQosPolicy& qos2);
00405 
00406 ACE_INLINE OpenDDS_Dcps_Export
00407 bool operator==(const DDS::WriterDataLifecycleQosPolicy& qos1,
00408                 const DDS::WriterDataLifecycleQosPolicy& qos2);
00409 
00410 ACE_INLINE OpenDDS_Dcps_Export
00411 bool operator==(const DDS::ReaderDataLifecycleQosPolicy& qos1,
00412                 const DDS::ReaderDataLifecycleQosPolicy& qos2);
00413 
00414 ACE_INLINE OpenDDS_Dcps_Export
00415 bool operator==(const DDS::DomainParticipantQos& qos1,
00416                 const DDS::DomainParticipantQos& qos2);
00417 
00418 ACE_INLINE OpenDDS_Dcps_Export
00419 bool operator==(const DDS::TopicQos& qos1,
00420                 const DDS::TopicQos& qos2);
00421 
00422 ACE_INLINE OpenDDS_Dcps_Export
00423 bool operator==(const DDS::DataWriterQos& qos1,
00424                 const DDS::DataWriterQos& qos2);
00425 
00426 ACE_INLINE OpenDDS_Dcps_Export
00427 bool operator==(const DDS::PublisherQos& qos1,
00428                 const DDS::PublisherQos& qos2);
00429 
00430 ACE_INLINE OpenDDS_Dcps_Export
00431 bool operator==(const DDS::DataReaderQos& qos1,
00432                 const DDS::DataReaderQos& qos2);
00433 
00434 ACE_INLINE OpenDDS_Dcps_Export
00435 bool operator==(const DDS::SubscriberQos& qos1,
00436                 const DDS::SubscriberQos& qos2);
00437 
00438 ACE_INLINE OpenDDS_Dcps_Export
00439 bool operator==(const DDS::DomainParticipantFactoryQos& qos1,
00440                 const DDS::DomainParticipantFactoryQos& qos2);
00441 
00442 ACE_INLINE OpenDDS_Dcps_Export
00443 bool operator!=(const DDS::UserDataQosPolicy& qos1,
00444                 const DDS::UserDataQosPolicy& qos2);
00445 
00446 ACE_INLINE OpenDDS_Dcps_Export
00447 bool operator!=(const DDS::TopicDataQosPolicy & qos1,
00448                 const DDS::TopicDataQosPolicy & qos2);
00449 
00450 ACE_INLINE OpenDDS_Dcps_Export
00451 bool operator!=(const DDS::GroupDataQosPolicy& qos1,
00452                 const DDS::GroupDataQosPolicy& qos2);
00453 
00454 ACE_INLINE OpenDDS_Dcps_Export
00455 bool operator!=(const DDS::TransportPriorityQosPolicy& qos1,
00456                 const DDS::TransportPriorityQosPolicy& qos2);
00457 
00458 ACE_INLINE OpenDDS_Dcps_Export
00459 bool operator!=(const DDS::LifespanQosPolicy& qos1,
00460                 const DDS::LifespanQosPolicy& qos2);
00461 
00462 ACE_INLINE OpenDDS_Dcps_Export
00463 bool operator!=(const DDS::DurabilityQosPolicy& qos1,
00464                 const DDS::DurabilityQosPolicy& qos2);
00465 
00466 ACE_INLINE OpenDDS_Dcps_Export
00467 bool operator!=(const DDS::DurabilityServiceQosPolicy& qos1,
00468                 const DDS::DurabilityServiceQosPolicy& qos2);
00469 
00470 ACE_INLINE OpenDDS_Dcps_Export
00471 bool operator!=(const DDS::PresentationQosPolicy& qos1,
00472                 const DDS::PresentationQosPolicy& qos2);
00473 
00474 ACE_INLINE OpenDDS_Dcps_Export
00475 bool operator!=(const DDS::DeadlineQosPolicy& qos1,
00476                 const DDS::DeadlineQosPolicy& qos2);
00477 
00478 ACE_INLINE OpenDDS_Dcps_Export
00479 bool operator!=(const DDS::LatencyBudgetQosPolicy& qos1,
00480                 const DDS::LatencyBudgetQosPolicy& qos2);
00481 
00482 ACE_INLINE OpenDDS_Dcps_Export
00483 bool operator!=(const DDS::OwnershipQosPolicy& qos1,
00484                 const DDS::OwnershipQosPolicy& qos2);
00485 
00486 ACE_INLINE OpenDDS_Dcps_Export
00487 bool operator!=(const DDS::OwnershipStrengthQosPolicy& qos1,
00488                 const DDS::OwnershipStrengthQosPolicy& qos2);
00489 
00490 ACE_INLINE OpenDDS_Dcps_Export
00491 bool operator!=(const DDS::LivelinessQosPolicy& qos1,
00492                 const DDS::LivelinessQosPolicy& qos2);
00493 
00494 ACE_INLINE OpenDDS_Dcps_Export
00495 bool operator!=(const DDS::TimeBasedFilterQosPolicy& qos1,
00496                 const DDS::TimeBasedFilterQosPolicy& qos2);
00497 
00498 ACE_INLINE OpenDDS_Dcps_Export
00499 bool operator!=(const DDS::PartitionQosPolicy& qos1,
00500                 const DDS::PartitionQosPolicy& qos2);
00501 
00502 ACE_INLINE OpenDDS_Dcps_Export
00503 bool operator!=(const DDS::ReliabilityQosPolicy& qos1,
00504                 const DDS::ReliabilityQosPolicy& qos2);
00505 
00506 ACE_INLINE OpenDDS_Dcps_Export
00507 bool operator!=(const DDS::DestinationOrderQosPolicy& qos1,
00508                 const DDS::DestinationOrderQosPolicy& qos2);
00509 
00510 ACE_INLINE OpenDDS_Dcps_Export
00511 bool operator!=(const DDS::HistoryQosPolicy& qos1,
00512                 const DDS::HistoryQosPolicy& qos2);
00513 
00514 ACE_INLINE OpenDDS_Dcps_Export
00515 bool operator!=(const DDS::ResourceLimitsQosPolicy& qos1,
00516                 const DDS::ResourceLimitsQosPolicy& qos2);
00517 
00518 ACE_INLINE OpenDDS_Dcps_Export
00519 bool operator!=(const DDS::EntityFactoryQosPolicy& qos1,
00520                 const DDS::EntityFactoryQosPolicy& qos2);
00521 
00522 ACE_INLINE OpenDDS_Dcps_Export
00523 bool operator!=(const DDS::WriterDataLifecycleQosPolicy& qos1,
00524                 const DDS::WriterDataLifecycleQosPolicy& qos2);
00525 
00526 ACE_INLINE OpenDDS_Dcps_Export
00527 bool operator!=(const DDS::ReaderDataLifecycleQosPolicy& qos1,
00528                 const DDS::ReaderDataLifecycleQosPolicy& qos2);
00529 
00530 ACE_INLINE OpenDDS_Dcps_Export
00531 bool operator!=(const DDS::DomainParticipantQos& qos1,
00532                 const DDS::DomainParticipantQos& qos2);
00533 
00534 ACE_INLINE OpenDDS_Dcps_Export
00535 bool operator!=(const DDS::TopicQos& qos1,
00536                 const DDS::TopicQos& qos2);
00537 
00538 ACE_INLINE OpenDDS_Dcps_Export
00539 bool operator!=(const DDS::DataWriterQos& qos1,
00540                 const DDS::DataWriterQos& qos2);
00541 
00542 ACE_INLINE OpenDDS_Dcps_Export
00543 bool operator!=(const DDS::PublisherQos& qos1,
00544                 const DDS::PublisherQos& qos2);
00545 
00546 ACE_INLINE OpenDDS_Dcps_Export
00547 bool operator!=(const DDS::DataReaderQos& qos1,
00548                 const DDS::DataReaderQos& qos2);
00549 
00550 ACE_INLINE OpenDDS_Dcps_Export
00551 bool operator!=(const DDS::SubscriberQos& qos1,
00552                 const DDS::SubscriberQos& qos2);
00553 
00554 ACE_INLINE OpenDDS_Dcps_Export
00555 bool operator!=(const DDS::DomainParticipantFactoryQos& qos1,
00556                 const DDS::DomainParticipantFactoryQos& qos2);
00557 #endif
00558 
00559 } // namespace DCPS
00560 } // namespace OpenDDS
00561 
00562 
00563 #if defined(__ACE_INLINE__)
00564 #include "Qos_Helper.inl"
00565 #endif /* __ACE_INLINE__ */
00566 
00567 #endif /* OPENDDS_DCPS_QOS_HELPER_H */

Generated on Fri Feb 12 20:05:25 2016 for OpenDDS by  doxygen 1.4.7