| 410 | |
| 411 | |
| 412 | GVariant *RequiresQueue::QueueCheckTypeGroupGVariant() const noexcept |
| 413 | { |
| 414 | // Convert the std::vector to a GVariant based array GDBus can use |
| 415 | // as the method call response |
| 416 | std::vector<std::tuple<ClientAttentionType, ClientAttentionGroup>> qchk_res = QueueCheckTypeGroup(); |
| 417 | |
| 418 | GVariantBuilder *bld = glib2::Builder::Create("a(uu)"); |
| 419 | for (auto &e : qchk_res) |
| 420 | { |
| 421 | ClientAttentionType type; |
| 422 | ClientAttentionGroup group; |
| 423 | std::tie(type, group) = e; |
| 424 | glib2::Builder::Add(bld, |
| 425 | g_variant_new("(uu)", |
| 426 | static_cast<uint32_t>(type), |
| 427 | static_cast<uint32_t>(group))); |
| 428 | } |
| 429 | callbacks.RunCallback(CallbackType::CHECK_TYPE_GROUP); |
| 430 | return glib2::Builder::FinishWrapped(bld); |
| 431 | } |
| 432 | |
| 433 | |
| 434 | std::vector<uint32_t> RequiresQueue::QueueCheck(ClientAttentionType type, |