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 OPENDDS_BEGIN_VERSIONED_NAMESPACE_DECL
00021 
00022 class QosCommon
00023 {
00024 public:
00025 
00026   //@{
00027   /** Operations which convert QOS XML kinds to QOS IDL kinds. */
00028 
00029   static void get_durability_kind (const ::dds::durabilityKind kind,
00030                                    ::DDS::DurabilityQosPolicyKind& dds_kind);
00031   static void get_history_kind (const ::dds::historyKind kind,
00032                                 ::DDS::HistoryQosPolicyKind& dds_kind);
00033   static void get_liveliness_kind (const ::dds::livelinessKind kind,
00034                                    ::DDS::LivelinessQosPolicyKind& dds_kind);
00035   static void get_realiability_kind (const dds::reliabilityKind kind,
00036                                      ::DDS::ReliabilityQosPolicyKind& dds_kind);
00037   static void get_destination_order_kind (const ::dds::destinationOrderKind kind,
00038                                           ::DDS::DestinationOrderQosPolicyKind& dds_kind);
00039 
00040   static void get_ownership_kind (::dds::ownershipKind kind,
00041                                   ::DDS::OwnershipQosPolicyKind& dds_kind);
00042   //@}
00043 
00044   /**
00045    * get_duration
00046    *
00047    * The QOS XML seconds and nano seconds tags may contain text
00048    * (DURATION_INFINITY, DURATION_INFINITY_SEC, DURATION_INFINITY_NSEC). These
00049    * values need to be converted to a numeric value.
00050    *
00051    */
00052   static void get_duration (::DDS::Duration_t& duration, const ACE_TCHAR * sec, const ACE_TCHAR * nsec);
00053 
00054   /**
00055    * get_qos_long
00056    *
00057    * The QOS XML integer tags may contain text (LENGTH_UNLIMITED).
00058    * This value need to be converted to a numeric value.
00059    *
00060    */
00061   static ::CORBA::Long get_qos_long (const ACE_TCHAR * value);
00062 
00063 };
00064 
00065 OPENDDS_END_VERSIONED_NAMESPACE_DECL
00066 
00067 #include /**/ "ace/post.h"
00068 #endif /* QOS_COMMON_H */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 10 Aug 2018 for OpenDDS by  doxygen 1.6.1