| 1274 | } |
| 1275 | |
| 1276 | void |
| 1277 | Monitor::MonitorDataStorage::manageSubscriptionQos( |
| 1278 | TreeNode* parent, |
| 1279 | const DDS::SubscriptionBuiltinTopicData& data, |
| 1280 | bool& layoutChanged, |
| 1281 | bool& dataChanged |
| 1282 | ) |
| 1283 | { |
| 1284 | // struct SubscriptionBuiltinTopicData { |
| 1285 | // BuiltinTopicKey_t key; |
| 1286 | // BuiltinTopicKey_t participant_key; |
| 1287 | // string topic_name; |
| 1288 | // string type_name; |
| 1289 | // DurabilityQosPolicy durability; |
| 1290 | // DeadlineQosPolicy deadline; |
| 1291 | // LatencyBudgetQosPolicy latency_budget; |
| 1292 | // LivelinessQosPolicy liveliness; |
| 1293 | // ReliabilityQosPolicy reliability; |
| 1294 | // OwnershipQosPolicy ownership; |
| 1295 | // DestinationOrderQosPolicy destination_order; |
| 1296 | // UserDataQosPolicy user_data; |
| 1297 | // TimeBasedFilterQosPolicy time_based_filter; |
| 1298 | // PresentationQosPolicy presentation; |
| 1299 | // PartitionQosPolicy partition; |
| 1300 | // TopicDataQosPolicy topic_data; |
| 1301 | // GroupDataQosPolicy group_data; |
| 1302 | // }; |
| 1303 | |
| 1304 | /// @TODO: segregate the publisher and data writer policy values. |
| 1305 | |
| 1306 | // Obtain the node to hold the Qos policy values. |
| 1307 | bool create = false; |
| 1308 | TreeNode* qosNode |
| 1309 | = this->createQosNode( std::string("SubscriptionQos"), parent, create); |
| 1310 | layoutChanged |= create; |
| 1311 | |
| 1312 | // Install the policy values. |
| 1313 | |
| 1314 | // BuiltinTopicKey_t key; |
| 1315 | QString builtinTopicKeyLabel |
| 1316 | = QString( QObject::tr("BuiltinTopicKey.value")); |
| 1317 | if( this->manageQosPolicy( qosNode, builtinTopicKeyLabel, data.key)) { |
| 1318 | layoutChanged = true; |
| 1319 | |
| 1320 | } else { |
| 1321 | dataChanged = true; |
| 1322 | } |
| 1323 | |
| 1324 | // string name; |
| 1325 | QString topicNameLabel |
| 1326 | = QString( QObject::tr("Topic name")); |
| 1327 | QString topicNameValue |
| 1328 | = QString( QObject::tr( static_cast<const char*>(data.topic_name))); |
| 1329 | if( this->manageQosPolicy( qosNode, topicNameLabel, topicNameValue)) { |
| 1330 | layoutChanged = true; |
| 1331 | |
| 1332 | } else { |
| 1333 | dataChanged = true; |
nothing calls this directly
no test coverage detected