RTI Connext C API Version 7.4.0
DDS_QosPrintFormat Struct Reference

A collection of attributes used to configure how a QoS appears when printed. More...

Data Fields

DDS_Boolean is_standalone
 Controls whether or not to print valid XML for this QoS policy (through the inclusion of a preamble). More...
 
DDS_Boolean print_private
 Configures how private QoS policies should be printed. More...
 
DDS_UnsignedLong indent
 Conifgures how much additional indent should be added to the string representation of a QoS. More...
 

Detailed Description

A collection of attributes used to configure how a QoS appears when printed.

To ensure that new objects of this type are initialized to a known value, assign them with the static initializer DDS_QosPrintFormat_INITIALIZER.

Field Documentation

◆ is_standalone

DDS_Boolean DDS_QosPrintFormat::is_standalone

Controls whether or not to print valid XML for this QoS policy (through the inclusion of a preamble).

The default value for this property (false) results in QoS being printed starting from the <ENTITY_qos> tag (where the <ENTITY_qos> tag is, e.g., <domain_participant_qos>, or, <datareader_qos>. This result cannot be directly parsed as valid XML (as it lacks <dds>, <qos_library>, and <qos_profile> tags). If is_standalone is set to true, these additional tags are printed, resulting in valid, parseable XML.

For example, with is_standalone set to false, a Qos may appear as:

 <datareader_qos>
  
     <durability>
  
         <kind>TRANSIENT_LOCAL_DURABILITY_QOS</kind>
  
     </durability>
  
 </datareader_qos>

Setting is_standalone to true would result in the same Qos being printed as:

 <?xml version="1.0"?>
  
 <dds xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  
     <qos_library name="QosLibrary">
  
         <qos_profile name="QosProfile">
  
             <datareader_qos>
  
                 <durability>
  
                     <kind>TRANSIENT_LOCAL_DURABILITY_QOS</kind>
  
                 </durability>
  
             </datareader_qos>
  
         </qos_profile>
  
     </qos_library>
  
 </dds>

[default] false

◆ print_private

DDS_Boolean DDS_QosPrintFormat::print_private

Configures how private QoS policies should be printed.

There are some QoS policies which are not intended for external use. By default, these QoS policies are only printed if they are different to the default value for that policy. When true, private policies are treated like any other policy, and printed if they are different to the supplied base QoS. These private policies cannot be parsed from XML, and are always printed as XML comments.

[default] false

◆ indent

DDS_UnsignedLong DDS_QosPrintFormat::indent

Conifgures how much additional indent should be added to the string representation of a QoS.

Configures how much additional indent is applied when converting a QoS to a string. This value acts as a total offset on the string, increasing the indent which is applied to all elements by the same amount. With indent set to 0, a string representation of a QoS may appear as:

 <datareader_qos>
  
     <durability>
  
         <kind>TRANSIENT_LOCAL_DURABILITY_QOS</kind>
  
     </durability>
  
 </datareader_qos>

Setting the indent property to 1, the same QoS would be printed as:

     <datareader_qos>
  
         <durability>
  
             <kind>TRANSIENT_LOCAL_DURABILITY_QOS</kind>
  
         </durability>
  
     </datareader_qos>

I.e., the entire structure is indented.

[default] 0