diff --git a/include/fastrtps/xmlparser/XMLParserCommon.h b/include/fastrtps/xmlparser/XMLParserCommon.h index 626cbacc08c..b9292304291 100644 --- a/include/fastrtps/xmlparser/XMLParserCommon.h +++ b/include/fastrtps/xmlparser/XMLParserCommon.h @@ -316,6 +316,8 @@ extern const char* MULTICAST_LOCATOR; extern const char* _RELIABLE_RELIABILITY_QOS; extern const char* _BEST_EFFORT_RELIABILITY_QOS; extern const char* DURABILITY_QOS; +extern const char* _PERSISTENT_DURABILITY_QOS; +extern const char* _TRANSIENT_DURABILITY_QOS; extern const char* _TRANSIENT_LOCAL_DURABILITY_QOS; extern const char* _VOLATILE_DURABILITY_QOS; extern const char* OWNERSHIP_QOS; diff --git a/src/cpp/rtps/xmlparser/XMLEndpointParser.cpp b/src/cpp/rtps/xmlparser/XMLEndpointParser.cpp index 3b24aaa92aa..6c742ddd3a9 100644 --- a/src/cpp/rtps/xmlparser/XMLEndpointParser.cpp +++ b/src/cpp/rtps/xmlparser/XMLEndpointParser.cpp @@ -357,7 +357,15 @@ XMLP_ret XMLEndpointParser::loadXMLReaderEndpoint( else if (key == DURABILITY_QOS) { std::string auxstring(element->GetText()); - if (auxstring == _TRANSIENT_LOCAL_DURABILITY_QOS) + if (auxstring == _PERSISTENT_DURABILITY_QOS) + { + rdata->m_qos.m_durability.kind = PERSISTENT_DURABILITY_QOS; + } + else if (auxstring == _TRANSIENT_DURABILITY_QOS) + { + rdata->m_qos.m_durability.kind = TRANSIENT_DURABILITY_QOS; + } + else if (auxstring == _TRANSIENT_LOCAL_DURABILITY_QOS) { rdata->m_qos.m_durability.kind = TRANSIENT_LOCAL_DURABILITY_QOS; } @@ -629,7 +637,15 @@ XMLP_ret XMLEndpointParser::loadXMLWriterEndpoint( else if (key == DURABILITY_QOS) { std::string auxstring = std::string(element->GetText()); - if (auxstring == _TRANSIENT_LOCAL_DURABILITY_QOS) + if (auxstring == _PERSISTENT_DURABILITY_QOS) + { + wdata->m_qos.m_durability.kind = PERSISTENT_DURABILITY_QOS; + } + else if (auxstring == _TRANSIENT_DURABILITY_QOS) + { + wdata->m_qos.m_durability.kind = TRANSIENT_DURABILITY_QOS; + } + else if (auxstring == _TRANSIENT_LOCAL_DURABILITY_QOS) { wdata->m_qos.m_durability.kind = TRANSIENT_LOCAL_DURABILITY_QOS; } diff --git a/src/cpp/rtps/xmlparser/XMLParserCommon.cpp b/src/cpp/rtps/xmlparser/XMLParserCommon.cpp index f90f7e2f8c9..d0aec669c81 100644 --- a/src/cpp/rtps/xmlparser/XMLParserCommon.cpp +++ b/src/cpp/rtps/xmlparser/XMLParserCommon.cpp @@ -300,6 +300,8 @@ const char* MULTICAST_LOCATOR = "multicastLocator"; const char* _RELIABLE_RELIABILITY_QOS = "RELIABLE_RELIABILITY_QOS"; const char* _BEST_EFFORT_RELIABILITY_QOS = "BEST_EFFORT_RELIABILITY_QOS"; const char* DURABILITY_QOS = "durabilityQos"; +const char* _PERSISTENT_DURABILITY_QOS = "PERSISTENT_DURABILITY_QOS"; +const char* _TRANSIENT_DURABILITY_QOS = "TRANSIENT_DURABILITY_QOS"; const char* _TRANSIENT_LOCAL_DURABILITY_QOS = "TRANSIENT_LOCAL_DURABILITY_QOS"; const char* _VOLATILE_DURABILITY_QOS = "VOLATILE_DURABILITY_QOS"; const char* OWNERSHIP_QOS = "ownershipQos";