@@ -49,6 +49,55 @@ bool run_xrce_session(
4949 return true;
5050}
5151
52+ uxrQoS_t convert_qos_profile (const rmw_qos_profile_t * rmw_qos )
53+ {
54+ uxrQoSDurability durability ;
55+ switch (rmw_qos -> durability ) {
56+ case RMW_QOS_POLICY_DURABILITY_VOLATILE :
57+ durability = UXR_DURABILITY_VOLATILE ;
58+ break ;
59+ case RMW_QOS_POLICY_DURABILITY_UNKNOWN :
60+ case RMW_QOS_POLICY_DURABILITY_SYSTEM_DEFAULT :
61+ case RMW_QOS_POLICY_DURABILITY_TRANSIENT_LOCAL :
62+ default :
63+ durability = UXR_DURABILITY_TRANSIENT_LOCAL ;
64+ break ;
65+ }
66+
67+ uxrQoSReliability reliability ;
68+ switch (rmw_qos -> reliability ) {
69+ case RMW_QOS_POLICY_RELIABILITY_BEST_EFFORT :
70+ reliability = UXR_RELIABILITY_BEST_EFFORT ;
71+ break ;
72+ case RMW_QOS_POLICY_RELIABILITY_RELIABLE :
73+ case RMW_QOS_POLICY_RELIABILITY_SYSTEM_DEFAULT :
74+ default :
75+ reliability = UXR_RELIABILITY_RELIABLE ;
76+ break ;
77+ }
78+
79+ uxrQoSHistory history ;
80+ switch (rmw_qos -> history ) {
81+ case RMW_QOS_POLICY_HISTORY_KEEP_ALL :
82+ history = UXR_HISTORY_KEEP_ALL ;
83+ break ;
84+ case RMW_QOS_POLICY_HISTORY_KEEP_LAST :
85+ default :
86+ history = UXR_HISTORY_KEEP_LAST ;
87+ break ;
88+ }
89+
90+ uxrQoS_t qos = {
91+ .durability = durability ,
92+ .reliability = reliability ,
93+ .history = history ,
94+ .depth = rmw_qos -> depth ,
95+ };
96+
97+ return qos ;
98+ }
99+
100+
52101int build_participant_xml (
53102 size_t domain_id ,
54103 const char * participant_name ,
0 commit comments