QOS_Common.h

Go to the documentation of this file.
00001 /**
00002  * @author Marcel Smit (msmit@remedy.nl)
00003  *
00004  *
00005  * Converting most common QOS XML settings to IDL QOS.
00006  *
00007  */
00008 #ifndef QOS_COMMON_H
00009 #define QOS_COMMON_H
00010 
00011 #include /**/ "ace/pre.h"
00012 
00013 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00014 # pragma once
00015 #endif /* ACE_LACKS_PRAGMA_ONCE */
00016 
00017 #include "dds/DdsDcpsInfrastructureC.h"
00018 #include "dds_qos.hpp"
00019 
00020 class QosCommon
00021 {
00022 public:
00023 
00024   //@{
00025   /** Operations which convert QOS XML kinds to QOS IDL kinds. */
00026 
00027   static void get_durability_kind (const ::dds::durabilityKind kind,
00028                                    ::DDS::DurabilityQosPolicyKind& dds_kind);
00029   static void get_history_kind (const ::dds::historyKind kind,
00030                                 ::DDS::HistoryQosPolicyKind& dds_kind);
00031   static void get_liveliness_kind (const ::dds::livelinessKind kind,
00032                                    ::DDS::LivelinessQosPolicyKind& dds_kind);
00033   static void get_realiability_kind (const dds::reliabilityKind kind,
00034                                      ::DDS::ReliabilityQosPolicyKind& dds_kind);
00035   static void get_destination_order_kind (const ::dds::destinationOrderKind kind,
00036                                           ::DDS::DestinationOrderQosPolicyKind& dds_kind);
00037 
00038   static void get_ownership_kind (::dds::ownershipKind kind,
00039                                   ::DDS::OwnershipQosPolicyKind& dds_kind);
00040   //@}
00041 
00042   /**
00043    * get_duration
00044    *
00045    * The QOS XML seconds and nano seconds tags may contain text
00046    * (DURATION_INFINITY, DURATION_INFINITY_SEC, DURATION_INFINITY_NSEC). These
00047    * values need to be converted to a numeric value.
00048    *
00049    */
00050   static void get_duration (::DDS::Duration_t& duration, const ACE_TCHAR * sec, const ACE_TCHAR * nsec);
00051 
00052   /**
00053    * get_qos_long
00054    *
00055    * The QOS XML integer tags may contain text (LENGTH_UNLIMITED).
00056    * This value need to be converted to a numeric value.
00057    *
00058    */
00059   static ::CORBA::Long get_qos_long (const ACE_TCHAR * value);
00060 
00061 };
00062 
00063 #include /**/ "ace/post.h"
00064 #endif /* QOS_COMMON_H */

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