- Timestamp:
- Sep 26, 2022 2:51:49 PM (2 years ago)
- svn:sync-xref-src-repo-rev:
- 153775
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/x11/VBoxClient/display-helper-gnome3.cpp
r96407 r96868 577 577 578 578 /** 579 * Add dictionary element with boolean value into an array. 580 * 581 * @return True on success, False otherwise. 582 * @param parent_iter Array to add dictionary element into. 583 * @param key Dictionary key. 584 * @param value Boolean value for given key. 585 586 */ 587 static dbus_bool_t vbcl_hlp_gnome3_add_dict_bool_entry( 588 DBusMessageIter *parent_iter, const char *key, const dbus_bool_t value) 589 { 590 dbus_bool_t ret = true; 591 592 DBusMessageIter sub_iter_key; 593 DBusMessageIter sub_iter_value; 594 595 RT_ZERO(sub_iter_key); 596 RT_ZERO(sub_iter_value); 597 598 /* Should be TRUE in order to satisfy VBCL_HLP_GNOME3_NEXT() requirements. */ 599 AssertReturn(ret, false); 600 601 VBCL_HLP_GNOME3_NEXT(ret, dbus_message_iter_open_container(parent_iter, DBUS_TYPE_DICT_ENTRY, NULL, &sub_iter_key)); 602 { 603 VBCL_HLP_GNOME3_NEXT(ret, dbus_message_iter_append_basic(&sub_iter_key, DBUS_TYPE_STRING, &key)); 604 605 VBCL_HLP_GNOME3_NEXT(ret, dbus_message_iter_open_container(&sub_iter_key, ((int) 'v'), "b", &sub_iter_value)); 606 { 607 VBCL_HLP_GNOME3_NEXT(ret, dbus_message_iter_append_basic(&sub_iter_value, DBUS_TYPE_BOOLEAN, &value)); 608 } 609 610 VBCL_HLP_GNOME3_NEXT(ret, dbus_message_iter_close_container(&sub_iter_key, &sub_iter_value)); 611 } 612 VBCL_HLP_GNOME3_NEXT(ret, dbus_message_iter_close_container(parent_iter, &sub_iter_key)); 613 614 return ret; 615 } 616 617 /** 579 618 * This function is responsible for gathering current display 580 619 * information (via its helper functions), compose a payload … … 672 711 DBusMessageIter sub_iter0; 673 712 DBusMessageIter sub_iter1; 713 DBusMessageIter sub_iter2; 674 714 DBusMessageIter sub_iter3; 675 DBusMessageIter sub_iter2;676 715 /* Important for error handling code path when dbus_message_iter_abandon_container_if_open() is in place. */ 677 716 RT_ZERO(sub_iter0); … … 706 745 VBCL_HLP_GNOME3_NEXT(ret, dbus_message_iter_append_basic(&sub_iter2, DBUS_TYPE_STRING, &physical_monitors_state[iLogicalMonitor].mode)); 707 746 708 /* Compose part (uu@a(iiduba(ss > a{sv} < ))@a{sv}) of (uu@a(iiduba(ssa{sv}))@a{sv}) (empty dictionary). */747 /* Compose part (uu@a(iiduba(ss > a{sv} < ))@a{sv}) of (uu@a(iiduba(ssa{sv}))@a{sv}). */ 709 748 VBCL_HLP_GNOME3_NEXT(ret, dbus_message_iter_open_container(&sub_iter2, DBUS_TYPE_ARRAY, "{sv}", &sub_iter3)); 749 VBCL_HLP_GNOME3_NEXT(ret, vbcl_hlp_gnome3_add_dict_bool_entry(&sub_iter3, "is-current", true)); 750 VBCL_HLP_GNOME3_NEXT(ret, vbcl_hlp_gnome3_add_dict_bool_entry(&sub_iter3, "is-preferred", true)); 710 751 VBCL_HLP_GNOME3_NEXT(ret, dbus_message_iter_close_container(&sub_iter2, &sub_iter3)); 711 752 }
Note:
See TracChangeset
for help on using the changeset viewer.