1diff --git a/config.h b/config.h 2new file mode 100644 3index 0000000..da224eb 4--- /dev/null 5+++ b/config.h 6@@ -0,0 +1,428 @@ 7+/* 8+ * Autogenerated by the Meson build system. 9+ * Do not edit, your changes will be lost. 10+ */ 11+ 12+#pragma once 13+ 14+#define ALIGNOF_GUINT32 4 15+ 16+#define ALIGNOF_GUINT64 8 17+ 18+#ifdef __LP64__ 19+#define ALIGNOF_UNSIGNED_LONG 8 20+ 21+#define DBL_EXPBIT0_BIT 20 22+ 23+#define DBL_EXPBIT0_WORD 1 24+#else 25+#define ALIGNOF_UNSIGNED_LONG 4 26+#endif 27+ 28+#ifndef OHOS_OPT_COMPAT 29+/* ohos.opt.compat.001: 30+ * Remove dependency to gettext 31+ */ 32+#define ENABLE_NLS 1 33+#endif 34+ 35+#define EXEEXT 36+ 37+#define GETTEXT_PACKAGE "glib20" 38+ 39+#define GLIB_BINARY_AGE 7202 40+ 41+#define GLIB_INTERFACE_AGE 2 42+ 43+#define GLIB_LOCALE_DIR "/usr/local/share/locale" 44+ 45+#define GLIB_MAJOR_VERSION 2 46+ 47+#define GLIB_MICRO_VERSION 2 48+ 49+#define GLIB_MINOR_VERSION 72 50+ 51+#define G_VA_COPY va_copy 52+ 53+#define G_VA_COPY_AS_ARRAY 1 54+ 55+#define HAVE_ALLOCA_H 1 56+ 57+#define HAVE_BIND_TEXTDOMAIN_CODESET 58+ 59+#undef HAVE_C99_SNPRINTF 60+ 61+#undef HAVE_C99_VSNPRINTF 62+ 63+#define HAVE_CLOCK_GETTIME 1 64+ 65+#define HAVE_CODESET 1 66+ 67+#define HAVE_DCGETTEXT 1 68+ 69+#define HAVE_DIRENT_H 1 70+ 71+#define HAVE_DN_COMP 1 72+ 73+#define HAVE_ENDMNTENT 1 74+ 75+#define HAVE_ENDSERVENT 1 76+ 77+#define HAVE_EPOLL_CREATE 1 78+ 79+#define HAVE_EVENTFD 1 80+ 81+#define HAVE_FALLOCATE 1 82+ 83+#define HAVE_FCHMOD 1 84+ 85+#define HAVE_FCHOWN 1 86+ 87+#define HAVE_FLOAT_H 1 88+ 89+#define HAVE_FSTAB_H 1 90+ 91+#define HAVE_FSYNC 1 92+ 93+#define HAVE_FUTEX 1 94+ 95+#define HAVE_GETAUXVAL 1 96+ 97+#define HAVE_GETC_UNLOCKED 1 98+ 99+#define HAVE_GETGRGID_R 1 100+ 101+#define HAVE_GETMNTENT_R 1 102+ 103+#define HAVE_GETPWUID_R 1 104+ 105+#define HAVE_GETRESUID 1 106+ 107+#define HAVE_GETTEXT 1 108+ 109+#define HAVE_GMTIME_R 1 110+ 111+#define HAVE_GRP_H 1 112+ 113+#define HAVE_HASMNTOPT 1 114+ 115+#define HAVE_IF_INDEXTONAME 1 116+ 117+#define HAVE_IF_NAMETOINDEX 1 118+ 119+#define HAVE_INOTIFY_INIT1 1 120+ 121+#define HAVE_INTMAX_T 1 122+ 123+#define HAVE_INTTYPES_H 1 124+ 125+#define HAVE_INTTYPES_H_WITH_UINTMAX 1 126+ 127+#define HAVE_IPV6 128+ 129+#define HAVE_IP_MREQN 1 130+ 131+#define HAVE_LANGINFO_CODESET 1 132+ 133+#define HAVE_LANGINFO_TIME 1 134+ 135+#define HAVE_LCHOWN 1 136+ 137+#define HAVE_LC_MESSAGES 1 138+ 139+#undef HAVE_LIBMOUNT 140+ 141+#define HAVE_LIMITS_H 1 142+ 143+#define HAVE_LINK 1 144+ 145+#define HAVE_LOCALE_H 1 146+ 147+#define HAVE_LOCALTIME_R 1 148+ 149+#define HAVE_LONG_DOUBLE 1 150+ 151+#define HAVE_LONG_LONG 1 152+ 153+#define HAVE_LSTAT 1 154+ 155+#define HAVE_MALLOC_H 1 156+ 157+#define HAVE_MBRTOWC 1 158+ 159+#define HAVE_MEMALIGN 1 160+ 161+#define HAVE_MEMORY_H 1 162+ 163+#define HAVE_MKOSTEMP 1 164+ 165+#define HAVE_MMAP 1 166+ 167+#define HAVE_MNTENT_H 1 168+ 169+#define HAVE_NETLINK 1 170+ 171+#define HAVE_NEWLOCALE 1 172+ 173+#define HAVE_OPEN_O_DIRECTORY 1 174+ 175+#define HAVE_PIPE2 1 176+ 177+#define HAVE_POLL 1 178+ 179+#define HAVE_POLL_H 1 180+ 181+#define HAVE_POSIX_MEMALIGN 1 182+ 183+#define HAVE_POSIX_SPAWN 1 184+ 185+#define HAVE_PRLIMIT 1 186+ 187+#define HAVE_PROC_SELF_CMDLINE 188+ 189+#define HAVE_PTHREAD_ATTR_SETINHERITSCHED 1 190+ 191+#define HAVE_PTHREAD_ATTR_SETSTACKSIZE 1 192+ 193+#define HAVE_PTHREAD_CONDATTR_SETCLOCK 1 194+ 195+#define HAVE_PTHREAD_GETNAME_NP 1 196+ 197+#define HAVE_PTHREAD_SETNAME_NP_WITH_TID 1 198+ 199+#define HAVE_PTRDIFF_T 1 200+ 201+#define HAVE_PWD_H 1 202+ 203+#define HAVE_READLINK 1 204+ 205+#define HAVE_RECVMMSG 1 206+ 207+#define HAVE_RES_NCLOSE 1 208+ 209+#define HAVE_RES_NINIT 1 210+ 211+#define HAVE_RTLD_GLOBAL 1 212+ 213+#define HAVE_RTLD_LAZY 1 214+ 215+#define HAVE_RTLD_NEXT 1 216+ 217+#define HAVE_RTLD_NOW 1 218+ 219+#define HAVE_SCHED_H 1 220+ 221+#undef HAVE_SELINUX 222+ 223+#define HAVE_SENDMMSG 1 224+ 225+#define HAVE_SETENV 1 226+ 227+#define HAVE_SETMNTENT 1 228+ 229+#define HAVE_SIG_ATOMIC_T 1 230+ 231+#define HAVE_SIOCGIFADDR /**/ 232+ 233+#define HAVE_SNPRINTF 1 234+ 235+#define HAVE_SPAWN_H 1 236+ 237+#define HAVE_SPLICE 1 238+ 239+#define HAVE_STATFS 1 240+ 241+#define HAVE_STATVFS 1 242+ 243+#define HAVE_STDATOMIC_H 1 244+ 245+#define HAVE_STDINT_H 1 246+ 247+#define HAVE_STDINT_H_WITH_UINTMAX 1 248+ 249+#define HAVE_STDLIB_H 1 250+ 251+#define HAVE_STPCPY 1 252+ 253+#define HAVE_STRCASECMP 1 254+ 255+#define HAVE_STRERROR_R 1 256+ 257+#define HAVE_STRINGS_H 1 258+ 259+#define HAVE_STRING_H 1 260+ 261+#define HAVE_STRNCASECMP 1 262+ 263+#define HAVE_STRNLEN 1 264+ 265+#define HAVE_STRSIGNAL 1 266+ 267+#define HAVE_STRTOD_L 1 268+ 269+#define HAVE_STRTOLL_L 1 270+ 271+#define HAVE_STRTOULL_L 1 272+ 273+#define HAVE_STRUCT_DIRENT_D_TYPE 1 274+ 275+#define HAVE_STRUCT_STATFS_F_BAVAIL 1 276+ 277+#define HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC 1 278+ 279+#define HAVE_STRUCT_STAT_ST_BLKSIZE 1 280+ 281+#define HAVE_STRUCT_STAT_ST_BLOCKS 1 282+ 283+#define HAVE_STRUCT_STAT_ST_CTIM_TV_NSEC 1 284+ 285+#define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 286+ 287+#define HAVE_STRUCT_TM_TM_GMTOFF 1 288+ 289+#define HAVE_SYMLINK 1 290+ 291+#undef HAVE_SYSPROF 292+ 293+#define HAVE_SYS_AUXV_H 1 294+ 295+#define HAVE_SYS_INOTIFY_H 1 296+ 297+#define HAVE_SYS_MOUNT_H 1 298+ 299+#define HAVE_SYS_PARAM_H 1 300+ 301+#define HAVE_SYS_RESOURCE_H 1 302+ 303+#define HAVE_SYS_SCHED_GETATTR 1 304+ 305+#define HAVE_SYS_SELECT_H 1 306+ 307+#define HAVE_SYS_STATFS_H 1 308+ 309+#define HAVE_SYS_STATVFS_H 1 310+ 311+#define HAVE_SYS_STAT_H 1 312+ 313+#define HAVE_SYS_SYSCTL_H 1 314+ 315+#define HAVE_SYS_TIMES_H 1 316+ 317+#define HAVE_SYS_TIME_H 1 318+ 319+#define HAVE_SYS_TYPES_H 1 320+ 321+#define HAVE_SYS_UIO_H 1 322+ 323+#define HAVE_SYS_VFS_H 1 324+ 325+#define HAVE_SYS_WAIT_H 1 326+ 327+#define HAVE_SYS_XATTR_H 1 328+ 329+#define HAVE_TERMIOS_H 1 330+ 331+#define HAVE_TIMEGM 1 332+ 333+#define HAVE_UINT128_T 1 334+ 335+#define HAVE_UNISTD_H 1 336+ 337+#undef HAVE_UNIX98_PRINTF 338+ 339+#define HAVE_UNSETENV 1 340+ 341+#define HAVE_UTIMES 1 342+ 343+#define HAVE_VALLOC 1 344+ 345+#define HAVE_VALUES_H 1 346+ 347+#define HAVE_VASPRINTF 1 348+ 349+#define HAVE_VSNPRINTF 1 350+ 351+#define HAVE_WCHAR_H 1 352+ 353+#define HAVE_WCHAR_T 1 354+ 355+#define HAVE_WCRTOMB 1 356+ 357+#define HAVE_WCSLEN 1 358+ 359+#define HAVE_WCSNLEN 1 360+ 361+#define HAVE_WINT_T 1 362+ 363+#define HAVE_XATTR 1 364+ 365+#define MAJOR_IN_SYSMACROS 1 366+ 367+#define PACKAGE_BUGREPORT "https://gitlab.gnome.org/GNOME/glib/issues/new" 368+ 369+#define PACKAGE_NAME "glib" 370+ 371+#define PACKAGE_STRING "glib 2.72.2" 372+ 373+#define PACKAGE_TARNAME "glib" 374+ 375+#define PACKAGE_URL "" 376+ 377+#define PACKAGE_VERSION "2.72.2" 378+ 379+#define SIZEOF_CHAR 1 380+ 381+#define SIZEOF_INT 4 382+ 383+#ifdef __LP64__ 384+#define SIZEOF_LONG 8 385+#else 386+#define SIZEOF_LONG 4 387+#endif 388+ 389+#define SIZEOF_LONG_LONG 8 390+ 391+#define SIZEOF_SHORT 2 392+ 393+#ifdef __LP64__ 394+#define SIZEOF_SIZE_T 8 395+ 396+#define SIZEOF_SSIZE_T 8 397+ 398+#define SIZEOF_VOID_P 8 399+#else 400+#define SIZEOF_SIZE_T 4 401+ 402+#define SIZEOF_SSIZE_T 4 403+ 404+#define SIZEOF_VOID_P 4 405+#endif 406+ 407+#define SIZEOF_WCHAR_T 4 408+ 409+#define STATFS_ARGS 2 410+ 411+#ifndef OHOS_OPT_COMPAT 412+/* 413+ * OHOS_OPT_COMPAT.0026 414+ * strerror_r return null in RK platform, resulting in abnormal process 415+ */ 416+#define STRERROR_R_CHAR_P 1 // Defined if strerror_r returns char * 417+#endif 418+ 419+#define THREADS_POSIX 1 420+ 421+#define USE_STATFS 1 422+ 423+#undef USE_SYSTEM_PCRE 424+ 425+#define USE_SYSTEM_PRINTF 426+ 427+#define _GLIB_EXTERN __attribute__((visibility("default"))) extern 428+ 429+#define _GNU_SOURCE 1 430+ 431+#define gl_extern_inline 432+ 433+#define gl_unused 434+ 435diff --git a/gio/gconstructor_as_data.h b/gio/gconstructor_as_data.h 436new file mode 100644 437index 0000000..b447ff5 438--- /dev/null 439+++ b/gio/gconstructor_as_data.h 440@@ -0,0 +1 @@ 441+const char gconstructor_code[] = "\x2f\x2a\x20\x47\x4c\x49\x42\x20\x2d\x20\x4c\x69\x62\x72\x61\x72\x79\x20\x6f\x66\x20\x75\x73\x65\x66\x75\x6c\x20\x72\x6f\x75\x74\x69\x6e\x65\x73\x20\x66\x6f\x72\x20\x43\x20\x70\x72\x6f\x67\x72\x61\x6d\x6d\x69\x6e\x67\x0a\x20\x2a\x20\x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x28\x43\x29\x20\x31\x39\x39\x35\x2d\x31\x39\x39\x37\x20\x20\x50\x65\x74\x65\x72\x20\x4d\x61\x74\x74\x69\x73\x2c\x20\x53\x70\x65\x6e\x63\x65\x72\x20\x4b\x69\x6d\x62\x61\x6c\x6c\x20\x61\x6e\x64\x20\x4a\x6f\x73\x68\x20\x4d\x61\x63\x44\x6f\x6e\x61\x6c\x64\x0a\x20\x2a\x0a\x20\x2a\x20\x54\x68\x69\x73\x20\x6c\x69\x62\x72\x61\x72\x79\x20\x69\x73\x20\x66\x72\x65\x65\x20\x73\x6f\x66\x74\x77\x61\x72\x65\x3b\x20\x79\x6f\x75\x20\x63\x61\x6e\x20\x72\x65\x64\x69\x73\x74\x72\x69\x62\x75\x74\x65\x20\x69\x74\x20\x61\x6e\x64\x2f\x6f\x72\x0a\x20\x2a\x20\x6d\x6f\x64\x69\x66\x79\x20\x69\x74\x20\x75\x6e\x64\x65\x72\x20\x74\x68\x65\x20\x74\x65\x72\x6d\x73\x20\x6f\x66\x20\x74\x68\x65\x20\x47\x4e\x55\x20\x4c\x65\x73\x73\x65\x72\x20\x47\x65\x6e\x65\x72\x61\x6c\x20\x50\x75\x62\x6c\x69\x63\x0a\x20\x2a\x20\x4c\x69\x63\x65\x6e\x73\x65\x20\x61\x73\x20\x70\x75\x62\x6c\x69\x73\x68\x65\x64\x20\x62\x79\x20\x74\x68\x65\x20\x46\x72\x65\x65\x20\x53\x6f\x66\x74\x77\x61\x72\x65\x20\x46\x6f\x75\x6e\x64\x61\x74\x69\x6f\x6e\x3b\x20\x65\x69\x74\x68\x65\x72\x0a\x20\x2a\x20\x76\x65\x72\x73\x69\x6f\x6e\x20\x32\x2e\x31\x20\x6f\x66\x20\x74\x68\x65\x20\x4c\x69\x63\x65\x6e\x73\x65\x2c\x20\x6f\x72\x20\x28\x61\x74\x20\x79\x6f\x75\x72\x20\x6f\x70\x74\x69\x6f\x6e\x29\x20\x61\x6e\x79\x20\x6c\x61\x74\x65\x72\x20\x76\x65\x72\x73\x69\x6f\x6e\x2e\x0a\x20\x2a\x0a\x20\x2a\x20\x54\x68\x69\x73\x20\x6c\x69\x62\x72\x61\x72\x79\x20\x69\x73\x20\x64\x69\x73\x74\x72\x69\x62\x75\x74\x65\x64\x20\x69\x6e\x20\x74\x68\x65\x20\x68\x6f\x70\x65\x20\x74\x68\x61\x74\x20\x69\x74\x20\x77\x69\x6c\x6c\x20\x62\x65\x20\x75\x73\x65\x66\x75\x6c\x2c\x0a\x20\x2a\x20\x62\x75\x74\x20\x57\x49\x54\x48\x4f\x55\x54\x20\x41\x4e\x59\x20\x57\x41\x52\x52\x41\x4e\x54\x59\x3b\x20\x77\x69\x74\x68\x6f\x75\x74\x20\x65\x76\x65\x6e\x20\x74\x68\x65\x20\x69\x6d\x70\x6c\x69\x65\x64\x20\x77\x61\x72\x72\x61\x6e\x74\x79\x20\x6f\x66\x0a\x20\x2a\x20\x4d\x45\x52\x43\x48\x41\x4e\x54\x41\x42\x49\x4c\x49\x54\x59\x20\x6f\x72\x20\x46\x49\x54\x4e\x45\x53\x53\x20\x46\x4f\x52\x20\x41\x20\x50\x41\x52\x54\x49\x43\x55\x4c\x41\x52\x20\x50\x55\x52\x50\x4f\x53\x45\x2e\x09\x20\x53\x65\x65\x20\x74\x68\x65\x20\x47\x4e\x55\x0a\x20\x2a\x20\x4c\x65\x73\x73\x65\x72\x20\x47\x65\x6e\x65\x72\x61\x6c\x20\x50\x75\x62\x6c\x69\x63\x20\x4c\x69\x63\x65\x6e\x73\x65\x20\x66\x6f\x72\x20\x6d\x6f\x72\x65\x20\x64\x65\x74\x61\x69\x6c\x73\x2e\x0a\x20\x2a\x0a\x20\x2a\x20\x59\x6f\x75\x20\x73\x68\x6f\x75\x6c\x64\x20\x68\x61\x76\x65\x20\x72\x65\x63\x65\x69\x76\x65\x64\x20\x61\x20\x63\x6f\x70\x79\x20\x6f\x66\x20\x74\x68\x65\x20\x47\x4e\x55\x20\x4c\x65\x73\x73\x65\x72\x20\x47\x65\x6e\x65\x72\x61\x6c\x20\x50\x75\x62\x6c\x69\x63\x0a\x20\x2a\x20\x4c\x69\x63\x65\x6e\x73\x65\x20\x61\x6c\x6f\x6e\x67\x20\x77\x69\x74\x68\x20\x74\x68\x69\x73\x20\x6c\x69\x62\x72\x61\x72\x79\x3b\x20\x69\x66\x20\x6e\x6f\x74\x2c\x20\x73\x65\x65\x20\x3c\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x67\x6e\x75\x2e\x6f\x72\x67\x2f\x6c\x69\x63\x65\x6e\x73\x65\x73\x2f\x3e\x2e\x0a\x20\x2a\x2f\x0a\x0a\x2f\x2a\x0a\x20\x2a\x20\x4d\x6f\x64\x69\x66\x69\x65\x64\x20\x62\x79\x20\x74\x68\x65\x20\x47\x4c\x69\x62\x20\x54\x65\x61\x6d\x20\x61\x6e\x64\x20\x6f\x74\x68\x65\x72\x73\x20\x31\x39\x39\x37\x2d\x32\x30\x30\x30\x2e\x20\x20\x53\x65\x65\x20\x74\x68\x65\x20\x41\x55\x54\x48\x4f\x52\x53\x0a\x20\x2a\x20\x66\x69\x6c\x65\x20\x66\x6f\x72\x20\x61\x20\x6c\x69\x73\x74\x20\x6f\x66\x20\x70\x65\x6f\x70\x6c\x65\x20\x6f\x6e\x20\x74\x68\x65\x20\x47\x4c\x69\x62\x20\x54\x65\x61\x6d\x2e\x20\x20\x53\x65\x65\x20\x74\x68\x65\x20\x43\x68\x61\x6e\x67\x65\x4c\x6f\x67\x0a\x20\x2a\x20\x66\x69\x6c\x65\x73\x20\x66\x6f\x72\x20\x61\x20\x6c\x69\x73\x74\x20\x6f\x66\x20\x63\x68\x61\x6e\x67\x65\x73\x2e\x20\x20\x54\x68\x65\x73\x65\x20\x66\x69\x6c\x65\x73\x20\x61\x72\x65\x20\x64\x69\x73\x74\x72\x69\x62\x75\x74\x65\x64\x20\x77\x69\x74\x68\x0a\x20\x2a\x20\x47\x4c\x69\x62\x20\x61\x74\x20\x66\x74\x70\x3a\x2f\x2f\x66\x74\x70\x2e\x67\x74\x6b\x2e\x6f\x72\x67\x2f\x70\x75\x62\x2f\x67\x74\x6b\x2f\x2e\x0a\x20\x2a\x2f\x0a\x0a\x23\x69\x66\x6e\x64\x65\x66\x20\x5f\x5f\x47\x5f\x43\x4f\x4e\x53\x54\x52\x55\x43\x54\x4f\x52\x5f\x48\x5f\x5f\x0a\x23\x64\x65\x66\x69\x6e\x65\x20\x5f\x5f\x47\x5f\x43\x4f\x4e\x53\x54\x52\x55\x43\x54\x4f\x52\x5f\x48\x5f\x5f\x0a\x0a\x2f\x2a\x0a\x20\x20\x49\x66\x20\x47\x5f\x48\x41\x53\x5f\x43\x4f\x4e\x53\x54\x52\x55\x43\x54\x4f\x52\x53\x20\x69\x73\x20\x74\x72\x75\x65\x20\x74\x68\x65\x6e\x20\x74\x68\x65\x20\x63\x6f\x6d\x70\x69\x6c\x65\x72\x20\x73\x75\x70\x70\x6f\x72\x74\x20\x2a\x62\x6f\x74\x68\x2a\x20\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72\x73\x20\x61\x6e\x64\x0a\x20\x20\x64\x65\x73\x74\x72\x75\x63\x74\x6f\x72\x73\x2c\x20\x69\x6e\x20\x61\x20\x75\x73\x61\x62\x6c\x65\x20\x77\x61\x79\x2c\x20\x69\x6e\x63\x6c\x75\x64\x69\x6e\x67\x20\x65\x2e\x67\x2e\x20\x6f\x6e\x20\x6c\x69\x62\x72\x61\x72\x79\x20\x75\x6e\x6c\x6f\x61\x64\x2e\x20\x49\x66\x20\x6e\x6f\x74\x20\x79\x6f\x75\x27\x72\x65\x20\x6f\x6e\x0a\x20\x20\x79\x6f\x75\x72\x20\x6f\x77\x6e\x2e\x0a\x0a\x20\x20\x53\x6f\x6d\x65\x20\x63\x6f\x6d\x70\x69\x6c\x65\x72\x73\x20\x6e\x65\x65\x64\x20\x23\x70\x72\x61\x67\x6d\x61\x20\x74\x6f\x20\x68\x61\x6e\x64\x6c\x65\x20\x74\x68\x69\x73\x2c\x20\x77\x68\x69\x63\x68\x20\x64\x6f\x65\x73\x20\x6e\x6f\x74\x20\x77\x6f\x72\x6b\x20\x77\x69\x74\x68\x20\x6d\x61\x63\x72\x6f\x73\x2c\x0a\x20\x20\x73\x6f\x20\x74\x68\x65\x20\x77\x61\x79\x20\x79\x6f\x75\x20\x6e\x65\x65\x64\x20\x74\x6f\x20\x75\x73\x65\x20\x74\x68\x69\x73\x20\x69\x73\x20\x28\x66\x6f\x72\x20\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72\x73\x29\x3a\x0a\x0a\x20\x20\x23\x69\x66\x64\x65\x66\x20\x47\x5f\x44\x45\x46\x49\x4e\x45\x5f\x43\x4f\x4e\x53\x54\x52\x55\x43\x54\x4f\x52\x5f\x4e\x45\x45\x44\x53\x5f\x50\x52\x41\x47\x4d\x41\x0a\x20\x20\x23\x70\x72\x61\x67\x6d\x61\x20\x47\x5f\x44\x45\x46\x49\x4e\x45\x5f\x43\x4f\x4e\x53\x54\x52\x55\x43\x54\x4f\x52\x5f\x50\x52\x41\x47\x4d\x41\x5f\x41\x52\x47\x53\x28\x6d\x79\x5f\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72\x29\x0a\x20\x20\x23\x65\x6e\x64\x69\x66\x0a\x20\x20\x47\x5f\x44\x45\x46\x49\x4e\x45\x5f\x43\x4f\x4e\x53\x54\x52\x55\x43\x54\x4f\x52\x28\x6d\x79\x5f\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72\x29\x0a\x20\x20\x73\x74\x61\x74\x69\x63\x20\x76\x6f\x69\x64\x20\x6d\x79\x5f\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72\x28\x76\x6f\x69\x64\x29\x20\x7b\x0a\x20\x20\x20\x2e\x2e\x2e\x0a\x20\x20\x7d\x0a\x0a\x2a\x2f\x0a\x0a\x23\x69\x66\x6e\x64\x65\x66\x20\x5f\x5f\x47\x54\x4b\x5f\x44\x4f\x43\x5f\x49\x47\x4e\x4f\x52\x45\x5f\x5f\x0a\x0a\x23\x69\x66\x20\x20\x5f\x5f\x47\x4e\x55\x43\x5f\x5f\x20\x3e\x20\x32\x20\x7c\x7c\x20\x28\x5f\x5f\x47\x4e\x55\x43\x5f\x5f\x20\x3d\x3d\x20\x32\x20\x26\x26\x20\x5f\x5f\x47\x4e\x55\x43\x5f\x4d\x49\x4e\x4f\x52\x5f\x5f\x20\x3e\x3d\x20\x37\x29\x0a\x0a\x23\x64\x65\x66\x69\x6e\x65\x20\x47\x5f\x48\x41\x53\x5f\x43\x4f\x4e\x53\x54\x52\x55\x43\x54\x4f\x52\x53\x20\x31\x0a\x0a\x23\x64\x65\x66\x69\x6e\x65\x20\x47\x5f\x44\x45\x46\x49\x4e\x45\x5f\x43\x4f\x4e\x53\x54\x52\x55\x43\x54\x4f\x52\x28\x5f\x66\x75\x6e\x63\x29\x20\x73\x74\x61\x74\x69\x63\x20\x76\x6f\x69\x64\x20\x5f\x5f\x61\x74\x74\x72\x69\x62\x75\x74\x65\x5f\x5f\x28\x28\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72\x29\x29\x20\x5f\x66\x75\x6e\x63\x20\x28\x76\x6f\x69\x64\x29\x3b\x0a\x23\x64\x65\x66\x69\x6e\x65\x20\x47\x5f\x44\x45\x46\x49\x4e\x45\x5f\x44\x45\x53\x54\x52\x55\x43\x54\x4f\x52\x28\x5f\x66\x75\x6e\x63\x29\x20\x73\x74\x61\x74\x69\x63\x20\x76\x6f\x69\x64\x20\x5f\x5f\x61\x74\x74\x72\x69\x62\x75\x74\x65\x5f\x5f\x28\x28\x64\x65\x73\x74\x72\x75\x63\x74\x6f\x72\x29\x29\x20\x5f\x66\x75\x6e\x63\x20\x28\x76\x6f\x69\x64\x29\x3b\x0a\x0a\x23\x65\x6c\x69\x66\x20\x64\x65\x66\x69\x6e\x65\x64\x20\x28\x5f\x4d\x53\x43\x5f\x56\x45\x52\x29\x20\x26\x26\x20\x28\x5f\x4d\x53\x43\x5f\x56\x45\x52\x20\x3e\x3d\x20\x31\x35\x30\x30\x29\x0a\x2f\x2a\x20\x56\x69\x73\x75\x61\x6c\x20\x73\x74\x75\x64\x69\x6f\x20\x32\x30\x30\x38\x20\x61\x6e\x64\x20\x6c\x61\x74\x65\x72\x20\x68\x61\x73\x20\x5f\x50\x72\x61\x67\x6d\x61\x20\x2a\x2f\x0a\x0a\x2f\x2a\x0a\x20\x2a\x20\x4f\x6e\x6c\x79\x20\x74\x72\x79\x20\x74\x6f\x20\x69\x6e\x63\x6c\x75\x64\x65\x20\x67\x73\x6c\x69\x73\x74\x2e\x68\x20\x69\x66\x20\x6e\x6f\x74\x20\x61\x6c\x72\x65\x61\x64\x79\x20\x69\x6e\x63\x6c\x75\x64\x65\x64\x20\x76\x69\x61\x20\x67\x6c\x69\x62\x2e\x68\x2c\x0a\x20\x2a\x20\x73\x6f\x20\x74\x68\x61\x74\x20\x69\x74\x65\x6d\x73\x20\x75\x73\x69\x6e\x67\x20\x67\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72\x2e\x68\x20\x6f\x75\x74\x73\x69\x64\x65\x20\x6f\x66\x20\x47\x4c\x69\x62\x20\x28\x73\x75\x63\x68\x20\x61\x73\x0a\x20\x2a\x20\x47\x52\x65\x73\x6f\x75\x72\x63\x65\x73\x29\x20\x63\x6f\x6e\x74\x69\x6e\x75\x65\x20\x74\x6f\x20\x62\x75\x69\x6c\x64\x20\x70\x72\x6f\x70\x65\x72\x6c\x79\x2e\x0a\x20\x2a\x2f\x0a\x23\x69\x66\x6e\x64\x65\x66\x20\x5f\x5f\x47\x5f\x4c\x49\x42\x5f\x48\x5f\x5f\x0a\x23\x69\x6e\x63\x6c\x75\x64\x65\x20\x22\x67\x73\x6c\x69\x73\x74\x2e\x68\x22\x0a\x23\x65\x6e\x64\x69\x66\x0a\x0a\x23\x69\x6e\x63\x6c\x75\x64\x65\x20\x3c\x73\x74\x64\x6c\x69\x62\x2e\x68\x3e\x0a\x0a\x23\x64\x65\x66\x69\x6e\x65\x20\x47\x5f\x48\x41\x53\x5f\x43\x4f\x4e\x53\x54\x52\x55\x43\x54\x4f\x52\x53\x20\x31\x0a\x0a\x2f\x2a\x20\x57\x65\x20\x64\x6f\x20\x73\x6f\x6d\x65\x20\x77\x65\x69\x72\x64\x20\x74\x68\x69\x6e\x67\x73\x20\x74\x6f\x20\x61\x76\x6f\x69\x64\x20\x74\x68\x65\x20\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72\x73\x20\x62\x65\x69\x6e\x67\x20\x6f\x70\x74\x69\x6d\x69\x7a\x65\x64\x0a\x20\x2a\x20\x61\x77\x61\x79\x20\x6f\x6e\x20\x56\x53\x32\x30\x31\x35\x20\x69\x66\x20\x57\x68\x6f\x6c\x65\x50\x72\x6f\x67\x72\x61\x6d\x4f\x70\x74\x69\x6d\x69\x7a\x61\x74\x69\x6f\x6e\x20\x69\x73\x20\x65\x6e\x61\x62\x6c\x65\x64\x2e\x20\x46\x69\x72\x73\x74\x20\x77\x65\x0a\x20\x2a\x20\x6d\x61\x6b\x65\x20\x61\x20\x72\x65\x66\x65\x72\x65\x6e\x63\x65\x20\x74\x6f\x20\x74\x68\x65\x20\x61\x72\x72\x61\x79\x20\x66\x72\x6f\x6d\x20\x74\x68\x65\x20\x77\x72\x61\x70\x70\x65\x72\x20\x74\x6f\x20\x6d\x61\x6b\x65\x20\x73\x75\x72\x65\x20\x69\x74\x73\x0a\x20\x2a\x20\x72\x65\x66\x65\x72\x65\x6e\x63\x65\x73\x2e\x20\x54\x68\x65\x6e\x20\x77\x65\x20\x75\x73\x65\x20\x61\x20\x70\x72\x61\x67\x6d\x61\x20\x74\x6f\x20\x6d\x61\x6b\x65\x20\x73\x75\x72\x65\x20\x74\x68\x65\x20\x77\x72\x61\x70\x70\x65\x72\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x0a\x20\x2a\x20\x73\x79\x6d\x62\x6f\x6c\x20\x69\x73\x20\x61\x6c\x77\x61\x79\x73\x20\x69\x6e\x63\x6c\x75\x64\x65\x64\x20\x61\x74\x20\x74\x68\x65\x20\x6c\x69\x6e\x6b\x20\x73\x74\x61\x67\x65\x2e\x20\x41\x6c\x73\x6f\x2c\x20\x74\x68\x65\x20\x73\x79\x6d\x62\x6f\x6c\x73\x0a\x20\x2a\x20\x6e\x65\x65\x64\x20\x74\x6f\x20\x62\x65\x20\x65\x78\x74\x65\x72\x6e\x20\x28\x62\x75\x74\x20\x6e\x6f\x74\x20\x64\x6c\x6c\x65\x78\x70\x6f\x72\x74\x29\x2c\x20\x65\x76\x65\x6e\x20\x74\x68\x6f\x75\x67\x68\x20\x74\x68\x65\x79\x20\x61\x72\x65\x20\x6e\x6f\x74\x0a\x20\x2a\x20\x72\x65\x61\x6c\x6c\x79\x20\x75\x73\x65\x64\x20\x66\x72\x6f\x6d\x20\x61\x6e\x6f\x74\x68\x65\x72\x20\x6f\x62\x6a\x65\x63\x74\x20\x66\x69\x6c\x65\x2e\x0a\x20\x2a\x2f\x0a\x0a\x2f\x2a\x20\x57\x65\x20\x6e\x65\x65\x64\x20\x74\x6f\x20\x61\x63\x63\x6f\x75\x6e\x74\x20\x66\x6f\x72\x20\x64\x69\x66\x66\x65\x72\x65\x6e\x63\x65\x73\x20\x62\x65\x74\x77\x65\x65\x6e\x20\x74\x68\x65\x20\x6d\x61\x6e\x67\x6c\x69\x6e\x67\x20\x6f\x66\x20\x73\x79\x6d\x62\x6f\x6c\x73\x0a\x20\x2a\x20\x66\x6f\x72\x20\x78\x38\x36\x20\x61\x6e\x64\x20\x78\x36\x34\x2f\x41\x52\x4d\x2f\x41\x52\x4d\x36\x34\x20\x70\x72\x6f\x67\x72\x61\x6d\x73\x2c\x20\x61\x73\x20\x73\x79\x6d\x62\x6f\x6c\x73\x20\x6f\x6e\x20\x78\x38\x36\x20\x61\x72\x65\x20\x70\x72\x65\x66\x69\x78\x65\x64\x0a\x20\x2a\x20\x77\x69\x74\x68\x20\x61\x6e\x20\x75\x6e\x64\x65\x72\x73\x63\x6f\x72\x65\x20\x62\x75\x74\x20\x73\x79\x6d\x62\x6f\x6c\x73\x20\x6f\x6e\x20\x78\x36\x34\x2f\x41\x52\x4d\x2f\x41\x52\x4d\x36\x34\x20\x61\x72\x65\x20\x6e\x6f\x74\x2e\x0a\x20\x2a\x2f\x0a\x23\x69\x66\x64\x65\x66\x20\x5f\x4d\x5f\x49\x58\x38\x36\x0a\x23\x64\x65\x66\x69\x6e\x65\x20\x47\x5f\x4d\x53\x56\x43\x5f\x53\x59\x4d\x42\x4f\x4c\x5f\x50\x52\x45\x46\x49\x58\x20\x22\x5f\x22\x0a\x23\x65\x6c\x73\x65\x0a\x23\x64\x65\x66\x69\x6e\x65\x20\x47\x5f\x4d\x53\x56\x43\x5f\x53\x59\x4d\x42\x4f\x4c\x5f\x50\x52\x45\x46\x49\x58\x20\x22\x22\x0a\x23\x65\x6e\x64\x69\x66\x0a\x0a\x23\x64\x65\x66\x69\x6e\x65\x20\x47\x5f\x44\x45\x46\x49\x4e\x45\x5f\x43\x4f\x4e\x53\x54\x52\x55\x43\x54\x4f\x52\x28\x5f\x66\x75\x6e\x63\x29\x20\x47\x5f\x4d\x53\x56\x43\x5f\x43\x54\x4f\x52\x20\x28\x5f\x66\x75\x6e\x63\x2c\x20\x47\x5f\x4d\x53\x56\x43\x5f\x53\x59\x4d\x42\x4f\x4c\x5f\x50\x52\x45\x46\x49\x58\x29\x0a\x23\x64\x65\x66\x69\x6e\x65\x20\x47\x5f\x44\x45\x46\x49\x4e\x45\x5f\x44\x45\x53\x54\x52\x55\x43\x54\x4f\x52\x28\x5f\x66\x75\x6e\x63\x29\x20\x47\x5f\x4d\x53\x56\x43\x5f\x44\x54\x4f\x52\x20\x28\x5f\x66\x75\x6e\x63\x2c\x20\x47\x5f\x4d\x53\x56\x43\x5f\x53\x59\x4d\x42\x4f\x4c\x5f\x50\x52\x45\x46\x49\x58\x29\x0a\x0a\x23\x64\x65\x66\x69\x6e\x65\x20\x47\x5f\x4d\x53\x56\x43\x5f\x43\x54\x4f\x52\x28\x5f\x66\x75\x6e\x63\x2c\x5f\x73\x79\x6d\x5f\x70\x72\x65\x66\x69\x78\x29\x20\x5c\x0a\x20\x20\x73\x74\x61\x74\x69\x63\x20\x76\x6f\x69\x64\x20\x5f\x66\x75\x6e\x63\x28\x76\x6f\x69\x64\x29\x3b\x20\x5c\x0a\x20\x20\x65\x78\x74\x65\x72\x6e\x20\x69\x6e\x74\x20\x28\x2a\x20\x5f\x61\x72\x72\x61\x79\x20\x23\x23\x20\x5f\x66\x75\x6e\x63\x29\x28\x76\x6f\x69\x64\x29\x3b\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x5c\x0a\x20\x20\x69\x6e\x74\x20\x5f\x66\x75\x6e\x63\x20\x23\x23\x20\x5f\x77\x72\x61\x70\x70\x65\x72\x28\x76\x6f\x69\x64\x29\x20\x7b\x20\x5f\x66\x75\x6e\x63\x28\x29\x3b\x20\x67\x5f\x73\x6c\x69\x73\x74\x5f\x66\x69\x6e\x64\x20\x28\x4e\x55\x4c\x4c\x2c\x20\x20\x5f\x61\x72\x72\x61\x79\x20\x23\x23\x20\x5f\x66\x75\x6e\x63\x29\x3b\x20\x72\x65\x74\x75\x72\x6e\x20\x30\x3b\x20\x7d\x20\x5c\x0a\x20\x20\x5f\x5f\x70\x72\x61\x67\x6d\x61\x28\x63\x6f\x6d\x6d\x65\x6e\x74\x28\x6c\x69\x6e\x6b\x65\x72\x2c\x22\x2f\x69\x6e\x63\x6c\x75\x64\x65\x3a\x22\x20\x5f\x73\x79\x6d\x5f\x70\x72\x65\x66\x69\x78\x20\x23\x20\x5f\x66\x75\x6e\x63\x20\x22\x5f\x77\x72\x61\x70\x70\x65\x72\x22\x29\x29\x20\x5c\x0a\x20\x20\x5f\x5f\x70\x72\x61\x67\x6d\x61\x28\x73\x65\x63\x74\x69\x6f\x6e\x28\x22\x2e\x43\x52\x54\x24\x58\x43\x55\x22\x2c\x72\x65\x61\x64\x29\x29\x20\x5c\x0a\x20\x20\x5f\x5f\x64\x65\x63\x6c\x73\x70\x65\x63\x28\x61\x6c\x6c\x6f\x63\x61\x74\x65\x28\x22\x2e\x43\x52\x54\x24\x58\x43\x55\x22\x29\x29\x20\x69\x6e\x74\x20\x28\x2a\x20\x5f\x61\x72\x72\x61\x79\x20\x23\x23\x20\x5f\x66\x75\x6e\x63\x29\x28\x76\x6f\x69\x64\x29\x20\x3d\x20\x5f\x66\x75\x6e\x63\x20\x23\x23\x20\x5f\x77\x72\x61\x70\x70\x65\x72\x3b\x0a\x0a\x23\x64\x65\x66\x69\x6e\x65\x20\x47\x5f\x4d\x53\x56\x43\x5f\x44\x54\x4f\x52\x28\x5f\x66\x75\x6e\x63\x2c\x5f\x73\x79\x6d\x5f\x70\x72\x65\x66\x69\x78\x29\x20\x5c\x0a\x20\x20\x73\x74\x61\x74\x69\x63\x20\x76\x6f\x69\x64\x20\x5f\x66\x75\x6e\x63\x28\x76\x6f\x69\x64\x29\x3b\x20\x5c\x0a\x20\x20\x65\x78\x74\x65\x72\x6e\x20\x69\x6e\x74\x20\x28\x2a\x20\x5f\x61\x72\x72\x61\x79\x20\x23\x23\x20\x5f\x66\x75\x6e\x63\x29\x28\x76\x6f\x69\x64\x29\x3b\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x5c\x0a\x20\x20\x69\x6e\x74\x20\x5f\x66\x75\x6e\x63\x20\x23\x23\x20\x5f\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72\x28\x76\x6f\x69\x64\x29\x20\x7b\x20\x61\x74\x65\x78\x69\x74\x20\x28\x5f\x66\x75\x6e\x63\x29\x3b\x20\x67\x5f\x73\x6c\x69\x73\x74\x5f\x66\x69\x6e\x64\x20\x28\x4e\x55\x4c\x4c\x2c\x20\x20\x5f\x61\x72\x72\x61\x79\x20\x23\x23\x20\x5f\x66\x75\x6e\x63\x29\x3b\x20\x72\x65\x74\x75\x72\x6e\x20\x30\x3b\x20\x7d\x20\x5c\x0a\x20\x20\x20\x5f\x5f\x70\x72\x61\x67\x6d\x61\x28\x63\x6f\x6d\x6d\x65\x6e\x74\x28\x6c\x69\x6e\x6b\x65\x72\x2c\x22\x2f\x69\x6e\x63\x6c\x75\x64\x65\x3a\x22\x20\x5f\x73\x79\x6d\x5f\x70\x72\x65\x66\x69\x78\x20\x23\x20\x5f\x66\x75\x6e\x63\x20\x22\x5f\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72\x22\x29\x29\x20\x5c\x0a\x20\x20\x5f\x5f\x70\x72\x61\x67\x6d\x61\x28\x73\x65\x63\x74\x69\x6f\x6e\x28\x22\x2e\x43\x52\x54\x24\x58\x43\x55\x22\x2c\x72\x65\x61\x64\x29\x29\x20\x5c\x0a\x20\x20\x5f\x5f\x64\x65\x63\x6c\x73\x70\x65\x63\x28\x61\x6c\x6c\x6f\x63\x61\x74\x65\x28\x22\x2e\x43\x52\x54\x24\x58\x43\x55\x22\x29\x29\x20\x69\x6e\x74\x20\x28\x2a\x20\x5f\x61\x72\x72\x61\x79\x20\x23\x23\x20\x5f\x66\x75\x6e\x63\x29\x28\x76\x6f\x69\x64\x29\x20\x3d\x20\x5f\x66\x75\x6e\x63\x20\x23\x23\x20\x5f\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72\x3b\x0a\x0a\x23\x65\x6c\x69\x66\x20\x64\x65\x66\x69\x6e\x65\x64\x20\x28\x5f\x4d\x53\x43\x5f\x56\x45\x52\x29\x0a\x0a\x23\x64\x65\x66\x69\x6e\x65\x20\x47\x5f\x48\x41\x53\x5f\x43\x4f\x4e\x53\x54\x52\x55\x43\x54\x4f\x52\x53\x20\x31\x0a\x0a\x2f\x2a\x20\x50\x72\x65\x20\x56\x69\x73\x75\x61\x6c\x20\x73\x74\x75\x64\x69\x6f\x20\x32\x30\x30\x38\x20\x6d\x75\x73\x74\x20\x75\x73\x65\x20\x23\x70\x72\x61\x67\x6d\x61\x20\x73\x65\x63\x74\x69\x6f\x6e\x20\x2a\x2f\x0a\x23\x64\x65\x66\x69\x6e\x65\x20\x47\x5f\x44\x45\x46\x49\x4e\x45\x5f\x43\x4f\x4e\x53\x54\x52\x55\x43\x54\x4f\x52\x5f\x4e\x45\x45\x44\x53\x5f\x50\x52\x41\x47\x4d\x41\x20\x31\x0a\x23\x64\x65\x66\x69\x6e\x65\x20\x47\x5f\x44\x45\x46\x49\x4e\x45\x5f\x44\x45\x53\x54\x52\x55\x43\x54\x4f\x52\x5f\x4e\x45\x45\x44\x53\x5f\x50\x52\x41\x47\x4d\x41\x20\x31\x0a\x0a\x23\x64\x65\x66\x69\x6e\x65\x20\x47\x5f\x44\x45\x46\x49\x4e\x45\x5f\x43\x4f\x4e\x53\x54\x52\x55\x43\x54\x4f\x52\x5f\x50\x52\x41\x47\x4d\x41\x5f\x41\x52\x47\x53\x28\x5f\x66\x75\x6e\x63\x29\x20\x5c\x0a\x20\x20\x73\x65\x63\x74\x69\x6f\x6e\x28\x22\x2e\x43\x52\x54\x24\x58\x43\x55\x22\x2c\x72\x65\x61\x64\x29\x0a\x23\x64\x65\x66\x69\x6e\x65\x20\x47\x5f\x44\x45\x46\x49\x4e\x45\x5f\x43\x4f\x4e\x53\x54\x52\x55\x43\x54\x4f\x52\x28\x5f\x66\x75\x6e\x63\x29\x20\x5c\x0a\x20\x20\x73\x74\x61\x74\x69\x63\x20\x76\x6f\x69\x64\x20\x5f\x66\x75\x6e\x63\x28\x76\x6f\x69\x64\x29\x3b\x20\x5c\x0a\x20\x20\x73\x74\x61\x74\x69\x63\x20\x69\x6e\x74\x20\x5f\x66\x75\x6e\x63\x20\x23\x23\x20\x5f\x77\x72\x61\x70\x70\x65\x72\x28\x76\x6f\x69\x64\x29\x20\x7b\x20\x5f\x66\x75\x6e\x63\x28\x29\x3b\x20\x72\x65\x74\x75\x72\x6e\x20\x30\x3b\x20\x7d\x20\x5c\x0a\x20\x20\x5f\x5f\x64\x65\x63\x6c\x73\x70\x65\x63\x28\x61\x6c\x6c\x6f\x63\x61\x74\x65\x28\x22\x2e\x43\x52\x54\x24\x58\x43\x55\x22\x29\x29\x20\x73\x74\x61\x74\x69\x63\x20\x69\x6e\x74\x20\x28\x2a\x70\x29\x28\x76\x6f\x69\x64\x29\x20\x3d\x20\x5f\x66\x75\x6e\x63\x20\x23\x23\x20\x5f\x77\x72\x61\x70\x70\x65\x72\x3b\x0a\x0a\x23\x64\x65\x66\x69\x6e\x65\x20\x47\x5f\x44\x45\x46\x49\x4e\x45\x5f\x44\x45\x53\x54\x52\x55\x43\x54\x4f\x52\x5f\x50\x52\x41\x47\x4d\x41\x5f\x41\x52\x47\x53\x28\x5f\x66\x75\x6e\x63\x29\x20\x5c\x0a\x20\x20\x73\x65\x63\x74\x69\x6f\x6e\x28\x22\x2e\x43\x52\x54\x24\x58\x43\x55\x22\x2c\x72\x65\x61\x64\x29\x0a\x23\x64\x65\x66\x69\x6e\x65\x20\x47\x5f\x44\x45\x46\x49\x4e\x45\x5f\x44\x45\x53\x54\x52\x55\x43\x54\x4f\x52\x28\x5f\x66\x75\x6e\x63\x29\x20\x5c\x0a\x20\x20\x73\x74\x61\x74\x69\x63\x20\x76\x6f\x69\x64\x20\x5f\x66\x75\x6e\x63\x28\x76\x6f\x69\x64\x29\x3b\x20\x5c\x0a\x20\x20\x73\x74\x61\x74\x69\x63\x20\x69\x6e\x74\x20\x5f\x66\x75\x6e\x63\x20\x23\x23\x20\x5f\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72\x28\x76\x6f\x69\x64\x29\x20\x7b\x20\x61\x74\x65\x78\x69\x74\x20\x28\x5f\x66\x75\x6e\x63\x29\x3b\x20\x72\x65\x74\x75\x72\x6e\x20\x30\x3b\x20\x7d\x20\x5c\x0a\x20\x20\x5f\x5f\x64\x65\x63\x6c\x73\x70\x65\x63\x28\x61\x6c\x6c\x6f\x63\x61\x74\x65\x28\x22\x2e\x43\x52\x54\x24\x58\x43\x55\x22\x29\x29\x20\x73\x74\x61\x74\x69\x63\x20\x69\x6e\x74\x20\x28\x2a\x20\x5f\x61\x72\x72\x61\x79\x20\x23\x23\x20\x5f\x66\x75\x6e\x63\x29\x28\x76\x6f\x69\x64\x29\x20\x3d\x20\x5f\x66\x75\x6e\x63\x20\x23\x23\x20\x5f\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72\x3b\x0a\x0a\x23\x65\x6c\x69\x66\x20\x64\x65\x66\x69\x6e\x65\x64\x28\x5f\x5f\x53\x55\x4e\x50\x52\x4f\x5f\x43\x29\x0a\x0a\x2f\x2a\x20\x54\x68\x69\x73\x20\x69\x73\x20\x6e\x6f\x74\x20\x74\x65\x73\x74\x65\x64\x2c\x20\x62\x75\x74\x20\x69\x20\x62\x65\x6c\x69\x65\x76\x65\x20\x69\x74\x20\x73\x68\x6f\x75\x6c\x64\x20\x77\x6f\x72\x6b\x2c\x20\x62\x61\x73\x65\x64\x20\x6f\x6e\x3a\x0a\x20\x2a\x20\x68\x74\x74\x70\x3a\x2f\x2f\x6f\x70\x65\x6e\x73\x6f\x75\x72\x63\x65\x2e\x61\x70\x70\x6c\x65\x2e\x63\x6f\x6d\x2f\x73\x6f\x75\x72\x63\x65\x2f\x4f\x70\x65\x6e\x53\x53\x4c\x30\x39\x38\x2f\x4f\x70\x65\x6e\x53\x53\x4c\x30\x39\x38\x2d\x33\x35\x2f\x73\x72\x63\x2f\x66\x69\x70\x73\x2f\x66\x69\x70\x73\x5f\x70\x72\x65\x6d\x61\x69\x6e\x2e\x63\x0a\x20\x2a\x2f\x0a\x0a\x23\x64\x65\x66\x69\x6e\x65\x20\x47\x5f\x48\x41\x53\x5f\x43\x4f\x4e\x53\x54\x52\x55\x43\x54\x4f\x52\x53\x20\x31\x0a\x0a\x23\x64\x65\x66\x69\x6e\x65\x20\x47\x5f\x44\x45\x46\x49\x4e\x45\x5f\x43\x4f\x4e\x53\x54\x52\x55\x43\x54\x4f\x52\x5f\x4e\x45\x45\x44\x53\x5f\x50\x52\x41\x47\x4d\x41\x20\x31\x0a\x23\x64\x65\x66\x69\x6e\x65\x20\x47\x5f\x44\x45\x46\x49\x4e\x45\x5f\x44\x45\x53\x54\x52\x55\x43\x54\x4f\x52\x5f\x4e\x45\x45\x44\x53\x5f\x50\x52\x41\x47\x4d\x41\x20\x31\x0a\x0a\x23\x64\x65\x66\x69\x6e\x65\x20\x47\x5f\x44\x45\x46\x49\x4e\x45\x5f\x43\x4f\x4e\x53\x54\x52\x55\x43\x54\x4f\x52\x5f\x50\x52\x41\x47\x4d\x41\x5f\x41\x52\x47\x53\x28\x5f\x66\x75\x6e\x63\x29\x20\x5c\x0a\x20\x20\x69\x6e\x69\x74\x28\x5f\x66\x75\x6e\x63\x29\x0a\x23\x64\x65\x66\x69\x6e\x65\x20\x47\x5f\x44\x45\x46\x49\x4e\x45\x5f\x43\x4f\x4e\x53\x54\x52\x55\x43\x54\x4f\x52\x28\x5f\x66\x75\x6e\x63\x29\x20\x5c\x0a\x20\x20\x73\x74\x61\x74\x69\x63\x20\x76\x6f\x69\x64\x20\x5f\x66\x75\x6e\x63\x28\x76\x6f\x69\x64\x29\x3b\x0a\x0a\x23\x64\x65\x66\x69\x6e\x65\x20\x47\x5f\x44\x45\x46\x49\x4e\x45\x5f\x44\x45\x53\x54\x52\x55\x43\x54\x4f\x52\x5f\x50\x52\x41\x47\x4d\x41\x5f\x41\x52\x47\x53\x28\x5f\x66\x75\x6e\x63\x29\x20\x5c\x0a\x20\x20\x66\x69\x6e\x69\x28\x5f\x66\x75\x6e\x63\x29\x0a\x23\x64\x65\x66\x69\x6e\x65\x20\x47\x5f\x44\x45\x46\x49\x4e\x45\x5f\x44\x45\x53\x54\x52\x55\x43\x54\x4f\x52\x28\x5f\x66\x75\x6e\x63\x29\x20\x5c\x0a\x20\x20\x73\x74\x61\x74\x69\x63\x20\x76\x6f\x69\x64\x20\x5f\x66\x75\x6e\x63\x28\x76\x6f\x69\x64\x29\x3b\x0a\x0a\x23\x65\x6c\x73\x65\x0a\x0a\x2f\x2a\x20\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72\x73\x20\x6e\x6f\x74\x20\x73\x75\x70\x70\x6f\x72\x74\x65\x64\x20\x66\x6f\x72\x20\x74\x68\x69\x73\x20\x63\x6f\x6d\x70\x69\x6c\x65\x72\x20\x2a\x2f\x0a\x0a\x23\x65\x6e\x64\x69\x66\x0a\x0a\x23\x65\x6e\x64\x69\x66\x20\x2f\x2a\x20\x5f\x5f\x47\x54\x4b\x5f\x44\x4f\x43\x5f\x49\x47\x4e\x4f\x52\x45\x5f\x5f\x20\x2a\x2f\x0a\x23\x65\x6e\x64\x69\x66\x20\x2f\x2a\x20\x5f\x5f\x47\x5f\x43\x4f\x4e\x53\x54\x52\x55\x43\x54\x4f\x52\x5f\x48\x5f\x5f\x20\x2a\x2f\x0a"; 442diff --git a/gio/gdbus-daemon-generated.c b/gio/gdbus-daemon-generated.c 443new file mode 100644 444index 0000000..24706b6 445--- /dev/null 446+++ b/gio/gdbus-daemon-generated.c 447@@ -0,0 +1,4339 @@ 448+/* 449+ * This file is generated by gdbus-codegen, do not modify it. 450+ * 451+ * The license of this code is the same as for the D-Bus interface description 452+ * it was derived from. Note that it links to GLib, so must comply with the 453+ * LGPL linking clauses. 454+ */ 455+ 456+#ifdef HAVE_CONFIG_H 457+# include "config.h" 458+#endif 459+ 460+#include "gdbus-daemon-generated.h" 461+ 462+#include <string.h> 463+#ifdef G_OS_UNIX 464+# include <gio/gunixfdlist.h> 465+#endif 466+ 467+typedef struct 468+{ 469+ GDBusArgInfo parent_struct; 470+ gboolean use_gvariant; 471+} _ExtendedGDBusArgInfo; 472+ 473+typedef struct 474+{ 475+ GDBusMethodInfo parent_struct; 476+ const gchar *signal_name; 477+ gboolean pass_fdlist; 478+} _ExtendedGDBusMethodInfo; 479+ 480+typedef struct 481+{ 482+ GDBusSignalInfo parent_struct; 483+ const gchar *signal_name; 484+} _ExtendedGDBusSignalInfo; 485+ 486+typedef struct 487+{ 488+ GDBusPropertyInfo parent_struct; 489+ const gchar *hyphen_name; 490+ guint use_gvariant : 1; 491+ guint emits_changed_signal : 1; 492+} _ExtendedGDBusPropertyInfo; 493+ 494+typedef struct 495+{ 496+ GDBusInterfaceInfo parent_struct; 497+ const gchar *hyphen_name; 498+} _ExtendedGDBusInterfaceInfo; 499+ 500+typedef struct 501+{ 502+ const _ExtendedGDBusPropertyInfo *info; 503+ guint prop_id; 504+ GValue orig_value; /* the value before the change */ 505+} ChangedProperty; 506+ 507+static void 508+_changed_property_free (ChangedProperty *data) 509+{ 510+ g_value_unset (&data->orig_value); 511+ g_free (data); 512+} 513+ 514+static gboolean 515+_g_strv_equal0 (gchar **a, gchar **b) 516+{ 517+ gboolean ret = FALSE; 518+ guint n; 519+ if (a == NULL && b == NULL) 520+ { 521+ ret = TRUE; 522+ goto out; 523+ } 524+ if (a == NULL || b == NULL) 525+ goto out; 526+ if (g_strv_length (a) != g_strv_length (b)) 527+ goto out; 528+ for (n = 0; a[n] != NULL; n++) 529+ if (g_strcmp0 (a[n], b[n]) != 0) 530+ goto out; 531+ ret = TRUE; 532+out: 533+ return ret; 534+} 535+ 536+static gboolean 537+_g_variant_equal0 (GVariant *a, GVariant *b) 538+{ 539+ gboolean ret = FALSE; 540+ if (a == NULL && b == NULL) 541+ { 542+ ret = TRUE; 543+ goto out; 544+ } 545+ if (a == NULL || b == NULL) 546+ goto out; 547+ ret = g_variant_equal (a, b); 548+out: 549+ return ret; 550+} 551+ 552+G_GNUC_UNUSED static gboolean 553+_g_value_equal (const GValue *a, const GValue *b) 554+{ 555+ gboolean ret = FALSE; 556+ g_assert (G_VALUE_TYPE (a) == G_VALUE_TYPE (b)); 557+ switch (G_VALUE_TYPE (a)) 558+ { 559+ case G_TYPE_BOOLEAN: 560+ ret = (g_value_get_boolean (a) == g_value_get_boolean (b)); 561+ break; 562+ case G_TYPE_UCHAR: 563+ ret = (g_value_get_uchar (a) == g_value_get_uchar (b)); 564+ break; 565+ case G_TYPE_INT: 566+ ret = (g_value_get_int (a) == g_value_get_int (b)); 567+ break; 568+ case G_TYPE_UINT: 569+ ret = (g_value_get_uint (a) == g_value_get_uint (b)); 570+ break; 571+ case G_TYPE_INT64: 572+ ret = (g_value_get_int64 (a) == g_value_get_int64 (b)); 573+ break; 574+ case G_TYPE_UINT64: 575+ ret = (g_value_get_uint64 (a) == g_value_get_uint64 (b)); 576+ break; 577+ case G_TYPE_DOUBLE: 578+ { 579+ /* Avoid -Wfloat-equal warnings by doing a direct bit compare */ 580+ gdouble da = g_value_get_double (a); 581+ gdouble db = g_value_get_double (b); 582+ ret = memcmp (&da, &db, sizeof (gdouble)) == 0; 583+ } 584+ break; 585+ case G_TYPE_STRING: 586+ ret = (g_strcmp0 (g_value_get_string (a), g_value_get_string (b)) == 0); 587+ break; 588+ case G_TYPE_VARIANT: 589+ ret = _g_variant_equal0 (g_value_get_variant (a), g_value_get_variant (b)); 590+ break; 591+ default: 592+ if (G_VALUE_TYPE (a) == G_TYPE_STRV) 593+ ret = _g_strv_equal0 (g_value_get_boxed (a), g_value_get_boxed (b)); 594+ else 595+ g_critical ("_g_value_equal() does not handle type %s", g_type_name (G_VALUE_TYPE (a))); 596+ break; 597+ } 598+ return ret; 599+} 600+ 601+/* ------------------------------------------------------------------------ 602+ * Code for interface org.freedesktop.DBus 603+ * ------------------------------------------------------------------------ 604+ */ 605+ 606+/** 607+ * SECTION:_GFreedesktopDBus 608+ * @title: _GFreedesktopDBus 609+ * @short_description: Generated C code for the org.freedesktop.DBus D-Bus interface 610+ * 611+ * This section contains code for working with the <link linkend="gdbus-interface-org-freedesktop-DBus.top_of_page">org.freedesktop.DBus</link> D-Bus interface in C. 612+ */ 613+ 614+/* ---- Introspection data for org.freedesktop.DBus ---- */ 615+ 616+static const _ExtendedGDBusArgInfo __g_freedesktop_dbus_method_info_hello_OUT_ARG_assigned_name = 617+{ 618+ { 619+ -1, 620+ (gchar *) "assigned_name", 621+ (gchar *) "s", 622+ NULL 623+ }, 624+ FALSE 625+}; 626+ 627+static const GDBusArgInfo * const __g_freedesktop_dbus_method_info_hello_OUT_ARG_pointers[] = 628+{ 629+ &__g_freedesktop_dbus_method_info_hello_OUT_ARG_assigned_name.parent_struct, 630+ NULL 631+}; 632+ 633+static const _ExtendedGDBusMethodInfo __g_freedesktop_dbus_method_info_hello = 634+{ 635+ { 636+ -1, 637+ (gchar *) "Hello", 638+ NULL, 639+ (GDBusArgInfo **) &__g_freedesktop_dbus_method_info_hello_OUT_ARG_pointers, 640+ NULL 641+ }, 642+ "handle-hello", 643+ FALSE 644+}; 645+ 646+static const _ExtendedGDBusArgInfo __g_freedesktop_dbus_method_info_request_name_IN_ARG_name = 647+{ 648+ { 649+ -1, 650+ (gchar *) "name", 651+ (gchar *) "s", 652+ NULL 653+ }, 654+ FALSE 655+}; 656+ 657+static const _ExtendedGDBusArgInfo __g_freedesktop_dbus_method_info_request_name_IN_ARG_flags = 658+{ 659+ { 660+ -1, 661+ (gchar *) "flags", 662+ (gchar *) "u", 663+ NULL 664+ }, 665+ FALSE 666+}; 667+ 668+static const GDBusArgInfo * const __g_freedesktop_dbus_method_info_request_name_IN_ARG_pointers[] = 669+{ 670+ &__g_freedesktop_dbus_method_info_request_name_IN_ARG_name.parent_struct, 671+ &__g_freedesktop_dbus_method_info_request_name_IN_ARG_flags.parent_struct, 672+ NULL 673+}; 674+ 675+static const _ExtendedGDBusArgInfo __g_freedesktop_dbus_method_info_request_name_OUT_ARG_value = 676+{ 677+ { 678+ -1, 679+ (gchar *) "value", 680+ (gchar *) "u", 681+ NULL 682+ }, 683+ FALSE 684+}; 685+ 686+static const GDBusArgInfo * const __g_freedesktop_dbus_method_info_request_name_OUT_ARG_pointers[] = 687+{ 688+ &__g_freedesktop_dbus_method_info_request_name_OUT_ARG_value.parent_struct, 689+ NULL 690+}; 691+ 692+static const _ExtendedGDBusMethodInfo __g_freedesktop_dbus_method_info_request_name = 693+{ 694+ { 695+ -1, 696+ (gchar *) "RequestName", 697+ (GDBusArgInfo **) &__g_freedesktop_dbus_method_info_request_name_IN_ARG_pointers, 698+ (GDBusArgInfo **) &__g_freedesktop_dbus_method_info_request_name_OUT_ARG_pointers, 699+ NULL 700+ }, 701+ "handle-request-name", 702+ FALSE 703+}; 704+ 705+static const _ExtendedGDBusArgInfo __g_freedesktop_dbus_method_info_release_name_IN_ARG_name = 706+{ 707+ { 708+ -1, 709+ (gchar *) "name", 710+ (gchar *) "s", 711+ NULL 712+ }, 713+ FALSE 714+}; 715+ 716+static const GDBusArgInfo * const __g_freedesktop_dbus_method_info_release_name_IN_ARG_pointers[] = 717+{ 718+ &__g_freedesktop_dbus_method_info_release_name_IN_ARG_name.parent_struct, 719+ NULL 720+}; 721+ 722+static const _ExtendedGDBusArgInfo __g_freedesktop_dbus_method_info_release_name_OUT_ARG_value = 723+{ 724+ { 725+ -1, 726+ (gchar *) "value", 727+ (gchar *) "u", 728+ NULL 729+ }, 730+ FALSE 731+}; 732+ 733+static const GDBusArgInfo * const __g_freedesktop_dbus_method_info_release_name_OUT_ARG_pointers[] = 734+{ 735+ &__g_freedesktop_dbus_method_info_release_name_OUT_ARG_value.parent_struct, 736+ NULL 737+}; 738+ 739+static const _ExtendedGDBusMethodInfo __g_freedesktop_dbus_method_info_release_name = 740+{ 741+ { 742+ -1, 743+ (gchar *) "ReleaseName", 744+ (GDBusArgInfo **) &__g_freedesktop_dbus_method_info_release_name_IN_ARG_pointers, 745+ (GDBusArgInfo **) &__g_freedesktop_dbus_method_info_release_name_OUT_ARG_pointers, 746+ NULL 747+ }, 748+ "handle-release-name", 749+ FALSE 750+}; 751+ 752+static const _ExtendedGDBusArgInfo __g_freedesktop_dbus_method_info_start_service_by_name_IN_ARG_name = 753+{ 754+ { 755+ -1, 756+ (gchar *) "name", 757+ (gchar *) "s", 758+ NULL 759+ }, 760+ FALSE 761+}; 762+ 763+static const _ExtendedGDBusArgInfo __g_freedesktop_dbus_method_info_start_service_by_name_IN_ARG_flags = 764+{ 765+ { 766+ -1, 767+ (gchar *) "flags", 768+ (gchar *) "u", 769+ NULL 770+ }, 771+ FALSE 772+}; 773+ 774+static const GDBusArgInfo * const __g_freedesktop_dbus_method_info_start_service_by_name_IN_ARG_pointers[] = 775+{ 776+ &__g_freedesktop_dbus_method_info_start_service_by_name_IN_ARG_name.parent_struct, 777+ &__g_freedesktop_dbus_method_info_start_service_by_name_IN_ARG_flags.parent_struct, 778+ NULL 779+}; 780+ 781+static const _ExtendedGDBusArgInfo __g_freedesktop_dbus_method_info_start_service_by_name_OUT_ARG_value = 782+{ 783+ { 784+ -1, 785+ (gchar *) "value", 786+ (gchar *) "u", 787+ NULL 788+ }, 789+ FALSE 790+}; 791+ 792+static const GDBusArgInfo * const __g_freedesktop_dbus_method_info_start_service_by_name_OUT_ARG_pointers[] = 793+{ 794+ &__g_freedesktop_dbus_method_info_start_service_by_name_OUT_ARG_value.parent_struct, 795+ NULL 796+}; 797+ 798+static const _ExtendedGDBusMethodInfo __g_freedesktop_dbus_method_info_start_service_by_name = 799+{ 800+ { 801+ -1, 802+ (gchar *) "StartServiceByName", 803+ (GDBusArgInfo **) &__g_freedesktop_dbus_method_info_start_service_by_name_IN_ARG_pointers, 804+ (GDBusArgInfo **) &__g_freedesktop_dbus_method_info_start_service_by_name_OUT_ARG_pointers, 805+ NULL 806+ }, 807+ "handle-start-service-by-name", 808+ FALSE 809+}; 810+ 811+static const _ExtendedGDBusArgInfo __g_freedesktop_dbus_method_info_name_has_owner_IN_ARG_name = 812+{ 813+ { 814+ -1, 815+ (gchar *) "name", 816+ (gchar *) "s", 817+ NULL 818+ }, 819+ FALSE 820+}; 821+ 822+static const GDBusArgInfo * const __g_freedesktop_dbus_method_info_name_has_owner_IN_ARG_pointers[] = 823+{ 824+ &__g_freedesktop_dbus_method_info_name_has_owner_IN_ARG_name.parent_struct, 825+ NULL 826+}; 827+ 828+static const _ExtendedGDBusArgInfo __g_freedesktop_dbus_method_info_name_has_owner_OUT_ARG_has_owner = 829+{ 830+ { 831+ -1, 832+ (gchar *) "has_owner", 833+ (gchar *) "b", 834+ NULL 835+ }, 836+ FALSE 837+}; 838+ 839+static const GDBusArgInfo * const __g_freedesktop_dbus_method_info_name_has_owner_OUT_ARG_pointers[] = 840+{ 841+ &__g_freedesktop_dbus_method_info_name_has_owner_OUT_ARG_has_owner.parent_struct, 842+ NULL 843+}; 844+ 845+static const _ExtendedGDBusMethodInfo __g_freedesktop_dbus_method_info_name_has_owner = 846+{ 847+ { 848+ -1, 849+ (gchar *) "NameHasOwner", 850+ (GDBusArgInfo **) &__g_freedesktop_dbus_method_info_name_has_owner_IN_ARG_pointers, 851+ (GDBusArgInfo **) &__g_freedesktop_dbus_method_info_name_has_owner_OUT_ARG_pointers, 852+ NULL 853+ }, 854+ "handle-name-has-owner", 855+ FALSE 856+}; 857+ 858+static const _ExtendedGDBusArgInfo __g_freedesktop_dbus_method_info_list_names_OUT_ARG_names = 859+{ 860+ { 861+ -1, 862+ (gchar *) "names", 863+ (gchar *) "as", 864+ NULL 865+ }, 866+ FALSE 867+}; 868+ 869+static const GDBusArgInfo * const __g_freedesktop_dbus_method_info_list_names_OUT_ARG_pointers[] = 870+{ 871+ &__g_freedesktop_dbus_method_info_list_names_OUT_ARG_names.parent_struct, 872+ NULL 873+}; 874+ 875+static const _ExtendedGDBusMethodInfo __g_freedesktop_dbus_method_info_list_names = 876+{ 877+ { 878+ -1, 879+ (gchar *) "ListNames", 880+ NULL, 881+ (GDBusArgInfo **) &__g_freedesktop_dbus_method_info_list_names_OUT_ARG_pointers, 882+ NULL 883+ }, 884+ "handle-list-names", 885+ FALSE 886+}; 887+ 888+static const _ExtendedGDBusArgInfo __g_freedesktop_dbus_method_info_list_activatable_names_OUT_ARG_activatable_names = 889+{ 890+ { 891+ -1, 892+ (gchar *) "activatable_names", 893+ (gchar *) "as", 894+ NULL 895+ }, 896+ FALSE 897+}; 898+ 899+static const GDBusArgInfo * const __g_freedesktop_dbus_method_info_list_activatable_names_OUT_ARG_pointers[] = 900+{ 901+ &__g_freedesktop_dbus_method_info_list_activatable_names_OUT_ARG_activatable_names.parent_struct, 902+ NULL 903+}; 904+ 905+static const _ExtendedGDBusMethodInfo __g_freedesktop_dbus_method_info_list_activatable_names = 906+{ 907+ { 908+ -1, 909+ (gchar *) "ListActivatableNames", 910+ NULL, 911+ (GDBusArgInfo **) &__g_freedesktop_dbus_method_info_list_activatable_names_OUT_ARG_pointers, 912+ NULL 913+ }, 914+ "handle-list-activatable-names", 915+ FALSE 916+}; 917+ 918+static const _ExtendedGDBusArgInfo __g_freedesktop_dbus_method_info_add_match_IN_ARG_rule = 919+{ 920+ { 921+ -1, 922+ (gchar *) "rule", 923+ (gchar *) "s", 924+ NULL 925+ }, 926+ FALSE 927+}; 928+ 929+static const GDBusArgInfo * const __g_freedesktop_dbus_method_info_add_match_IN_ARG_pointers[] = 930+{ 931+ &__g_freedesktop_dbus_method_info_add_match_IN_ARG_rule.parent_struct, 932+ NULL 933+}; 934+ 935+static const _ExtendedGDBusMethodInfo __g_freedesktop_dbus_method_info_add_match = 936+{ 937+ { 938+ -1, 939+ (gchar *) "AddMatch", 940+ (GDBusArgInfo **) &__g_freedesktop_dbus_method_info_add_match_IN_ARG_pointers, 941+ NULL, 942+ NULL 943+ }, 944+ "handle-add-match", 945+ FALSE 946+}; 947+ 948+static const _ExtendedGDBusArgInfo __g_freedesktop_dbus_method_info_remove_match_IN_ARG_rule = 949+{ 950+ { 951+ -1, 952+ (gchar *) "rule", 953+ (gchar *) "s", 954+ NULL 955+ }, 956+ FALSE 957+}; 958+ 959+static const GDBusArgInfo * const __g_freedesktop_dbus_method_info_remove_match_IN_ARG_pointers[] = 960+{ 961+ &__g_freedesktop_dbus_method_info_remove_match_IN_ARG_rule.parent_struct, 962+ NULL 963+}; 964+ 965+static const _ExtendedGDBusMethodInfo __g_freedesktop_dbus_method_info_remove_match = 966+{ 967+ { 968+ -1, 969+ (gchar *) "RemoveMatch", 970+ (GDBusArgInfo **) &__g_freedesktop_dbus_method_info_remove_match_IN_ARG_pointers, 971+ NULL, 972+ NULL 973+ }, 974+ "handle-remove-match", 975+ FALSE 976+}; 977+ 978+static const _ExtendedGDBusArgInfo __g_freedesktop_dbus_method_info_get_name_owner_IN_ARG_name = 979+{ 980+ { 981+ -1, 982+ (gchar *) "name", 983+ (gchar *) "s", 984+ NULL 985+ }, 986+ FALSE 987+}; 988+ 989+static const GDBusArgInfo * const __g_freedesktop_dbus_method_info_get_name_owner_IN_ARG_pointers[] = 990+{ 991+ &__g_freedesktop_dbus_method_info_get_name_owner_IN_ARG_name.parent_struct, 992+ NULL 993+}; 994+ 995+static const _ExtendedGDBusArgInfo __g_freedesktop_dbus_method_info_get_name_owner_OUT_ARG_unique_name = 996+{ 997+ { 998+ -1, 999+ (gchar *) "unique_name", 1000+ (gchar *) "s", 1001+ NULL 1002+ }, 1003+ FALSE 1004+}; 1005+ 1006+static const GDBusArgInfo * const __g_freedesktop_dbus_method_info_get_name_owner_OUT_ARG_pointers[] = 1007+{ 1008+ &__g_freedesktop_dbus_method_info_get_name_owner_OUT_ARG_unique_name.parent_struct, 1009+ NULL 1010+}; 1011+ 1012+static const _ExtendedGDBusMethodInfo __g_freedesktop_dbus_method_info_get_name_owner = 1013+{ 1014+ { 1015+ -1, 1016+ (gchar *) "GetNameOwner", 1017+ (GDBusArgInfo **) &__g_freedesktop_dbus_method_info_get_name_owner_IN_ARG_pointers, 1018+ (GDBusArgInfo **) &__g_freedesktop_dbus_method_info_get_name_owner_OUT_ARG_pointers, 1019+ NULL 1020+ }, 1021+ "handle-get-name-owner", 1022+ FALSE 1023+}; 1024+ 1025+static const _ExtendedGDBusArgInfo __g_freedesktop_dbus_method_info_list_queued_owners_IN_ARG_name = 1026+{ 1027+ { 1028+ -1, 1029+ (gchar *) "name", 1030+ (gchar *) "s", 1031+ NULL 1032+ }, 1033+ FALSE 1034+}; 1035+ 1036+static const GDBusArgInfo * const __g_freedesktop_dbus_method_info_list_queued_owners_IN_ARG_pointers[] = 1037+{ 1038+ &__g_freedesktop_dbus_method_info_list_queued_owners_IN_ARG_name.parent_struct, 1039+ NULL 1040+}; 1041+ 1042+static const _ExtendedGDBusArgInfo __g_freedesktop_dbus_method_info_list_queued_owners_OUT_ARG_queued_owners = 1043+{ 1044+ { 1045+ -1, 1046+ (gchar *) "queued_owners", 1047+ (gchar *) "as", 1048+ NULL 1049+ }, 1050+ FALSE 1051+}; 1052+ 1053+static const GDBusArgInfo * const __g_freedesktop_dbus_method_info_list_queued_owners_OUT_ARG_pointers[] = 1054+{ 1055+ &__g_freedesktop_dbus_method_info_list_queued_owners_OUT_ARG_queued_owners.parent_struct, 1056+ NULL 1057+}; 1058+ 1059+static const _ExtendedGDBusMethodInfo __g_freedesktop_dbus_method_info_list_queued_owners = 1060+{ 1061+ { 1062+ -1, 1063+ (gchar *) "ListQueuedOwners", 1064+ (GDBusArgInfo **) &__g_freedesktop_dbus_method_info_list_queued_owners_IN_ARG_pointers, 1065+ (GDBusArgInfo **) &__g_freedesktop_dbus_method_info_list_queued_owners_OUT_ARG_pointers, 1066+ NULL 1067+ }, 1068+ "handle-list-queued-owners", 1069+ FALSE 1070+}; 1071+ 1072+static const _ExtendedGDBusArgInfo __g_freedesktop_dbus_method_info_get_connection_unix_user_IN_ARG_name = 1073+{ 1074+ { 1075+ -1, 1076+ (gchar *) "name", 1077+ (gchar *) "s", 1078+ NULL 1079+ }, 1080+ FALSE 1081+}; 1082+ 1083+static const GDBusArgInfo * const __g_freedesktop_dbus_method_info_get_connection_unix_user_IN_ARG_pointers[] = 1084+{ 1085+ &__g_freedesktop_dbus_method_info_get_connection_unix_user_IN_ARG_name.parent_struct, 1086+ NULL 1087+}; 1088+ 1089+static const _ExtendedGDBusArgInfo __g_freedesktop_dbus_method_info_get_connection_unix_user_OUT_ARG_uid = 1090+{ 1091+ { 1092+ -1, 1093+ (gchar *) "uid", 1094+ (gchar *) "u", 1095+ NULL 1096+ }, 1097+ FALSE 1098+}; 1099+ 1100+static const GDBusArgInfo * const __g_freedesktop_dbus_method_info_get_connection_unix_user_OUT_ARG_pointers[] = 1101+{ 1102+ &__g_freedesktop_dbus_method_info_get_connection_unix_user_OUT_ARG_uid.parent_struct, 1103+ NULL 1104+}; 1105+ 1106+static const _ExtendedGDBusMethodInfo __g_freedesktop_dbus_method_info_get_connection_unix_user = 1107+{ 1108+ { 1109+ -1, 1110+ (gchar *) "GetConnectionUnixUser", 1111+ (GDBusArgInfo **) &__g_freedesktop_dbus_method_info_get_connection_unix_user_IN_ARG_pointers, 1112+ (GDBusArgInfo **) &__g_freedesktop_dbus_method_info_get_connection_unix_user_OUT_ARG_pointers, 1113+ NULL 1114+ }, 1115+ "handle-get-connection-unix-user", 1116+ FALSE 1117+}; 1118+ 1119+static const _ExtendedGDBusArgInfo __g_freedesktop_dbus_method_info_get_connection_unix_process_id_IN_ARG_name = 1120+{ 1121+ { 1122+ -1, 1123+ (gchar *) "name", 1124+ (gchar *) "s", 1125+ NULL 1126+ }, 1127+ FALSE 1128+}; 1129+ 1130+static const GDBusArgInfo * const __g_freedesktop_dbus_method_info_get_connection_unix_process_id_IN_ARG_pointers[] = 1131+{ 1132+ &__g_freedesktop_dbus_method_info_get_connection_unix_process_id_IN_ARG_name.parent_struct, 1133+ NULL 1134+}; 1135+ 1136+static const _ExtendedGDBusArgInfo __g_freedesktop_dbus_method_info_get_connection_unix_process_id_OUT_ARG_pid = 1137+{ 1138+ { 1139+ -1, 1140+ (gchar *) "pid", 1141+ (gchar *) "u", 1142+ NULL 1143+ }, 1144+ FALSE 1145+}; 1146+ 1147+static const GDBusArgInfo * const __g_freedesktop_dbus_method_info_get_connection_unix_process_id_OUT_ARG_pointers[] = 1148+{ 1149+ &__g_freedesktop_dbus_method_info_get_connection_unix_process_id_OUT_ARG_pid.parent_struct, 1150+ NULL 1151+}; 1152+ 1153+static const _ExtendedGDBusMethodInfo __g_freedesktop_dbus_method_info_get_connection_unix_process_id = 1154+{ 1155+ { 1156+ -1, 1157+ (gchar *) "GetConnectionUnixProcessID", 1158+ (GDBusArgInfo **) &__g_freedesktop_dbus_method_info_get_connection_unix_process_id_IN_ARG_pointers, 1159+ (GDBusArgInfo **) &__g_freedesktop_dbus_method_info_get_connection_unix_process_id_OUT_ARG_pointers, 1160+ NULL 1161+ }, 1162+ "handle-get-connection-unix-process-id", 1163+ FALSE 1164+}; 1165+ 1166+static const _ExtendedGDBusArgInfo __g_freedesktop_dbus_method_info_get_connection_selinux_security_context_IN_ARG_name = 1167+{ 1168+ { 1169+ -1, 1170+ (gchar *) "name", 1171+ (gchar *) "s", 1172+ NULL 1173+ }, 1174+ FALSE 1175+}; 1176+ 1177+static const GDBusArgInfo * const __g_freedesktop_dbus_method_info_get_connection_selinux_security_context_IN_ARG_pointers[] = 1178+{ 1179+ &__g_freedesktop_dbus_method_info_get_connection_selinux_security_context_IN_ARG_name.parent_struct, 1180+ NULL 1181+}; 1182+ 1183+static const _ExtendedGDBusArgInfo __g_freedesktop_dbus_method_info_get_connection_selinux_security_context_OUT_ARG_security_context = 1184+{ 1185+ { 1186+ -1, 1187+ (gchar *) "security_context", 1188+ (gchar *) "ay", 1189+ NULL 1190+ }, 1191+ FALSE 1192+}; 1193+ 1194+static const GDBusArgInfo * const __g_freedesktop_dbus_method_info_get_connection_selinux_security_context_OUT_ARG_pointers[] = 1195+{ 1196+ &__g_freedesktop_dbus_method_info_get_connection_selinux_security_context_OUT_ARG_security_context.parent_struct, 1197+ NULL 1198+}; 1199+ 1200+static const _ExtendedGDBusMethodInfo __g_freedesktop_dbus_method_info_get_connection_selinux_security_context = 1201+{ 1202+ { 1203+ -1, 1204+ (gchar *) "GetConnectionSELinuxSecurityContext", 1205+ (GDBusArgInfo **) &__g_freedesktop_dbus_method_info_get_connection_selinux_security_context_IN_ARG_pointers, 1206+ (GDBusArgInfo **) &__g_freedesktop_dbus_method_info_get_connection_selinux_security_context_OUT_ARG_pointers, 1207+ NULL 1208+ }, 1209+ "handle-get-connection-selinux-security-context", 1210+ FALSE 1211+}; 1212+ 1213+static const _ExtendedGDBusArgInfo __g_freedesktop_dbus_method_info_update_activation_environment_IN_ARG_environment = 1214+{ 1215+ { 1216+ -1, 1217+ (gchar *) "environment", 1218+ (gchar *) "a{ss}", 1219+ NULL 1220+ }, 1221+ FALSE 1222+}; 1223+ 1224+static const GDBusArgInfo * const __g_freedesktop_dbus_method_info_update_activation_environment_IN_ARG_pointers[] = 1225+{ 1226+ &__g_freedesktop_dbus_method_info_update_activation_environment_IN_ARG_environment.parent_struct, 1227+ NULL 1228+}; 1229+ 1230+static const _ExtendedGDBusMethodInfo __g_freedesktop_dbus_method_info_update_activation_environment = 1231+{ 1232+ { 1233+ -1, 1234+ (gchar *) "UpdateActivationEnvironment", 1235+ (GDBusArgInfo **) &__g_freedesktop_dbus_method_info_update_activation_environment_IN_ARG_pointers, 1236+ NULL, 1237+ NULL 1238+ }, 1239+ "handle-update-activation-environment", 1240+ FALSE 1241+}; 1242+ 1243+static const _ExtendedGDBusMethodInfo __g_freedesktop_dbus_method_info_reload_config = 1244+{ 1245+ { 1246+ -1, 1247+ (gchar *) "ReloadConfig", 1248+ NULL, 1249+ NULL, 1250+ NULL 1251+ }, 1252+ "handle-reload-config", 1253+ FALSE 1254+}; 1255+ 1256+static const _ExtendedGDBusArgInfo __g_freedesktop_dbus_method_info_get_id_OUT_ARG_unique_id = 1257+{ 1258+ { 1259+ -1, 1260+ (gchar *) "unique_id", 1261+ (gchar *) "s", 1262+ NULL 1263+ }, 1264+ FALSE 1265+}; 1266+ 1267+static const GDBusArgInfo * const __g_freedesktop_dbus_method_info_get_id_OUT_ARG_pointers[] = 1268+{ 1269+ &__g_freedesktop_dbus_method_info_get_id_OUT_ARG_unique_id.parent_struct, 1270+ NULL 1271+}; 1272+ 1273+static const _ExtendedGDBusMethodInfo __g_freedesktop_dbus_method_info_get_id = 1274+{ 1275+ { 1276+ -1, 1277+ (gchar *) "GetId", 1278+ NULL, 1279+ (GDBusArgInfo **) &__g_freedesktop_dbus_method_info_get_id_OUT_ARG_pointers, 1280+ NULL 1281+ }, 1282+ "handle-get-id", 1283+ FALSE 1284+}; 1285+ 1286+static const GDBusMethodInfo * const __g_freedesktop_dbus_method_info_pointers[] = 1287+{ 1288+ &__g_freedesktop_dbus_method_info_hello.parent_struct, 1289+ &__g_freedesktop_dbus_method_info_request_name.parent_struct, 1290+ &__g_freedesktop_dbus_method_info_release_name.parent_struct, 1291+ &__g_freedesktop_dbus_method_info_start_service_by_name.parent_struct, 1292+ &__g_freedesktop_dbus_method_info_name_has_owner.parent_struct, 1293+ &__g_freedesktop_dbus_method_info_list_names.parent_struct, 1294+ &__g_freedesktop_dbus_method_info_list_activatable_names.parent_struct, 1295+ &__g_freedesktop_dbus_method_info_add_match.parent_struct, 1296+ &__g_freedesktop_dbus_method_info_remove_match.parent_struct, 1297+ &__g_freedesktop_dbus_method_info_get_name_owner.parent_struct, 1298+ &__g_freedesktop_dbus_method_info_list_queued_owners.parent_struct, 1299+ &__g_freedesktop_dbus_method_info_get_connection_unix_user.parent_struct, 1300+ &__g_freedesktop_dbus_method_info_get_connection_unix_process_id.parent_struct, 1301+ &__g_freedesktop_dbus_method_info_get_connection_selinux_security_context.parent_struct, 1302+ &__g_freedesktop_dbus_method_info_update_activation_environment.parent_struct, 1303+ &__g_freedesktop_dbus_method_info_reload_config.parent_struct, 1304+ &__g_freedesktop_dbus_method_info_get_id.parent_struct, 1305+ NULL 1306+}; 1307+ 1308+static const _ExtendedGDBusArgInfo __g_freedesktop_dbus_signal_info_name_owner_changed_ARG_name = 1309+{ 1310+ { 1311+ -1, 1312+ (gchar *) "name", 1313+ (gchar *) "s", 1314+ NULL 1315+ }, 1316+ FALSE 1317+}; 1318+ 1319+static const _ExtendedGDBusArgInfo __g_freedesktop_dbus_signal_info_name_owner_changed_ARG_old_owner = 1320+{ 1321+ { 1322+ -1, 1323+ (gchar *) "old_owner", 1324+ (gchar *) "s", 1325+ NULL 1326+ }, 1327+ FALSE 1328+}; 1329+ 1330+static const _ExtendedGDBusArgInfo __g_freedesktop_dbus_signal_info_name_owner_changed_ARG_new_owner = 1331+{ 1332+ { 1333+ -1, 1334+ (gchar *) "new_owner", 1335+ (gchar *) "s", 1336+ NULL 1337+ }, 1338+ FALSE 1339+}; 1340+ 1341+static const GDBusArgInfo * const __g_freedesktop_dbus_signal_info_name_owner_changed_ARG_pointers[] = 1342+{ 1343+ &__g_freedesktop_dbus_signal_info_name_owner_changed_ARG_name.parent_struct, 1344+ &__g_freedesktop_dbus_signal_info_name_owner_changed_ARG_old_owner.parent_struct, 1345+ &__g_freedesktop_dbus_signal_info_name_owner_changed_ARG_new_owner.parent_struct, 1346+ NULL 1347+}; 1348+ 1349+static const _ExtendedGDBusSignalInfo __g_freedesktop_dbus_signal_info_name_owner_changed = 1350+{ 1351+ { 1352+ -1, 1353+ (gchar *) "NameOwnerChanged", 1354+ (GDBusArgInfo **) &__g_freedesktop_dbus_signal_info_name_owner_changed_ARG_pointers, 1355+ NULL 1356+ }, 1357+ "name-owner-changed" 1358+}; 1359+ 1360+static const _ExtendedGDBusArgInfo __g_freedesktop_dbus_signal_info_name_lost_ARG_name = 1361+{ 1362+ { 1363+ -1, 1364+ (gchar *) "name", 1365+ (gchar *) "s", 1366+ NULL 1367+ }, 1368+ FALSE 1369+}; 1370+ 1371+static const GDBusArgInfo * const __g_freedesktop_dbus_signal_info_name_lost_ARG_pointers[] = 1372+{ 1373+ &__g_freedesktop_dbus_signal_info_name_lost_ARG_name.parent_struct, 1374+ NULL 1375+}; 1376+ 1377+static const _ExtendedGDBusSignalInfo __g_freedesktop_dbus_signal_info_name_lost = 1378+{ 1379+ { 1380+ -1, 1381+ (gchar *) "NameLost", 1382+ (GDBusArgInfo **) &__g_freedesktop_dbus_signal_info_name_lost_ARG_pointers, 1383+ NULL 1384+ }, 1385+ "name-lost" 1386+}; 1387+ 1388+static const _ExtendedGDBusArgInfo __g_freedesktop_dbus_signal_info_name_acquired_ARG_name = 1389+{ 1390+ { 1391+ -1, 1392+ (gchar *) "name", 1393+ (gchar *) "s", 1394+ NULL 1395+ }, 1396+ FALSE 1397+}; 1398+ 1399+static const GDBusArgInfo * const __g_freedesktop_dbus_signal_info_name_acquired_ARG_pointers[] = 1400+{ 1401+ &__g_freedesktop_dbus_signal_info_name_acquired_ARG_name.parent_struct, 1402+ NULL 1403+}; 1404+ 1405+static const _ExtendedGDBusSignalInfo __g_freedesktop_dbus_signal_info_name_acquired = 1406+{ 1407+ { 1408+ -1, 1409+ (gchar *) "NameAcquired", 1410+ (GDBusArgInfo **) &__g_freedesktop_dbus_signal_info_name_acquired_ARG_pointers, 1411+ NULL 1412+ }, 1413+ "name-acquired" 1414+}; 1415+ 1416+static const GDBusSignalInfo * const __g_freedesktop_dbus_signal_info_pointers[] = 1417+{ 1418+ &__g_freedesktop_dbus_signal_info_name_owner_changed.parent_struct, 1419+ &__g_freedesktop_dbus_signal_info_name_lost.parent_struct, 1420+ &__g_freedesktop_dbus_signal_info_name_acquired.parent_struct, 1421+ NULL 1422+}; 1423+ 1424+static const _ExtendedGDBusInterfaceInfo __g_freedesktop_dbus_interface_info = 1425+{ 1426+ { 1427+ -1, 1428+ (gchar *) "org.freedesktop.DBus", 1429+ (GDBusMethodInfo **) &__g_freedesktop_dbus_method_info_pointers, 1430+ (GDBusSignalInfo **) &__g_freedesktop_dbus_signal_info_pointers, 1431+ NULL, 1432+ NULL 1433+ }, 1434+ "freedesktop-dbus", 1435+}; 1436+ 1437+ 1438+/** 1439+ * _g_freedesktop_dbus_interface_info: 1440+ * 1441+ * Gets a machine-readable description of the <link linkend="gdbus-interface-org-freedesktop-DBus.top_of_page">org.freedesktop.DBus</link> D-Bus interface. 1442+ * 1443+ * Returns: (transfer none): A #GDBusInterfaceInfo. Do not free. 1444+ */ 1445+GDBusInterfaceInfo * 1446+_g_freedesktop_dbus_interface_info (void) 1447+{ 1448+ return (GDBusInterfaceInfo *) &__g_freedesktop_dbus_interface_info.parent_struct; 1449+} 1450+ 1451+/** 1452+ * _g_freedesktop_dbus_override_properties: 1453+ * @klass: The class structure for a #GObject derived class. 1454+ * @property_id_begin: The property id to assign to the first overridden property. 1455+ * 1456+ * Overrides all #GObject properties in the #_GFreedesktopDBus interface for a concrete class. 1457+ * The properties are overridden in the order they are defined. 1458+ * 1459+ * Returns: The last property id. 1460+ */ 1461+guint 1462+_g_freedesktop_dbus_override_properties (GObjectClass *klass G_GNUC_UNUSED, guint property_id_begin) 1463+{ 1464+ return property_id_begin - 1; 1465+} 1466+ 1467+ 1468+ 1469+/** 1470+ * _GFreedesktopDBus: 1471+ * 1472+ * Abstract interface type for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-DBus.top_of_page">org.freedesktop.DBus</link>. 1473+ */ 1474+ 1475+/** 1476+ * _GFreedesktopDBusIface: 1477+ * @parent_iface: The parent interface. 1478+ * @handle_add_match: Handler for the #_GFreedesktopDBus::handle-add-match signal. 1479+ * @handle_get_connection_selinux_security_context: Handler for the #_GFreedesktopDBus::handle-get-connection-selinux-security-context signal. 1480+ * @handle_get_connection_unix_process_id: Handler for the #_GFreedesktopDBus::handle-get-connection-unix-process-id signal. 1481+ * @handle_get_connection_unix_user: Handler for the #_GFreedesktopDBus::handle-get-connection-unix-user signal. 1482+ * @handle_get_id: Handler for the #_GFreedesktopDBus::handle-get-id signal. 1483+ * @handle_get_name_owner: Handler for the #_GFreedesktopDBus::handle-get-name-owner signal. 1484+ * @handle_hello: Handler for the #_GFreedesktopDBus::handle-hello signal. 1485+ * @handle_list_activatable_names: Handler for the #_GFreedesktopDBus::handle-list-activatable-names signal. 1486+ * @handle_list_names: Handler for the #_GFreedesktopDBus::handle-list-names signal. 1487+ * @handle_list_queued_owners: Handler for the #_GFreedesktopDBus::handle-list-queued-owners signal. 1488+ * @handle_name_has_owner: Handler for the #_GFreedesktopDBus::handle-name-has-owner signal. 1489+ * @handle_release_name: Handler for the #_GFreedesktopDBus::handle-release-name signal. 1490+ * @handle_reload_config: Handler for the #_GFreedesktopDBus::handle-reload-config signal. 1491+ * @handle_remove_match: Handler for the #_GFreedesktopDBus::handle-remove-match signal. 1492+ * @handle_request_name: Handler for the #_GFreedesktopDBus::handle-request-name signal. 1493+ * @handle_start_service_by_name: Handler for the #_GFreedesktopDBus::handle-start-service-by-name signal. 1494+ * @handle_update_activation_environment: Handler for the #_GFreedesktopDBus::handle-update-activation-environment signal. 1495+ * @name_acquired: Handler for the #_GFreedesktopDBus::name-acquired signal. 1496+ * @name_lost: Handler for the #_GFreedesktopDBus::name-lost signal. 1497+ * @name_owner_changed: Handler for the #_GFreedesktopDBus::name-owner-changed signal. 1498+ * 1499+ * Virtual table for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-DBus.top_of_page">org.freedesktop.DBus</link>. 1500+ */ 1501+ 1502+typedef _GFreedesktopDBusIface _GFreedesktopDBusInterface; 1503+G_DEFINE_INTERFACE (_GFreedesktopDBus, _g_freedesktop_dbus, G_TYPE_OBJECT) 1504+ 1505+static void 1506+_g_freedesktop_dbus_default_init (_GFreedesktopDBusIface *iface) 1507+{ 1508+ /* GObject signals for incoming D-Bus method calls: */ 1509+ /** 1510+ * _GFreedesktopDBus::handle-hello: 1511+ * @object: A #_GFreedesktopDBus. 1512+ * @invocation: A #GDBusMethodInvocation. 1513+ * 1514+ * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-DBus.Hello">Hello()</link> D-Bus method. 1515+ * 1516+ * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call _g_freedesktop_dbus_complete_hello() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. 1517+ * 1518+ * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run. 1519+ */ 1520+ g_signal_new ("handle-hello", 1521+ G_TYPE_FROM_INTERFACE (iface), 1522+ G_SIGNAL_RUN_LAST, 1523+ G_STRUCT_OFFSET (_GFreedesktopDBusIface, handle_hello), 1524+ g_signal_accumulator_true_handled, 1525+ NULL, 1526+ g_cclosure_marshal_generic, 1527+ G_TYPE_BOOLEAN, 1528+ 1, 1529+ G_TYPE_DBUS_METHOD_INVOCATION); 1530+ 1531+ /** 1532+ * _GFreedesktopDBus::handle-request-name: 1533+ * @object: A #_GFreedesktopDBus. 1534+ * @invocation: A #GDBusMethodInvocation. 1535+ * @arg_name: Argument passed by remote caller. 1536+ * @arg_flags: Argument passed by remote caller. 1537+ * 1538+ * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-DBus.RequestName">RequestName()</link> D-Bus method. 1539+ * 1540+ * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call _g_freedesktop_dbus_complete_request_name() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. 1541+ * 1542+ * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run. 1543+ */ 1544+ g_signal_new ("handle-request-name", 1545+ G_TYPE_FROM_INTERFACE (iface), 1546+ G_SIGNAL_RUN_LAST, 1547+ G_STRUCT_OFFSET (_GFreedesktopDBusIface, handle_request_name), 1548+ g_signal_accumulator_true_handled, 1549+ NULL, 1550+ g_cclosure_marshal_generic, 1551+ G_TYPE_BOOLEAN, 1552+ 3, 1553+ G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING, G_TYPE_UINT); 1554+ 1555+ /** 1556+ * _GFreedesktopDBus::handle-release-name: 1557+ * @object: A #_GFreedesktopDBus. 1558+ * @invocation: A #GDBusMethodInvocation. 1559+ * @arg_name: Argument passed by remote caller. 1560+ * 1561+ * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-DBus.ReleaseName">ReleaseName()</link> D-Bus method. 1562+ * 1563+ * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call _g_freedesktop_dbus_complete_release_name() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. 1564+ * 1565+ * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run. 1566+ */ 1567+ g_signal_new ("handle-release-name", 1568+ G_TYPE_FROM_INTERFACE (iface), 1569+ G_SIGNAL_RUN_LAST, 1570+ G_STRUCT_OFFSET (_GFreedesktopDBusIface, handle_release_name), 1571+ g_signal_accumulator_true_handled, 1572+ NULL, 1573+ g_cclosure_marshal_generic, 1574+ G_TYPE_BOOLEAN, 1575+ 2, 1576+ G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING); 1577+ 1578+ /** 1579+ * _GFreedesktopDBus::handle-start-service-by-name: 1580+ * @object: A #_GFreedesktopDBus. 1581+ * @invocation: A #GDBusMethodInvocation. 1582+ * @arg_name: Argument passed by remote caller. 1583+ * @arg_flags: Argument passed by remote caller. 1584+ * 1585+ * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-DBus.StartServiceByName">StartServiceByName()</link> D-Bus method. 1586+ * 1587+ * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call _g_freedesktop_dbus_complete_start_service_by_name() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. 1588+ * 1589+ * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run. 1590+ */ 1591+ g_signal_new ("handle-start-service-by-name", 1592+ G_TYPE_FROM_INTERFACE (iface), 1593+ G_SIGNAL_RUN_LAST, 1594+ G_STRUCT_OFFSET (_GFreedesktopDBusIface, handle_start_service_by_name), 1595+ g_signal_accumulator_true_handled, 1596+ NULL, 1597+ g_cclosure_marshal_generic, 1598+ G_TYPE_BOOLEAN, 1599+ 3, 1600+ G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING, G_TYPE_UINT); 1601+ 1602+ /** 1603+ * _GFreedesktopDBus::handle-name-has-owner: 1604+ * @object: A #_GFreedesktopDBus. 1605+ * @invocation: A #GDBusMethodInvocation. 1606+ * @arg_name: Argument passed by remote caller. 1607+ * 1608+ * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-DBus.NameHasOwner">NameHasOwner()</link> D-Bus method. 1609+ * 1610+ * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call _g_freedesktop_dbus_complete_name_has_owner() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. 1611+ * 1612+ * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run. 1613+ */ 1614+ g_signal_new ("handle-name-has-owner", 1615+ G_TYPE_FROM_INTERFACE (iface), 1616+ G_SIGNAL_RUN_LAST, 1617+ G_STRUCT_OFFSET (_GFreedesktopDBusIface, handle_name_has_owner), 1618+ g_signal_accumulator_true_handled, 1619+ NULL, 1620+ g_cclosure_marshal_generic, 1621+ G_TYPE_BOOLEAN, 1622+ 2, 1623+ G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING); 1624+ 1625+ /** 1626+ * _GFreedesktopDBus::handle-list-names: 1627+ * @object: A #_GFreedesktopDBus. 1628+ * @invocation: A #GDBusMethodInvocation. 1629+ * 1630+ * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-DBus.ListNames">ListNames()</link> D-Bus method. 1631+ * 1632+ * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call _g_freedesktop_dbus_complete_list_names() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. 1633+ * 1634+ * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run. 1635+ */ 1636+ g_signal_new ("handle-list-names", 1637+ G_TYPE_FROM_INTERFACE (iface), 1638+ G_SIGNAL_RUN_LAST, 1639+ G_STRUCT_OFFSET (_GFreedesktopDBusIface, handle_list_names), 1640+ g_signal_accumulator_true_handled, 1641+ NULL, 1642+ g_cclosure_marshal_generic, 1643+ G_TYPE_BOOLEAN, 1644+ 1, 1645+ G_TYPE_DBUS_METHOD_INVOCATION); 1646+ 1647+ /** 1648+ * _GFreedesktopDBus::handle-list-activatable-names: 1649+ * @object: A #_GFreedesktopDBus. 1650+ * @invocation: A #GDBusMethodInvocation. 1651+ * 1652+ * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-DBus.ListActivatableNames">ListActivatableNames()</link> D-Bus method. 1653+ * 1654+ * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call _g_freedesktop_dbus_complete_list_activatable_names() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. 1655+ * 1656+ * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run. 1657+ */ 1658+ g_signal_new ("handle-list-activatable-names", 1659+ G_TYPE_FROM_INTERFACE (iface), 1660+ G_SIGNAL_RUN_LAST, 1661+ G_STRUCT_OFFSET (_GFreedesktopDBusIface, handle_list_activatable_names), 1662+ g_signal_accumulator_true_handled, 1663+ NULL, 1664+ g_cclosure_marshal_generic, 1665+ G_TYPE_BOOLEAN, 1666+ 1, 1667+ G_TYPE_DBUS_METHOD_INVOCATION); 1668+ 1669+ /** 1670+ * _GFreedesktopDBus::handle-add-match: 1671+ * @object: A #_GFreedesktopDBus. 1672+ * @invocation: A #GDBusMethodInvocation. 1673+ * @arg_rule: Argument passed by remote caller. 1674+ * 1675+ * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-DBus.AddMatch">AddMatch()</link> D-Bus method. 1676+ * 1677+ * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call _g_freedesktop_dbus_complete_add_match() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. 1678+ * 1679+ * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run. 1680+ */ 1681+ g_signal_new ("handle-add-match", 1682+ G_TYPE_FROM_INTERFACE (iface), 1683+ G_SIGNAL_RUN_LAST, 1684+ G_STRUCT_OFFSET (_GFreedesktopDBusIface, handle_add_match), 1685+ g_signal_accumulator_true_handled, 1686+ NULL, 1687+ g_cclosure_marshal_generic, 1688+ G_TYPE_BOOLEAN, 1689+ 2, 1690+ G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING); 1691+ 1692+ /** 1693+ * _GFreedesktopDBus::handle-remove-match: 1694+ * @object: A #_GFreedesktopDBus. 1695+ * @invocation: A #GDBusMethodInvocation. 1696+ * @arg_rule: Argument passed by remote caller. 1697+ * 1698+ * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-DBus.RemoveMatch">RemoveMatch()</link> D-Bus method. 1699+ * 1700+ * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call _g_freedesktop_dbus_complete_remove_match() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. 1701+ * 1702+ * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run. 1703+ */ 1704+ g_signal_new ("handle-remove-match", 1705+ G_TYPE_FROM_INTERFACE (iface), 1706+ G_SIGNAL_RUN_LAST, 1707+ G_STRUCT_OFFSET (_GFreedesktopDBusIface, handle_remove_match), 1708+ g_signal_accumulator_true_handled, 1709+ NULL, 1710+ g_cclosure_marshal_generic, 1711+ G_TYPE_BOOLEAN, 1712+ 2, 1713+ G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING); 1714+ 1715+ /** 1716+ * _GFreedesktopDBus::handle-get-name-owner: 1717+ * @object: A #_GFreedesktopDBus. 1718+ * @invocation: A #GDBusMethodInvocation. 1719+ * @arg_name: Argument passed by remote caller. 1720+ * 1721+ * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-DBus.GetNameOwner">GetNameOwner()</link> D-Bus method. 1722+ * 1723+ * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call _g_freedesktop_dbus_complete_get_name_owner() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. 1724+ * 1725+ * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run. 1726+ */ 1727+ g_signal_new ("handle-get-name-owner", 1728+ G_TYPE_FROM_INTERFACE (iface), 1729+ G_SIGNAL_RUN_LAST, 1730+ G_STRUCT_OFFSET (_GFreedesktopDBusIface, handle_get_name_owner), 1731+ g_signal_accumulator_true_handled, 1732+ NULL, 1733+ g_cclosure_marshal_generic, 1734+ G_TYPE_BOOLEAN, 1735+ 2, 1736+ G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING); 1737+ 1738+ /** 1739+ * _GFreedesktopDBus::handle-list-queued-owners: 1740+ * @object: A #_GFreedesktopDBus. 1741+ * @invocation: A #GDBusMethodInvocation. 1742+ * @arg_name: Argument passed by remote caller. 1743+ * 1744+ * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-DBus.ListQueuedOwners">ListQueuedOwners()</link> D-Bus method. 1745+ * 1746+ * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call _g_freedesktop_dbus_complete_list_queued_owners() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. 1747+ * 1748+ * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run. 1749+ */ 1750+ g_signal_new ("handle-list-queued-owners", 1751+ G_TYPE_FROM_INTERFACE (iface), 1752+ G_SIGNAL_RUN_LAST, 1753+ G_STRUCT_OFFSET (_GFreedesktopDBusIface, handle_list_queued_owners), 1754+ g_signal_accumulator_true_handled, 1755+ NULL, 1756+ g_cclosure_marshal_generic, 1757+ G_TYPE_BOOLEAN, 1758+ 2, 1759+ G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING); 1760+ 1761+ /** 1762+ * _GFreedesktopDBus::handle-get-connection-unix-user: 1763+ * @object: A #_GFreedesktopDBus. 1764+ * @invocation: A #GDBusMethodInvocation. 1765+ * @arg_name: Argument passed by remote caller. 1766+ * 1767+ * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-DBus.GetConnectionUnixUser">GetConnectionUnixUser()</link> D-Bus method. 1768+ * 1769+ * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call _g_freedesktop_dbus_complete_get_connection_unix_user() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. 1770+ * 1771+ * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run. 1772+ */ 1773+ g_signal_new ("handle-get-connection-unix-user", 1774+ G_TYPE_FROM_INTERFACE (iface), 1775+ G_SIGNAL_RUN_LAST, 1776+ G_STRUCT_OFFSET (_GFreedesktopDBusIface, handle_get_connection_unix_user), 1777+ g_signal_accumulator_true_handled, 1778+ NULL, 1779+ g_cclosure_marshal_generic, 1780+ G_TYPE_BOOLEAN, 1781+ 2, 1782+ G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING); 1783+ 1784+ /** 1785+ * _GFreedesktopDBus::handle-get-connection-unix-process-id: 1786+ * @object: A #_GFreedesktopDBus. 1787+ * @invocation: A #GDBusMethodInvocation. 1788+ * @arg_name: Argument passed by remote caller. 1789+ * 1790+ * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-DBus.GetConnectionUnixProcessID">GetConnectionUnixProcessID()</link> D-Bus method. 1791+ * 1792+ * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call _g_freedesktop_dbus_complete_get_connection_unix_process_id() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. 1793+ * 1794+ * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run. 1795+ */ 1796+ g_signal_new ("handle-get-connection-unix-process-id", 1797+ G_TYPE_FROM_INTERFACE (iface), 1798+ G_SIGNAL_RUN_LAST, 1799+ G_STRUCT_OFFSET (_GFreedesktopDBusIface, handle_get_connection_unix_process_id), 1800+ g_signal_accumulator_true_handled, 1801+ NULL, 1802+ g_cclosure_marshal_generic, 1803+ G_TYPE_BOOLEAN, 1804+ 2, 1805+ G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING); 1806+ 1807+ /** 1808+ * _GFreedesktopDBus::handle-get-connection-selinux-security-context: 1809+ * @object: A #_GFreedesktopDBus. 1810+ * @invocation: A #GDBusMethodInvocation. 1811+ * @arg_name: Argument passed by remote caller. 1812+ * 1813+ * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-DBus.GetConnectionSELinuxSecurityContext">GetConnectionSELinuxSecurityContext()</link> D-Bus method. 1814+ * 1815+ * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call _g_freedesktop_dbus_complete_get_connection_selinux_security_context() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. 1816+ * 1817+ * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run. 1818+ */ 1819+ g_signal_new ("handle-get-connection-selinux-security-context", 1820+ G_TYPE_FROM_INTERFACE (iface), 1821+ G_SIGNAL_RUN_LAST, 1822+ G_STRUCT_OFFSET (_GFreedesktopDBusIface, handle_get_connection_selinux_security_context), 1823+ g_signal_accumulator_true_handled, 1824+ NULL, 1825+ g_cclosure_marshal_generic, 1826+ G_TYPE_BOOLEAN, 1827+ 2, 1828+ G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING); 1829+ 1830+ /** 1831+ * _GFreedesktopDBus::handle-update-activation-environment: 1832+ * @object: A #_GFreedesktopDBus. 1833+ * @invocation: A #GDBusMethodInvocation. 1834+ * @arg_environment: Argument passed by remote caller. 1835+ * 1836+ * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-DBus.UpdateActivationEnvironment">UpdateActivationEnvironment()</link> D-Bus method. 1837+ * 1838+ * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call _g_freedesktop_dbus_complete_update_activation_environment() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. 1839+ * 1840+ * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run. 1841+ */ 1842+ g_signal_new ("handle-update-activation-environment", 1843+ G_TYPE_FROM_INTERFACE (iface), 1844+ G_SIGNAL_RUN_LAST, 1845+ G_STRUCT_OFFSET (_GFreedesktopDBusIface, handle_update_activation_environment), 1846+ g_signal_accumulator_true_handled, 1847+ NULL, 1848+ g_cclosure_marshal_generic, 1849+ G_TYPE_BOOLEAN, 1850+ 2, 1851+ G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_VARIANT); 1852+ 1853+ /** 1854+ * _GFreedesktopDBus::handle-reload-config: 1855+ * @object: A #_GFreedesktopDBus. 1856+ * @invocation: A #GDBusMethodInvocation. 1857+ * 1858+ * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-DBus.ReloadConfig">ReloadConfig()</link> D-Bus method. 1859+ * 1860+ * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call _g_freedesktop_dbus_complete_reload_config() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. 1861+ * 1862+ * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run. 1863+ */ 1864+ g_signal_new ("handle-reload-config", 1865+ G_TYPE_FROM_INTERFACE (iface), 1866+ G_SIGNAL_RUN_LAST, 1867+ G_STRUCT_OFFSET (_GFreedesktopDBusIface, handle_reload_config), 1868+ g_signal_accumulator_true_handled, 1869+ NULL, 1870+ g_cclosure_marshal_generic, 1871+ G_TYPE_BOOLEAN, 1872+ 1, 1873+ G_TYPE_DBUS_METHOD_INVOCATION); 1874+ 1875+ /** 1876+ * _GFreedesktopDBus::handle-get-id: 1877+ * @object: A #_GFreedesktopDBus. 1878+ * @invocation: A #GDBusMethodInvocation. 1879+ * 1880+ * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-DBus.GetId">GetId()</link> D-Bus method. 1881+ * 1882+ * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call _g_freedesktop_dbus_complete_get_id() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. 1883+ * 1884+ * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run. 1885+ */ 1886+ g_signal_new ("handle-get-id", 1887+ G_TYPE_FROM_INTERFACE (iface), 1888+ G_SIGNAL_RUN_LAST, 1889+ G_STRUCT_OFFSET (_GFreedesktopDBusIface, handle_get_id), 1890+ g_signal_accumulator_true_handled, 1891+ NULL, 1892+ g_cclosure_marshal_generic, 1893+ G_TYPE_BOOLEAN, 1894+ 1, 1895+ G_TYPE_DBUS_METHOD_INVOCATION); 1896+ 1897+ /* GObject signals for received D-Bus signals: */ 1898+ /** 1899+ * _GFreedesktopDBus::name-owner-changed: 1900+ * @object: A #_GFreedesktopDBus. 1901+ * @arg_name: Argument. 1902+ * @arg_old_owner: Argument. 1903+ * @arg_new_owner: Argument. 1904+ * 1905+ * On the client-side, this signal is emitted whenever the D-Bus signal <link linkend="gdbus-signal-org-freedesktop-DBus.NameOwnerChanged">"NameOwnerChanged"</link> is received. 1906+ * 1907+ * On the service-side, this signal can be used with e.g. g_signal_emit_by_name() to make the object emit the D-Bus signal. 1908+ */ 1909+ g_signal_new ("name-owner-changed", 1910+ G_TYPE_FROM_INTERFACE (iface), 1911+ G_SIGNAL_RUN_LAST, 1912+ G_STRUCT_OFFSET (_GFreedesktopDBusIface, name_owner_changed), 1913+ NULL, 1914+ NULL, 1915+ g_cclosure_marshal_generic, 1916+ G_TYPE_NONE, 1917+ 3, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING); 1918+ 1919+ /** 1920+ * _GFreedesktopDBus::name-lost: 1921+ * @object: A #_GFreedesktopDBus. 1922+ * @arg_name: Argument. 1923+ * 1924+ * On the client-side, this signal is emitted whenever the D-Bus signal <link linkend="gdbus-signal-org-freedesktop-DBus.NameLost">"NameLost"</link> is received. 1925+ * 1926+ * On the service-side, this signal can be used with e.g. g_signal_emit_by_name() to make the object emit the D-Bus signal. 1927+ */ 1928+ g_signal_new ("name-lost", 1929+ G_TYPE_FROM_INTERFACE (iface), 1930+ G_SIGNAL_RUN_LAST, 1931+ G_STRUCT_OFFSET (_GFreedesktopDBusIface, name_lost), 1932+ NULL, 1933+ NULL, 1934+ g_cclosure_marshal_generic, 1935+ G_TYPE_NONE, 1936+ 1, G_TYPE_STRING); 1937+ 1938+ /** 1939+ * _GFreedesktopDBus::name-acquired: 1940+ * @object: A #_GFreedesktopDBus. 1941+ * @arg_name: Argument. 1942+ * 1943+ * On the client-side, this signal is emitted whenever the D-Bus signal <link linkend="gdbus-signal-org-freedesktop-DBus.NameAcquired">"NameAcquired"</link> is received. 1944+ * 1945+ * On the service-side, this signal can be used with e.g. g_signal_emit_by_name() to make the object emit the D-Bus signal. 1946+ */ 1947+ g_signal_new ("name-acquired", 1948+ G_TYPE_FROM_INTERFACE (iface), 1949+ G_SIGNAL_RUN_LAST, 1950+ G_STRUCT_OFFSET (_GFreedesktopDBusIface, name_acquired), 1951+ NULL, 1952+ NULL, 1953+ g_cclosure_marshal_generic, 1954+ G_TYPE_NONE, 1955+ 1, G_TYPE_STRING); 1956+ 1957+} 1958+ 1959+/** 1960+ * _g_freedesktop_dbus_emit_name_owner_changed: 1961+ * @object: A #_GFreedesktopDBus. 1962+ * @arg_name: Argument to pass with the signal. 1963+ * @arg_old_owner: Argument to pass with the signal. 1964+ * @arg_new_owner: Argument to pass with the signal. 1965+ * 1966+ * Emits the <link linkend="gdbus-signal-org-freedesktop-DBus.NameOwnerChanged">"NameOwnerChanged"</link> D-Bus signal. 1967+ */ 1968+void 1969+_g_freedesktop_dbus_emit_name_owner_changed ( 1970+ _GFreedesktopDBus *object, 1971+ const gchar *arg_name, 1972+ const gchar *arg_old_owner, 1973+ const gchar *arg_new_owner) 1974+{ 1975+ g_signal_emit_by_name (object, "name-owner-changed", arg_name, arg_old_owner, arg_new_owner); 1976+} 1977+ 1978+/** 1979+ * _g_freedesktop_dbus_emit_name_lost: 1980+ * @object: A #_GFreedesktopDBus. 1981+ * @arg_name: Argument to pass with the signal. 1982+ * 1983+ * Emits the <link linkend="gdbus-signal-org-freedesktop-DBus.NameLost">"NameLost"</link> D-Bus signal. 1984+ */ 1985+void 1986+_g_freedesktop_dbus_emit_name_lost ( 1987+ _GFreedesktopDBus *object, 1988+ const gchar *arg_name) 1989+{ 1990+ g_signal_emit_by_name (object, "name-lost", arg_name); 1991+} 1992+ 1993+/** 1994+ * _g_freedesktop_dbus_emit_name_acquired: 1995+ * @object: A #_GFreedesktopDBus. 1996+ * @arg_name: Argument to pass with the signal. 1997+ * 1998+ * Emits the <link linkend="gdbus-signal-org-freedesktop-DBus.NameAcquired">"NameAcquired"</link> D-Bus signal. 1999+ */ 2000+void 2001+_g_freedesktop_dbus_emit_name_acquired ( 2002+ _GFreedesktopDBus *object, 2003+ const gchar *arg_name) 2004+{ 2005+ g_signal_emit_by_name (object, "name-acquired", arg_name); 2006+} 2007+ 2008+/** 2009+ * _g_freedesktop_dbus_call_hello: 2010+ * @proxy: A #_GFreedesktopDBusProxy. 2011+ * @cancellable: (nullable): A #GCancellable or %NULL. 2012+ * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. 2013+ * @user_data: User data to pass to @callback. 2014+ * 2015+ * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-DBus.Hello">Hello()</link> D-Bus method on @proxy. 2016+ * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). 2017+ * You can then call _g_freedesktop_dbus_call_hello_finish() to get the result of the operation. 2018+ * 2019+ * See _g_freedesktop_dbus_call_hello_sync() for the synchronous, blocking version of this method. 2020+ */ 2021+void 2022+_g_freedesktop_dbus_call_hello ( 2023+ _GFreedesktopDBus *proxy, 2024+ GCancellable *cancellable, 2025+ GAsyncReadyCallback callback, 2026+ gpointer user_data) 2027+{ 2028+ g_dbus_proxy_call (G_DBUS_PROXY (proxy), 2029+ "Hello", 2030+ g_variant_new ("()"), 2031+ G_DBUS_CALL_FLAGS_NONE, 2032+ -1, 2033+ cancellable, 2034+ callback, 2035+ user_data); 2036+} 2037+ 2038+/** 2039+ * _g_freedesktop_dbus_call_hello_finish: 2040+ * @proxy: A #_GFreedesktopDBusProxy. 2041+ * @out_assigned_name: (out) (optional): Return location for return parameter or %NULL to ignore. 2042+ * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to _g_freedesktop_dbus_call_hello(). 2043+ * @error: Return location for error or %NULL. 2044+ * 2045+ * Finishes an operation started with _g_freedesktop_dbus_call_hello(). 2046+ * 2047+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 2048+ */ 2049+gboolean 2050+_g_freedesktop_dbus_call_hello_finish ( 2051+ _GFreedesktopDBus *proxy, 2052+ gchar **out_assigned_name, 2053+ GAsyncResult *res, 2054+ GError **error) 2055+{ 2056+ GVariant *_ret; 2057+ _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error); 2058+ if (_ret == NULL) 2059+ goto _out; 2060+ g_variant_get (_ret, 2061+ "(s)", 2062+ out_assigned_name); 2063+ g_variant_unref (_ret); 2064+_out: 2065+ return _ret != NULL; 2066+} 2067+ 2068+/** 2069+ * _g_freedesktop_dbus_call_hello_sync: 2070+ * @proxy: A #_GFreedesktopDBusProxy. 2071+ * @out_assigned_name: (out) (optional): Return location for return parameter or %NULL to ignore. 2072+ * @cancellable: (nullable): A #GCancellable or %NULL. 2073+ * @error: Return location for error or %NULL. 2074+ * 2075+ * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-DBus.Hello">Hello()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received. 2076+ * 2077+ * See _g_freedesktop_dbus_call_hello() for the asynchronous version of this method. 2078+ * 2079+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 2080+ */ 2081+gboolean 2082+_g_freedesktop_dbus_call_hello_sync ( 2083+ _GFreedesktopDBus *proxy, 2084+ gchar **out_assigned_name, 2085+ GCancellable *cancellable, 2086+ GError **error) 2087+{ 2088+ GVariant *_ret; 2089+ _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy), 2090+ "Hello", 2091+ g_variant_new ("()"), 2092+ G_DBUS_CALL_FLAGS_NONE, 2093+ -1, 2094+ cancellable, 2095+ error); 2096+ if (_ret == NULL) 2097+ goto _out; 2098+ g_variant_get (_ret, 2099+ "(s)", 2100+ out_assigned_name); 2101+ g_variant_unref (_ret); 2102+_out: 2103+ return _ret != NULL; 2104+} 2105+ 2106+/** 2107+ * _g_freedesktop_dbus_call_request_name: 2108+ * @proxy: A #_GFreedesktopDBusProxy. 2109+ * @arg_name: Argument to pass with the method invocation. 2110+ * @arg_flags: Argument to pass with the method invocation. 2111+ * @cancellable: (nullable): A #GCancellable or %NULL. 2112+ * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. 2113+ * @user_data: User data to pass to @callback. 2114+ * 2115+ * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-DBus.RequestName">RequestName()</link> D-Bus method on @proxy. 2116+ * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). 2117+ * You can then call _g_freedesktop_dbus_call_request_name_finish() to get the result of the operation. 2118+ * 2119+ * See _g_freedesktop_dbus_call_request_name_sync() for the synchronous, blocking version of this method. 2120+ */ 2121+void 2122+_g_freedesktop_dbus_call_request_name ( 2123+ _GFreedesktopDBus *proxy, 2124+ const gchar *arg_name, 2125+ guint arg_flags, 2126+ GCancellable *cancellable, 2127+ GAsyncReadyCallback callback, 2128+ gpointer user_data) 2129+{ 2130+ g_dbus_proxy_call (G_DBUS_PROXY (proxy), 2131+ "RequestName", 2132+ g_variant_new ("(su)", 2133+ arg_name, 2134+ arg_flags), 2135+ G_DBUS_CALL_FLAGS_NONE, 2136+ -1, 2137+ cancellable, 2138+ callback, 2139+ user_data); 2140+} 2141+ 2142+/** 2143+ * _g_freedesktop_dbus_call_request_name_finish: 2144+ * @proxy: A #_GFreedesktopDBusProxy. 2145+ * @out_value: (out) (optional): Return location for return parameter or %NULL to ignore. 2146+ * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to _g_freedesktop_dbus_call_request_name(). 2147+ * @error: Return location for error or %NULL. 2148+ * 2149+ * Finishes an operation started with _g_freedesktop_dbus_call_request_name(). 2150+ * 2151+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 2152+ */ 2153+gboolean 2154+_g_freedesktop_dbus_call_request_name_finish ( 2155+ _GFreedesktopDBus *proxy, 2156+ guint *out_value, 2157+ GAsyncResult *res, 2158+ GError **error) 2159+{ 2160+ GVariant *_ret; 2161+ _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error); 2162+ if (_ret == NULL) 2163+ goto _out; 2164+ g_variant_get (_ret, 2165+ "(u)", 2166+ out_value); 2167+ g_variant_unref (_ret); 2168+_out: 2169+ return _ret != NULL; 2170+} 2171+ 2172+/** 2173+ * _g_freedesktop_dbus_call_request_name_sync: 2174+ * @proxy: A #_GFreedesktopDBusProxy. 2175+ * @arg_name: Argument to pass with the method invocation. 2176+ * @arg_flags: Argument to pass with the method invocation. 2177+ * @out_value: (out) (optional): Return location for return parameter or %NULL to ignore. 2178+ * @cancellable: (nullable): A #GCancellable or %NULL. 2179+ * @error: Return location for error or %NULL. 2180+ * 2181+ * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-DBus.RequestName">RequestName()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received. 2182+ * 2183+ * See _g_freedesktop_dbus_call_request_name() for the asynchronous version of this method. 2184+ * 2185+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 2186+ */ 2187+gboolean 2188+_g_freedesktop_dbus_call_request_name_sync ( 2189+ _GFreedesktopDBus *proxy, 2190+ const gchar *arg_name, 2191+ guint arg_flags, 2192+ guint *out_value, 2193+ GCancellable *cancellable, 2194+ GError **error) 2195+{ 2196+ GVariant *_ret; 2197+ _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy), 2198+ "RequestName", 2199+ g_variant_new ("(su)", 2200+ arg_name, 2201+ arg_flags), 2202+ G_DBUS_CALL_FLAGS_NONE, 2203+ -1, 2204+ cancellable, 2205+ error); 2206+ if (_ret == NULL) 2207+ goto _out; 2208+ g_variant_get (_ret, 2209+ "(u)", 2210+ out_value); 2211+ g_variant_unref (_ret); 2212+_out: 2213+ return _ret != NULL; 2214+} 2215+ 2216+/** 2217+ * _g_freedesktop_dbus_call_release_name: 2218+ * @proxy: A #_GFreedesktopDBusProxy. 2219+ * @arg_name: Argument to pass with the method invocation. 2220+ * @cancellable: (nullable): A #GCancellable or %NULL. 2221+ * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. 2222+ * @user_data: User data to pass to @callback. 2223+ * 2224+ * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-DBus.ReleaseName">ReleaseName()</link> D-Bus method on @proxy. 2225+ * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). 2226+ * You can then call _g_freedesktop_dbus_call_release_name_finish() to get the result of the operation. 2227+ * 2228+ * See _g_freedesktop_dbus_call_release_name_sync() for the synchronous, blocking version of this method. 2229+ */ 2230+void 2231+_g_freedesktop_dbus_call_release_name ( 2232+ _GFreedesktopDBus *proxy, 2233+ const gchar *arg_name, 2234+ GCancellable *cancellable, 2235+ GAsyncReadyCallback callback, 2236+ gpointer user_data) 2237+{ 2238+ g_dbus_proxy_call (G_DBUS_PROXY (proxy), 2239+ "ReleaseName", 2240+ g_variant_new ("(s)", 2241+ arg_name), 2242+ G_DBUS_CALL_FLAGS_NONE, 2243+ -1, 2244+ cancellable, 2245+ callback, 2246+ user_data); 2247+} 2248+ 2249+/** 2250+ * _g_freedesktop_dbus_call_release_name_finish: 2251+ * @proxy: A #_GFreedesktopDBusProxy. 2252+ * @out_value: (out) (optional): Return location for return parameter or %NULL to ignore. 2253+ * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to _g_freedesktop_dbus_call_release_name(). 2254+ * @error: Return location for error or %NULL. 2255+ * 2256+ * Finishes an operation started with _g_freedesktop_dbus_call_release_name(). 2257+ * 2258+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 2259+ */ 2260+gboolean 2261+_g_freedesktop_dbus_call_release_name_finish ( 2262+ _GFreedesktopDBus *proxy, 2263+ guint *out_value, 2264+ GAsyncResult *res, 2265+ GError **error) 2266+{ 2267+ GVariant *_ret; 2268+ _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error); 2269+ if (_ret == NULL) 2270+ goto _out; 2271+ g_variant_get (_ret, 2272+ "(u)", 2273+ out_value); 2274+ g_variant_unref (_ret); 2275+_out: 2276+ return _ret != NULL; 2277+} 2278+ 2279+/** 2280+ * _g_freedesktop_dbus_call_release_name_sync: 2281+ * @proxy: A #_GFreedesktopDBusProxy. 2282+ * @arg_name: Argument to pass with the method invocation. 2283+ * @out_value: (out) (optional): Return location for return parameter or %NULL to ignore. 2284+ * @cancellable: (nullable): A #GCancellable or %NULL. 2285+ * @error: Return location for error or %NULL. 2286+ * 2287+ * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-DBus.ReleaseName">ReleaseName()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received. 2288+ * 2289+ * See _g_freedesktop_dbus_call_release_name() for the asynchronous version of this method. 2290+ * 2291+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 2292+ */ 2293+gboolean 2294+_g_freedesktop_dbus_call_release_name_sync ( 2295+ _GFreedesktopDBus *proxy, 2296+ const gchar *arg_name, 2297+ guint *out_value, 2298+ GCancellable *cancellable, 2299+ GError **error) 2300+{ 2301+ GVariant *_ret; 2302+ _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy), 2303+ "ReleaseName", 2304+ g_variant_new ("(s)", 2305+ arg_name), 2306+ G_DBUS_CALL_FLAGS_NONE, 2307+ -1, 2308+ cancellable, 2309+ error); 2310+ if (_ret == NULL) 2311+ goto _out; 2312+ g_variant_get (_ret, 2313+ "(u)", 2314+ out_value); 2315+ g_variant_unref (_ret); 2316+_out: 2317+ return _ret != NULL; 2318+} 2319+ 2320+/** 2321+ * _g_freedesktop_dbus_call_start_service_by_name: 2322+ * @proxy: A #_GFreedesktopDBusProxy. 2323+ * @arg_name: Argument to pass with the method invocation. 2324+ * @arg_flags: Argument to pass with the method invocation. 2325+ * @cancellable: (nullable): A #GCancellable or %NULL. 2326+ * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. 2327+ * @user_data: User data to pass to @callback. 2328+ * 2329+ * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-DBus.StartServiceByName">StartServiceByName()</link> D-Bus method on @proxy. 2330+ * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). 2331+ * You can then call _g_freedesktop_dbus_call_start_service_by_name_finish() to get the result of the operation. 2332+ * 2333+ * See _g_freedesktop_dbus_call_start_service_by_name_sync() for the synchronous, blocking version of this method. 2334+ */ 2335+void 2336+_g_freedesktop_dbus_call_start_service_by_name ( 2337+ _GFreedesktopDBus *proxy, 2338+ const gchar *arg_name, 2339+ guint arg_flags, 2340+ GCancellable *cancellable, 2341+ GAsyncReadyCallback callback, 2342+ gpointer user_data) 2343+{ 2344+ g_dbus_proxy_call (G_DBUS_PROXY (proxy), 2345+ "StartServiceByName", 2346+ g_variant_new ("(su)", 2347+ arg_name, 2348+ arg_flags), 2349+ G_DBUS_CALL_FLAGS_NONE, 2350+ -1, 2351+ cancellable, 2352+ callback, 2353+ user_data); 2354+} 2355+ 2356+/** 2357+ * _g_freedesktop_dbus_call_start_service_by_name_finish: 2358+ * @proxy: A #_GFreedesktopDBusProxy. 2359+ * @out_value: (out) (optional): Return location for return parameter or %NULL to ignore. 2360+ * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to _g_freedesktop_dbus_call_start_service_by_name(). 2361+ * @error: Return location for error or %NULL. 2362+ * 2363+ * Finishes an operation started with _g_freedesktop_dbus_call_start_service_by_name(). 2364+ * 2365+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 2366+ */ 2367+gboolean 2368+_g_freedesktop_dbus_call_start_service_by_name_finish ( 2369+ _GFreedesktopDBus *proxy, 2370+ guint *out_value, 2371+ GAsyncResult *res, 2372+ GError **error) 2373+{ 2374+ GVariant *_ret; 2375+ _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error); 2376+ if (_ret == NULL) 2377+ goto _out; 2378+ g_variant_get (_ret, 2379+ "(u)", 2380+ out_value); 2381+ g_variant_unref (_ret); 2382+_out: 2383+ return _ret != NULL; 2384+} 2385+ 2386+/** 2387+ * _g_freedesktop_dbus_call_start_service_by_name_sync: 2388+ * @proxy: A #_GFreedesktopDBusProxy. 2389+ * @arg_name: Argument to pass with the method invocation. 2390+ * @arg_flags: Argument to pass with the method invocation. 2391+ * @out_value: (out) (optional): Return location for return parameter or %NULL to ignore. 2392+ * @cancellable: (nullable): A #GCancellable or %NULL. 2393+ * @error: Return location for error or %NULL. 2394+ * 2395+ * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-DBus.StartServiceByName">StartServiceByName()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received. 2396+ * 2397+ * See _g_freedesktop_dbus_call_start_service_by_name() for the asynchronous version of this method. 2398+ * 2399+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 2400+ */ 2401+gboolean 2402+_g_freedesktop_dbus_call_start_service_by_name_sync ( 2403+ _GFreedesktopDBus *proxy, 2404+ const gchar *arg_name, 2405+ guint arg_flags, 2406+ guint *out_value, 2407+ GCancellable *cancellable, 2408+ GError **error) 2409+{ 2410+ GVariant *_ret; 2411+ _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy), 2412+ "StartServiceByName", 2413+ g_variant_new ("(su)", 2414+ arg_name, 2415+ arg_flags), 2416+ G_DBUS_CALL_FLAGS_NONE, 2417+ -1, 2418+ cancellable, 2419+ error); 2420+ if (_ret == NULL) 2421+ goto _out; 2422+ g_variant_get (_ret, 2423+ "(u)", 2424+ out_value); 2425+ g_variant_unref (_ret); 2426+_out: 2427+ return _ret != NULL; 2428+} 2429+ 2430+/** 2431+ * _g_freedesktop_dbus_call_name_has_owner: 2432+ * @proxy: A #_GFreedesktopDBusProxy. 2433+ * @arg_name: Argument to pass with the method invocation. 2434+ * @cancellable: (nullable): A #GCancellable or %NULL. 2435+ * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. 2436+ * @user_data: User data to pass to @callback. 2437+ * 2438+ * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-DBus.NameHasOwner">NameHasOwner()</link> D-Bus method on @proxy. 2439+ * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). 2440+ * You can then call _g_freedesktop_dbus_call_name_has_owner_finish() to get the result of the operation. 2441+ * 2442+ * See _g_freedesktop_dbus_call_name_has_owner_sync() for the synchronous, blocking version of this method. 2443+ */ 2444+void 2445+_g_freedesktop_dbus_call_name_has_owner ( 2446+ _GFreedesktopDBus *proxy, 2447+ const gchar *arg_name, 2448+ GCancellable *cancellable, 2449+ GAsyncReadyCallback callback, 2450+ gpointer user_data) 2451+{ 2452+ g_dbus_proxy_call (G_DBUS_PROXY (proxy), 2453+ "NameHasOwner", 2454+ g_variant_new ("(s)", 2455+ arg_name), 2456+ G_DBUS_CALL_FLAGS_NONE, 2457+ -1, 2458+ cancellable, 2459+ callback, 2460+ user_data); 2461+} 2462+ 2463+/** 2464+ * _g_freedesktop_dbus_call_name_has_owner_finish: 2465+ * @proxy: A #_GFreedesktopDBusProxy. 2466+ * @out_has_owner: (out) (optional): Return location for return parameter or %NULL to ignore. 2467+ * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to _g_freedesktop_dbus_call_name_has_owner(). 2468+ * @error: Return location for error or %NULL. 2469+ * 2470+ * Finishes an operation started with _g_freedesktop_dbus_call_name_has_owner(). 2471+ * 2472+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 2473+ */ 2474+gboolean 2475+_g_freedesktop_dbus_call_name_has_owner_finish ( 2476+ _GFreedesktopDBus *proxy, 2477+ gboolean *out_has_owner, 2478+ GAsyncResult *res, 2479+ GError **error) 2480+{ 2481+ GVariant *_ret; 2482+ _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error); 2483+ if (_ret == NULL) 2484+ goto _out; 2485+ g_variant_get (_ret, 2486+ "(b)", 2487+ out_has_owner); 2488+ g_variant_unref (_ret); 2489+_out: 2490+ return _ret != NULL; 2491+} 2492+ 2493+/** 2494+ * _g_freedesktop_dbus_call_name_has_owner_sync: 2495+ * @proxy: A #_GFreedesktopDBusProxy. 2496+ * @arg_name: Argument to pass with the method invocation. 2497+ * @out_has_owner: (out) (optional): Return location for return parameter or %NULL to ignore. 2498+ * @cancellable: (nullable): A #GCancellable or %NULL. 2499+ * @error: Return location for error or %NULL. 2500+ * 2501+ * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-DBus.NameHasOwner">NameHasOwner()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received. 2502+ * 2503+ * See _g_freedesktop_dbus_call_name_has_owner() for the asynchronous version of this method. 2504+ * 2505+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 2506+ */ 2507+gboolean 2508+_g_freedesktop_dbus_call_name_has_owner_sync ( 2509+ _GFreedesktopDBus *proxy, 2510+ const gchar *arg_name, 2511+ gboolean *out_has_owner, 2512+ GCancellable *cancellable, 2513+ GError **error) 2514+{ 2515+ GVariant *_ret; 2516+ _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy), 2517+ "NameHasOwner", 2518+ g_variant_new ("(s)", 2519+ arg_name), 2520+ G_DBUS_CALL_FLAGS_NONE, 2521+ -1, 2522+ cancellable, 2523+ error); 2524+ if (_ret == NULL) 2525+ goto _out; 2526+ g_variant_get (_ret, 2527+ "(b)", 2528+ out_has_owner); 2529+ g_variant_unref (_ret); 2530+_out: 2531+ return _ret != NULL; 2532+} 2533+ 2534+/** 2535+ * _g_freedesktop_dbus_call_list_names: 2536+ * @proxy: A #_GFreedesktopDBusProxy. 2537+ * @cancellable: (nullable): A #GCancellable or %NULL. 2538+ * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. 2539+ * @user_data: User data to pass to @callback. 2540+ * 2541+ * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-DBus.ListNames">ListNames()</link> D-Bus method on @proxy. 2542+ * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). 2543+ * You can then call _g_freedesktop_dbus_call_list_names_finish() to get the result of the operation. 2544+ * 2545+ * See _g_freedesktop_dbus_call_list_names_sync() for the synchronous, blocking version of this method. 2546+ */ 2547+void 2548+_g_freedesktop_dbus_call_list_names ( 2549+ _GFreedesktopDBus *proxy, 2550+ GCancellable *cancellable, 2551+ GAsyncReadyCallback callback, 2552+ gpointer user_data) 2553+{ 2554+ g_dbus_proxy_call (G_DBUS_PROXY (proxy), 2555+ "ListNames", 2556+ g_variant_new ("()"), 2557+ G_DBUS_CALL_FLAGS_NONE, 2558+ -1, 2559+ cancellable, 2560+ callback, 2561+ user_data); 2562+} 2563+ 2564+/** 2565+ * _g_freedesktop_dbus_call_list_names_finish: 2566+ * @proxy: A #_GFreedesktopDBusProxy. 2567+ * @out_names: (out) (optional) (array zero-terminated=1): Return location for return parameter or %NULL to ignore. 2568+ * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to _g_freedesktop_dbus_call_list_names(). 2569+ * @error: Return location for error or %NULL. 2570+ * 2571+ * Finishes an operation started with _g_freedesktop_dbus_call_list_names(). 2572+ * 2573+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 2574+ */ 2575+gboolean 2576+_g_freedesktop_dbus_call_list_names_finish ( 2577+ _GFreedesktopDBus *proxy, 2578+ gchar ***out_names, 2579+ GAsyncResult *res, 2580+ GError **error) 2581+{ 2582+ GVariant *_ret; 2583+ _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error); 2584+ if (_ret == NULL) 2585+ goto _out; 2586+ g_variant_get (_ret, 2587+ "(^as)", 2588+ out_names); 2589+ g_variant_unref (_ret); 2590+_out: 2591+ return _ret != NULL; 2592+} 2593+ 2594+/** 2595+ * _g_freedesktop_dbus_call_list_names_sync: 2596+ * @proxy: A #_GFreedesktopDBusProxy. 2597+ * @out_names: (out) (optional) (array zero-terminated=1): Return location for return parameter or %NULL to ignore. 2598+ * @cancellable: (nullable): A #GCancellable or %NULL. 2599+ * @error: Return location for error or %NULL. 2600+ * 2601+ * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-DBus.ListNames">ListNames()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received. 2602+ * 2603+ * See _g_freedesktop_dbus_call_list_names() for the asynchronous version of this method. 2604+ * 2605+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 2606+ */ 2607+gboolean 2608+_g_freedesktop_dbus_call_list_names_sync ( 2609+ _GFreedesktopDBus *proxy, 2610+ gchar ***out_names, 2611+ GCancellable *cancellable, 2612+ GError **error) 2613+{ 2614+ GVariant *_ret; 2615+ _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy), 2616+ "ListNames", 2617+ g_variant_new ("()"), 2618+ G_DBUS_CALL_FLAGS_NONE, 2619+ -1, 2620+ cancellable, 2621+ error); 2622+ if (_ret == NULL) 2623+ goto _out; 2624+ g_variant_get (_ret, 2625+ "(^as)", 2626+ out_names); 2627+ g_variant_unref (_ret); 2628+_out: 2629+ return _ret != NULL; 2630+} 2631+ 2632+/** 2633+ * _g_freedesktop_dbus_call_list_activatable_names: 2634+ * @proxy: A #_GFreedesktopDBusProxy. 2635+ * @cancellable: (nullable): A #GCancellable or %NULL. 2636+ * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. 2637+ * @user_data: User data to pass to @callback. 2638+ * 2639+ * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-DBus.ListActivatableNames">ListActivatableNames()</link> D-Bus method on @proxy. 2640+ * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). 2641+ * You can then call _g_freedesktop_dbus_call_list_activatable_names_finish() to get the result of the operation. 2642+ * 2643+ * See _g_freedesktop_dbus_call_list_activatable_names_sync() for the synchronous, blocking version of this method. 2644+ */ 2645+void 2646+_g_freedesktop_dbus_call_list_activatable_names ( 2647+ _GFreedesktopDBus *proxy, 2648+ GCancellable *cancellable, 2649+ GAsyncReadyCallback callback, 2650+ gpointer user_data) 2651+{ 2652+ g_dbus_proxy_call (G_DBUS_PROXY (proxy), 2653+ "ListActivatableNames", 2654+ g_variant_new ("()"), 2655+ G_DBUS_CALL_FLAGS_NONE, 2656+ -1, 2657+ cancellable, 2658+ callback, 2659+ user_data); 2660+} 2661+ 2662+/** 2663+ * _g_freedesktop_dbus_call_list_activatable_names_finish: 2664+ * @proxy: A #_GFreedesktopDBusProxy. 2665+ * @out_activatable_names: (out) (optional) (array zero-terminated=1): Return location for return parameter or %NULL to ignore. 2666+ * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to _g_freedesktop_dbus_call_list_activatable_names(). 2667+ * @error: Return location for error or %NULL. 2668+ * 2669+ * Finishes an operation started with _g_freedesktop_dbus_call_list_activatable_names(). 2670+ * 2671+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 2672+ */ 2673+gboolean 2674+_g_freedesktop_dbus_call_list_activatable_names_finish ( 2675+ _GFreedesktopDBus *proxy, 2676+ gchar ***out_activatable_names, 2677+ GAsyncResult *res, 2678+ GError **error) 2679+{ 2680+ GVariant *_ret; 2681+ _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error); 2682+ if (_ret == NULL) 2683+ goto _out; 2684+ g_variant_get (_ret, 2685+ "(^as)", 2686+ out_activatable_names); 2687+ g_variant_unref (_ret); 2688+_out: 2689+ return _ret != NULL; 2690+} 2691+ 2692+/** 2693+ * _g_freedesktop_dbus_call_list_activatable_names_sync: 2694+ * @proxy: A #_GFreedesktopDBusProxy. 2695+ * @out_activatable_names: (out) (optional) (array zero-terminated=1): Return location for return parameter or %NULL to ignore. 2696+ * @cancellable: (nullable): A #GCancellable or %NULL. 2697+ * @error: Return location for error or %NULL. 2698+ * 2699+ * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-DBus.ListActivatableNames">ListActivatableNames()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received. 2700+ * 2701+ * See _g_freedesktop_dbus_call_list_activatable_names() for the asynchronous version of this method. 2702+ * 2703+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 2704+ */ 2705+gboolean 2706+_g_freedesktop_dbus_call_list_activatable_names_sync ( 2707+ _GFreedesktopDBus *proxy, 2708+ gchar ***out_activatable_names, 2709+ GCancellable *cancellable, 2710+ GError **error) 2711+{ 2712+ GVariant *_ret; 2713+ _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy), 2714+ "ListActivatableNames", 2715+ g_variant_new ("()"), 2716+ G_DBUS_CALL_FLAGS_NONE, 2717+ -1, 2718+ cancellable, 2719+ error); 2720+ if (_ret == NULL) 2721+ goto _out; 2722+ g_variant_get (_ret, 2723+ "(^as)", 2724+ out_activatable_names); 2725+ g_variant_unref (_ret); 2726+_out: 2727+ return _ret != NULL; 2728+} 2729+ 2730+/** 2731+ * _g_freedesktop_dbus_call_add_match: 2732+ * @proxy: A #_GFreedesktopDBusProxy. 2733+ * @arg_rule: Argument to pass with the method invocation. 2734+ * @cancellable: (nullable): A #GCancellable or %NULL. 2735+ * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. 2736+ * @user_data: User data to pass to @callback. 2737+ * 2738+ * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-DBus.AddMatch">AddMatch()</link> D-Bus method on @proxy. 2739+ * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). 2740+ * You can then call _g_freedesktop_dbus_call_add_match_finish() to get the result of the operation. 2741+ * 2742+ * See _g_freedesktop_dbus_call_add_match_sync() for the synchronous, blocking version of this method. 2743+ */ 2744+void 2745+_g_freedesktop_dbus_call_add_match ( 2746+ _GFreedesktopDBus *proxy, 2747+ const gchar *arg_rule, 2748+ GCancellable *cancellable, 2749+ GAsyncReadyCallback callback, 2750+ gpointer user_data) 2751+{ 2752+ g_dbus_proxy_call (G_DBUS_PROXY (proxy), 2753+ "AddMatch", 2754+ g_variant_new ("(s)", 2755+ arg_rule), 2756+ G_DBUS_CALL_FLAGS_NONE, 2757+ -1, 2758+ cancellable, 2759+ callback, 2760+ user_data); 2761+} 2762+ 2763+/** 2764+ * _g_freedesktop_dbus_call_add_match_finish: 2765+ * @proxy: A #_GFreedesktopDBusProxy. 2766+ * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to _g_freedesktop_dbus_call_add_match(). 2767+ * @error: Return location for error or %NULL. 2768+ * 2769+ * Finishes an operation started with _g_freedesktop_dbus_call_add_match(). 2770+ * 2771+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 2772+ */ 2773+gboolean 2774+_g_freedesktop_dbus_call_add_match_finish ( 2775+ _GFreedesktopDBus *proxy, 2776+ GAsyncResult *res, 2777+ GError **error) 2778+{ 2779+ GVariant *_ret; 2780+ _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error); 2781+ if (_ret == NULL) 2782+ goto _out; 2783+ g_variant_get (_ret, 2784+ "()"); 2785+ g_variant_unref (_ret); 2786+_out: 2787+ return _ret != NULL; 2788+} 2789+ 2790+/** 2791+ * _g_freedesktop_dbus_call_add_match_sync: 2792+ * @proxy: A #_GFreedesktopDBusProxy. 2793+ * @arg_rule: Argument to pass with the method invocation. 2794+ * @cancellable: (nullable): A #GCancellable or %NULL. 2795+ * @error: Return location for error or %NULL. 2796+ * 2797+ * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-DBus.AddMatch">AddMatch()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received. 2798+ * 2799+ * See _g_freedesktop_dbus_call_add_match() for the asynchronous version of this method. 2800+ * 2801+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 2802+ */ 2803+gboolean 2804+_g_freedesktop_dbus_call_add_match_sync ( 2805+ _GFreedesktopDBus *proxy, 2806+ const gchar *arg_rule, 2807+ GCancellable *cancellable, 2808+ GError **error) 2809+{ 2810+ GVariant *_ret; 2811+ _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy), 2812+ "AddMatch", 2813+ g_variant_new ("(s)", 2814+ arg_rule), 2815+ G_DBUS_CALL_FLAGS_NONE, 2816+ -1, 2817+ cancellable, 2818+ error); 2819+ if (_ret == NULL) 2820+ goto _out; 2821+ g_variant_get (_ret, 2822+ "()"); 2823+ g_variant_unref (_ret); 2824+_out: 2825+ return _ret != NULL; 2826+} 2827+ 2828+/** 2829+ * _g_freedesktop_dbus_call_remove_match: 2830+ * @proxy: A #_GFreedesktopDBusProxy. 2831+ * @arg_rule: Argument to pass with the method invocation. 2832+ * @cancellable: (nullable): A #GCancellable or %NULL. 2833+ * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. 2834+ * @user_data: User data to pass to @callback. 2835+ * 2836+ * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-DBus.RemoveMatch">RemoveMatch()</link> D-Bus method on @proxy. 2837+ * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). 2838+ * You can then call _g_freedesktop_dbus_call_remove_match_finish() to get the result of the operation. 2839+ * 2840+ * See _g_freedesktop_dbus_call_remove_match_sync() for the synchronous, blocking version of this method. 2841+ */ 2842+void 2843+_g_freedesktop_dbus_call_remove_match ( 2844+ _GFreedesktopDBus *proxy, 2845+ const gchar *arg_rule, 2846+ GCancellable *cancellable, 2847+ GAsyncReadyCallback callback, 2848+ gpointer user_data) 2849+{ 2850+ g_dbus_proxy_call (G_DBUS_PROXY (proxy), 2851+ "RemoveMatch", 2852+ g_variant_new ("(s)", 2853+ arg_rule), 2854+ G_DBUS_CALL_FLAGS_NONE, 2855+ -1, 2856+ cancellable, 2857+ callback, 2858+ user_data); 2859+} 2860+ 2861+/** 2862+ * _g_freedesktop_dbus_call_remove_match_finish: 2863+ * @proxy: A #_GFreedesktopDBusProxy. 2864+ * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to _g_freedesktop_dbus_call_remove_match(). 2865+ * @error: Return location for error or %NULL. 2866+ * 2867+ * Finishes an operation started with _g_freedesktop_dbus_call_remove_match(). 2868+ * 2869+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 2870+ */ 2871+gboolean 2872+_g_freedesktop_dbus_call_remove_match_finish ( 2873+ _GFreedesktopDBus *proxy, 2874+ GAsyncResult *res, 2875+ GError **error) 2876+{ 2877+ GVariant *_ret; 2878+ _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error); 2879+ if (_ret == NULL) 2880+ goto _out; 2881+ g_variant_get (_ret, 2882+ "()"); 2883+ g_variant_unref (_ret); 2884+_out: 2885+ return _ret != NULL; 2886+} 2887+ 2888+/** 2889+ * _g_freedesktop_dbus_call_remove_match_sync: 2890+ * @proxy: A #_GFreedesktopDBusProxy. 2891+ * @arg_rule: Argument to pass with the method invocation. 2892+ * @cancellable: (nullable): A #GCancellable or %NULL. 2893+ * @error: Return location for error or %NULL. 2894+ * 2895+ * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-DBus.RemoveMatch">RemoveMatch()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received. 2896+ * 2897+ * See _g_freedesktop_dbus_call_remove_match() for the asynchronous version of this method. 2898+ * 2899+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 2900+ */ 2901+gboolean 2902+_g_freedesktop_dbus_call_remove_match_sync ( 2903+ _GFreedesktopDBus *proxy, 2904+ const gchar *arg_rule, 2905+ GCancellable *cancellable, 2906+ GError **error) 2907+{ 2908+ GVariant *_ret; 2909+ _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy), 2910+ "RemoveMatch", 2911+ g_variant_new ("(s)", 2912+ arg_rule), 2913+ G_DBUS_CALL_FLAGS_NONE, 2914+ -1, 2915+ cancellable, 2916+ error); 2917+ if (_ret == NULL) 2918+ goto _out; 2919+ g_variant_get (_ret, 2920+ "()"); 2921+ g_variant_unref (_ret); 2922+_out: 2923+ return _ret != NULL; 2924+} 2925+ 2926+/** 2927+ * _g_freedesktop_dbus_call_get_name_owner: 2928+ * @proxy: A #_GFreedesktopDBusProxy. 2929+ * @arg_name: Argument to pass with the method invocation. 2930+ * @cancellable: (nullable): A #GCancellable or %NULL. 2931+ * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. 2932+ * @user_data: User data to pass to @callback. 2933+ * 2934+ * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-DBus.GetNameOwner">GetNameOwner()</link> D-Bus method on @proxy. 2935+ * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). 2936+ * You can then call _g_freedesktop_dbus_call_get_name_owner_finish() to get the result of the operation. 2937+ * 2938+ * See _g_freedesktop_dbus_call_get_name_owner_sync() for the synchronous, blocking version of this method. 2939+ */ 2940+void 2941+_g_freedesktop_dbus_call_get_name_owner ( 2942+ _GFreedesktopDBus *proxy, 2943+ const gchar *arg_name, 2944+ GCancellable *cancellable, 2945+ GAsyncReadyCallback callback, 2946+ gpointer user_data) 2947+{ 2948+ g_dbus_proxy_call (G_DBUS_PROXY (proxy), 2949+ "GetNameOwner", 2950+ g_variant_new ("(s)", 2951+ arg_name), 2952+ G_DBUS_CALL_FLAGS_NONE, 2953+ -1, 2954+ cancellable, 2955+ callback, 2956+ user_data); 2957+} 2958+ 2959+/** 2960+ * _g_freedesktop_dbus_call_get_name_owner_finish: 2961+ * @proxy: A #_GFreedesktopDBusProxy. 2962+ * @out_unique_name: (out) (optional): Return location for return parameter or %NULL to ignore. 2963+ * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to _g_freedesktop_dbus_call_get_name_owner(). 2964+ * @error: Return location for error or %NULL. 2965+ * 2966+ * Finishes an operation started with _g_freedesktop_dbus_call_get_name_owner(). 2967+ * 2968+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 2969+ */ 2970+gboolean 2971+_g_freedesktop_dbus_call_get_name_owner_finish ( 2972+ _GFreedesktopDBus *proxy, 2973+ gchar **out_unique_name, 2974+ GAsyncResult *res, 2975+ GError **error) 2976+{ 2977+ GVariant *_ret; 2978+ _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error); 2979+ if (_ret == NULL) 2980+ goto _out; 2981+ g_variant_get (_ret, 2982+ "(s)", 2983+ out_unique_name); 2984+ g_variant_unref (_ret); 2985+_out: 2986+ return _ret != NULL; 2987+} 2988+ 2989+/** 2990+ * _g_freedesktop_dbus_call_get_name_owner_sync: 2991+ * @proxy: A #_GFreedesktopDBusProxy. 2992+ * @arg_name: Argument to pass with the method invocation. 2993+ * @out_unique_name: (out) (optional): Return location for return parameter or %NULL to ignore. 2994+ * @cancellable: (nullable): A #GCancellable or %NULL. 2995+ * @error: Return location for error or %NULL. 2996+ * 2997+ * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-DBus.GetNameOwner">GetNameOwner()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received. 2998+ * 2999+ * See _g_freedesktop_dbus_call_get_name_owner() for the asynchronous version of this method. 3000+ * 3001+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 3002+ */ 3003+gboolean 3004+_g_freedesktop_dbus_call_get_name_owner_sync ( 3005+ _GFreedesktopDBus *proxy, 3006+ const gchar *arg_name, 3007+ gchar **out_unique_name, 3008+ GCancellable *cancellable, 3009+ GError **error) 3010+{ 3011+ GVariant *_ret; 3012+ _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy), 3013+ "GetNameOwner", 3014+ g_variant_new ("(s)", 3015+ arg_name), 3016+ G_DBUS_CALL_FLAGS_NONE, 3017+ -1, 3018+ cancellable, 3019+ error); 3020+ if (_ret == NULL) 3021+ goto _out; 3022+ g_variant_get (_ret, 3023+ "(s)", 3024+ out_unique_name); 3025+ g_variant_unref (_ret); 3026+_out: 3027+ return _ret != NULL; 3028+} 3029+ 3030+/** 3031+ * _g_freedesktop_dbus_call_list_queued_owners: 3032+ * @proxy: A #_GFreedesktopDBusProxy. 3033+ * @arg_name: Argument to pass with the method invocation. 3034+ * @cancellable: (nullable): A #GCancellable or %NULL. 3035+ * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. 3036+ * @user_data: User data to pass to @callback. 3037+ * 3038+ * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-DBus.ListQueuedOwners">ListQueuedOwners()</link> D-Bus method on @proxy. 3039+ * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). 3040+ * You can then call _g_freedesktop_dbus_call_list_queued_owners_finish() to get the result of the operation. 3041+ * 3042+ * See _g_freedesktop_dbus_call_list_queued_owners_sync() for the synchronous, blocking version of this method. 3043+ */ 3044+void 3045+_g_freedesktop_dbus_call_list_queued_owners ( 3046+ _GFreedesktopDBus *proxy, 3047+ const gchar *arg_name, 3048+ GCancellable *cancellable, 3049+ GAsyncReadyCallback callback, 3050+ gpointer user_data) 3051+{ 3052+ g_dbus_proxy_call (G_DBUS_PROXY (proxy), 3053+ "ListQueuedOwners", 3054+ g_variant_new ("(s)", 3055+ arg_name), 3056+ G_DBUS_CALL_FLAGS_NONE, 3057+ -1, 3058+ cancellable, 3059+ callback, 3060+ user_data); 3061+} 3062+ 3063+/** 3064+ * _g_freedesktop_dbus_call_list_queued_owners_finish: 3065+ * @proxy: A #_GFreedesktopDBusProxy. 3066+ * @out_queued_owners: (out) (optional) (array zero-terminated=1): Return location for return parameter or %NULL to ignore. 3067+ * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to _g_freedesktop_dbus_call_list_queued_owners(). 3068+ * @error: Return location for error or %NULL. 3069+ * 3070+ * Finishes an operation started with _g_freedesktop_dbus_call_list_queued_owners(). 3071+ * 3072+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 3073+ */ 3074+gboolean 3075+_g_freedesktop_dbus_call_list_queued_owners_finish ( 3076+ _GFreedesktopDBus *proxy, 3077+ gchar ***out_queued_owners, 3078+ GAsyncResult *res, 3079+ GError **error) 3080+{ 3081+ GVariant *_ret; 3082+ _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error); 3083+ if (_ret == NULL) 3084+ goto _out; 3085+ g_variant_get (_ret, 3086+ "(^as)", 3087+ out_queued_owners); 3088+ g_variant_unref (_ret); 3089+_out: 3090+ return _ret != NULL; 3091+} 3092+ 3093+/** 3094+ * _g_freedesktop_dbus_call_list_queued_owners_sync: 3095+ * @proxy: A #_GFreedesktopDBusProxy. 3096+ * @arg_name: Argument to pass with the method invocation. 3097+ * @out_queued_owners: (out) (optional) (array zero-terminated=1): Return location for return parameter or %NULL to ignore. 3098+ * @cancellable: (nullable): A #GCancellable or %NULL. 3099+ * @error: Return location for error or %NULL. 3100+ * 3101+ * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-DBus.ListQueuedOwners">ListQueuedOwners()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received. 3102+ * 3103+ * See _g_freedesktop_dbus_call_list_queued_owners() for the asynchronous version of this method. 3104+ * 3105+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 3106+ */ 3107+gboolean 3108+_g_freedesktop_dbus_call_list_queued_owners_sync ( 3109+ _GFreedesktopDBus *proxy, 3110+ const gchar *arg_name, 3111+ gchar ***out_queued_owners, 3112+ GCancellable *cancellable, 3113+ GError **error) 3114+{ 3115+ GVariant *_ret; 3116+ _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy), 3117+ "ListQueuedOwners", 3118+ g_variant_new ("(s)", 3119+ arg_name), 3120+ G_DBUS_CALL_FLAGS_NONE, 3121+ -1, 3122+ cancellable, 3123+ error); 3124+ if (_ret == NULL) 3125+ goto _out; 3126+ g_variant_get (_ret, 3127+ "(^as)", 3128+ out_queued_owners); 3129+ g_variant_unref (_ret); 3130+_out: 3131+ return _ret != NULL; 3132+} 3133+ 3134+/** 3135+ * _g_freedesktop_dbus_call_get_connection_unix_user: 3136+ * @proxy: A #_GFreedesktopDBusProxy. 3137+ * @arg_name: Argument to pass with the method invocation. 3138+ * @cancellable: (nullable): A #GCancellable or %NULL. 3139+ * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. 3140+ * @user_data: User data to pass to @callback. 3141+ * 3142+ * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-DBus.GetConnectionUnixUser">GetConnectionUnixUser()</link> D-Bus method on @proxy. 3143+ * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). 3144+ * You can then call _g_freedesktop_dbus_call_get_connection_unix_user_finish() to get the result of the operation. 3145+ * 3146+ * See _g_freedesktop_dbus_call_get_connection_unix_user_sync() for the synchronous, blocking version of this method. 3147+ */ 3148+void 3149+_g_freedesktop_dbus_call_get_connection_unix_user ( 3150+ _GFreedesktopDBus *proxy, 3151+ const gchar *arg_name, 3152+ GCancellable *cancellable, 3153+ GAsyncReadyCallback callback, 3154+ gpointer user_data) 3155+{ 3156+ g_dbus_proxy_call (G_DBUS_PROXY (proxy), 3157+ "GetConnectionUnixUser", 3158+ g_variant_new ("(s)", 3159+ arg_name), 3160+ G_DBUS_CALL_FLAGS_NONE, 3161+ -1, 3162+ cancellable, 3163+ callback, 3164+ user_data); 3165+} 3166+ 3167+/** 3168+ * _g_freedesktop_dbus_call_get_connection_unix_user_finish: 3169+ * @proxy: A #_GFreedesktopDBusProxy. 3170+ * @out_uid: (out) (optional): Return location for return parameter or %NULL to ignore. 3171+ * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to _g_freedesktop_dbus_call_get_connection_unix_user(). 3172+ * @error: Return location for error or %NULL. 3173+ * 3174+ * Finishes an operation started with _g_freedesktop_dbus_call_get_connection_unix_user(). 3175+ * 3176+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 3177+ */ 3178+gboolean 3179+_g_freedesktop_dbus_call_get_connection_unix_user_finish ( 3180+ _GFreedesktopDBus *proxy, 3181+ guint *out_uid, 3182+ GAsyncResult *res, 3183+ GError **error) 3184+{ 3185+ GVariant *_ret; 3186+ _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error); 3187+ if (_ret == NULL) 3188+ goto _out; 3189+ g_variant_get (_ret, 3190+ "(u)", 3191+ out_uid); 3192+ g_variant_unref (_ret); 3193+_out: 3194+ return _ret != NULL; 3195+} 3196+ 3197+/** 3198+ * _g_freedesktop_dbus_call_get_connection_unix_user_sync: 3199+ * @proxy: A #_GFreedesktopDBusProxy. 3200+ * @arg_name: Argument to pass with the method invocation. 3201+ * @out_uid: (out) (optional): Return location for return parameter or %NULL to ignore. 3202+ * @cancellable: (nullable): A #GCancellable or %NULL. 3203+ * @error: Return location for error or %NULL. 3204+ * 3205+ * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-DBus.GetConnectionUnixUser">GetConnectionUnixUser()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received. 3206+ * 3207+ * See _g_freedesktop_dbus_call_get_connection_unix_user() for the asynchronous version of this method. 3208+ * 3209+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 3210+ */ 3211+gboolean 3212+_g_freedesktop_dbus_call_get_connection_unix_user_sync ( 3213+ _GFreedesktopDBus *proxy, 3214+ const gchar *arg_name, 3215+ guint *out_uid, 3216+ GCancellable *cancellable, 3217+ GError **error) 3218+{ 3219+ GVariant *_ret; 3220+ _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy), 3221+ "GetConnectionUnixUser", 3222+ g_variant_new ("(s)", 3223+ arg_name), 3224+ G_DBUS_CALL_FLAGS_NONE, 3225+ -1, 3226+ cancellable, 3227+ error); 3228+ if (_ret == NULL) 3229+ goto _out; 3230+ g_variant_get (_ret, 3231+ "(u)", 3232+ out_uid); 3233+ g_variant_unref (_ret); 3234+_out: 3235+ return _ret != NULL; 3236+} 3237+ 3238+/** 3239+ * _g_freedesktop_dbus_call_get_connection_unix_process_id: 3240+ * @proxy: A #_GFreedesktopDBusProxy. 3241+ * @arg_name: Argument to pass with the method invocation. 3242+ * @cancellable: (nullable): A #GCancellable or %NULL. 3243+ * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. 3244+ * @user_data: User data to pass to @callback. 3245+ * 3246+ * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-DBus.GetConnectionUnixProcessID">GetConnectionUnixProcessID()</link> D-Bus method on @proxy. 3247+ * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). 3248+ * You can then call _g_freedesktop_dbus_call_get_connection_unix_process_id_finish() to get the result of the operation. 3249+ * 3250+ * See _g_freedesktop_dbus_call_get_connection_unix_process_id_sync() for the synchronous, blocking version of this method. 3251+ */ 3252+void 3253+_g_freedesktop_dbus_call_get_connection_unix_process_id ( 3254+ _GFreedesktopDBus *proxy, 3255+ const gchar *arg_name, 3256+ GCancellable *cancellable, 3257+ GAsyncReadyCallback callback, 3258+ gpointer user_data) 3259+{ 3260+ g_dbus_proxy_call (G_DBUS_PROXY (proxy), 3261+ "GetConnectionUnixProcessID", 3262+ g_variant_new ("(s)", 3263+ arg_name), 3264+ G_DBUS_CALL_FLAGS_NONE, 3265+ -1, 3266+ cancellable, 3267+ callback, 3268+ user_data); 3269+} 3270+ 3271+/** 3272+ * _g_freedesktop_dbus_call_get_connection_unix_process_id_finish: 3273+ * @proxy: A #_GFreedesktopDBusProxy. 3274+ * @out_pid: (out) (optional): Return location for return parameter or %NULL to ignore. 3275+ * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to _g_freedesktop_dbus_call_get_connection_unix_process_id(). 3276+ * @error: Return location for error or %NULL. 3277+ * 3278+ * Finishes an operation started with _g_freedesktop_dbus_call_get_connection_unix_process_id(). 3279+ * 3280+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 3281+ */ 3282+gboolean 3283+_g_freedesktop_dbus_call_get_connection_unix_process_id_finish ( 3284+ _GFreedesktopDBus *proxy, 3285+ guint *out_pid, 3286+ GAsyncResult *res, 3287+ GError **error) 3288+{ 3289+ GVariant *_ret; 3290+ _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error); 3291+ if (_ret == NULL) 3292+ goto _out; 3293+ g_variant_get (_ret, 3294+ "(u)", 3295+ out_pid); 3296+ g_variant_unref (_ret); 3297+_out: 3298+ return _ret != NULL; 3299+} 3300+ 3301+/** 3302+ * _g_freedesktop_dbus_call_get_connection_unix_process_id_sync: 3303+ * @proxy: A #_GFreedesktopDBusProxy. 3304+ * @arg_name: Argument to pass with the method invocation. 3305+ * @out_pid: (out) (optional): Return location for return parameter or %NULL to ignore. 3306+ * @cancellable: (nullable): A #GCancellable or %NULL. 3307+ * @error: Return location for error or %NULL. 3308+ * 3309+ * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-DBus.GetConnectionUnixProcessID">GetConnectionUnixProcessID()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received. 3310+ * 3311+ * See _g_freedesktop_dbus_call_get_connection_unix_process_id() for the asynchronous version of this method. 3312+ * 3313+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 3314+ */ 3315+gboolean 3316+_g_freedesktop_dbus_call_get_connection_unix_process_id_sync ( 3317+ _GFreedesktopDBus *proxy, 3318+ const gchar *arg_name, 3319+ guint *out_pid, 3320+ GCancellable *cancellable, 3321+ GError **error) 3322+{ 3323+ GVariant *_ret; 3324+ _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy), 3325+ "GetConnectionUnixProcessID", 3326+ g_variant_new ("(s)", 3327+ arg_name), 3328+ G_DBUS_CALL_FLAGS_NONE, 3329+ -1, 3330+ cancellable, 3331+ error); 3332+ if (_ret == NULL) 3333+ goto _out; 3334+ g_variant_get (_ret, 3335+ "(u)", 3336+ out_pid); 3337+ g_variant_unref (_ret); 3338+_out: 3339+ return _ret != NULL; 3340+} 3341+ 3342+/** 3343+ * _g_freedesktop_dbus_call_get_connection_selinux_security_context: 3344+ * @proxy: A #_GFreedesktopDBusProxy. 3345+ * @arg_name: Argument to pass with the method invocation. 3346+ * @cancellable: (nullable): A #GCancellable or %NULL. 3347+ * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. 3348+ * @user_data: User data to pass to @callback. 3349+ * 3350+ * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-DBus.GetConnectionSELinuxSecurityContext">GetConnectionSELinuxSecurityContext()</link> D-Bus method on @proxy. 3351+ * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). 3352+ * You can then call _g_freedesktop_dbus_call_get_connection_selinux_security_context_finish() to get the result of the operation. 3353+ * 3354+ * See _g_freedesktop_dbus_call_get_connection_selinux_security_context_sync() for the synchronous, blocking version of this method. 3355+ */ 3356+void 3357+_g_freedesktop_dbus_call_get_connection_selinux_security_context ( 3358+ _GFreedesktopDBus *proxy, 3359+ const gchar *arg_name, 3360+ GCancellable *cancellable, 3361+ GAsyncReadyCallback callback, 3362+ gpointer user_data) 3363+{ 3364+ g_dbus_proxy_call (G_DBUS_PROXY (proxy), 3365+ "GetConnectionSELinuxSecurityContext", 3366+ g_variant_new ("(s)", 3367+ arg_name), 3368+ G_DBUS_CALL_FLAGS_NONE, 3369+ -1, 3370+ cancellable, 3371+ callback, 3372+ user_data); 3373+} 3374+ 3375+/** 3376+ * _g_freedesktop_dbus_call_get_connection_selinux_security_context_finish: 3377+ * @proxy: A #_GFreedesktopDBusProxy. 3378+ * @out_security_context: (out) (optional): Return location for return parameter or %NULL to ignore. 3379+ * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to _g_freedesktop_dbus_call_get_connection_selinux_security_context(). 3380+ * @error: Return location for error or %NULL. 3381+ * 3382+ * Finishes an operation started with _g_freedesktop_dbus_call_get_connection_selinux_security_context(). 3383+ * 3384+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 3385+ */ 3386+gboolean 3387+_g_freedesktop_dbus_call_get_connection_selinux_security_context_finish ( 3388+ _GFreedesktopDBus *proxy, 3389+ gchar **out_security_context, 3390+ GAsyncResult *res, 3391+ GError **error) 3392+{ 3393+ GVariant *_ret; 3394+ _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error); 3395+ if (_ret == NULL) 3396+ goto _out; 3397+ g_variant_get (_ret, 3398+ "(^ay)", 3399+ out_security_context); 3400+ g_variant_unref (_ret); 3401+_out: 3402+ return _ret != NULL; 3403+} 3404+ 3405+/** 3406+ * _g_freedesktop_dbus_call_get_connection_selinux_security_context_sync: 3407+ * @proxy: A #_GFreedesktopDBusProxy. 3408+ * @arg_name: Argument to pass with the method invocation. 3409+ * @out_security_context: (out) (optional): Return location for return parameter or %NULL to ignore. 3410+ * @cancellable: (nullable): A #GCancellable or %NULL. 3411+ * @error: Return location for error or %NULL. 3412+ * 3413+ * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-DBus.GetConnectionSELinuxSecurityContext">GetConnectionSELinuxSecurityContext()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received. 3414+ * 3415+ * See _g_freedesktop_dbus_call_get_connection_selinux_security_context() for the asynchronous version of this method. 3416+ * 3417+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 3418+ */ 3419+gboolean 3420+_g_freedesktop_dbus_call_get_connection_selinux_security_context_sync ( 3421+ _GFreedesktopDBus *proxy, 3422+ const gchar *arg_name, 3423+ gchar **out_security_context, 3424+ GCancellable *cancellable, 3425+ GError **error) 3426+{ 3427+ GVariant *_ret; 3428+ _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy), 3429+ "GetConnectionSELinuxSecurityContext", 3430+ g_variant_new ("(s)", 3431+ arg_name), 3432+ G_DBUS_CALL_FLAGS_NONE, 3433+ -1, 3434+ cancellable, 3435+ error); 3436+ if (_ret == NULL) 3437+ goto _out; 3438+ g_variant_get (_ret, 3439+ "(^ay)", 3440+ out_security_context); 3441+ g_variant_unref (_ret); 3442+_out: 3443+ return _ret != NULL; 3444+} 3445+ 3446+/** 3447+ * _g_freedesktop_dbus_call_update_activation_environment: 3448+ * @proxy: A #_GFreedesktopDBusProxy. 3449+ * @arg_environment: Argument to pass with the method invocation. 3450+ * @cancellable: (nullable): A #GCancellable or %NULL. 3451+ * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. 3452+ * @user_data: User data to pass to @callback. 3453+ * 3454+ * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-DBus.UpdateActivationEnvironment">UpdateActivationEnvironment()</link> D-Bus method on @proxy. 3455+ * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). 3456+ * You can then call _g_freedesktop_dbus_call_update_activation_environment_finish() to get the result of the operation. 3457+ * 3458+ * See _g_freedesktop_dbus_call_update_activation_environment_sync() for the synchronous, blocking version of this method. 3459+ */ 3460+void 3461+_g_freedesktop_dbus_call_update_activation_environment ( 3462+ _GFreedesktopDBus *proxy, 3463+ GVariant *arg_environment, 3464+ GCancellable *cancellable, 3465+ GAsyncReadyCallback callback, 3466+ gpointer user_data) 3467+{ 3468+ g_dbus_proxy_call (G_DBUS_PROXY (proxy), 3469+ "UpdateActivationEnvironment", 3470+ g_variant_new ("(@a{ss})", 3471+ arg_environment), 3472+ G_DBUS_CALL_FLAGS_NONE, 3473+ -1, 3474+ cancellable, 3475+ callback, 3476+ user_data); 3477+} 3478+ 3479+/** 3480+ * _g_freedesktop_dbus_call_update_activation_environment_finish: 3481+ * @proxy: A #_GFreedesktopDBusProxy. 3482+ * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to _g_freedesktop_dbus_call_update_activation_environment(). 3483+ * @error: Return location for error or %NULL. 3484+ * 3485+ * Finishes an operation started with _g_freedesktop_dbus_call_update_activation_environment(). 3486+ * 3487+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 3488+ */ 3489+gboolean 3490+_g_freedesktop_dbus_call_update_activation_environment_finish ( 3491+ _GFreedesktopDBus *proxy, 3492+ GAsyncResult *res, 3493+ GError **error) 3494+{ 3495+ GVariant *_ret; 3496+ _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error); 3497+ if (_ret == NULL) 3498+ goto _out; 3499+ g_variant_get (_ret, 3500+ "()"); 3501+ g_variant_unref (_ret); 3502+_out: 3503+ return _ret != NULL; 3504+} 3505+ 3506+/** 3507+ * _g_freedesktop_dbus_call_update_activation_environment_sync: 3508+ * @proxy: A #_GFreedesktopDBusProxy. 3509+ * @arg_environment: Argument to pass with the method invocation. 3510+ * @cancellable: (nullable): A #GCancellable or %NULL. 3511+ * @error: Return location for error or %NULL. 3512+ * 3513+ * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-DBus.UpdateActivationEnvironment">UpdateActivationEnvironment()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received. 3514+ * 3515+ * See _g_freedesktop_dbus_call_update_activation_environment() for the asynchronous version of this method. 3516+ * 3517+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 3518+ */ 3519+gboolean 3520+_g_freedesktop_dbus_call_update_activation_environment_sync ( 3521+ _GFreedesktopDBus *proxy, 3522+ GVariant *arg_environment, 3523+ GCancellable *cancellable, 3524+ GError **error) 3525+{ 3526+ GVariant *_ret; 3527+ _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy), 3528+ "UpdateActivationEnvironment", 3529+ g_variant_new ("(@a{ss})", 3530+ arg_environment), 3531+ G_DBUS_CALL_FLAGS_NONE, 3532+ -1, 3533+ cancellable, 3534+ error); 3535+ if (_ret == NULL) 3536+ goto _out; 3537+ g_variant_get (_ret, 3538+ "()"); 3539+ g_variant_unref (_ret); 3540+_out: 3541+ return _ret != NULL; 3542+} 3543+ 3544+/** 3545+ * _g_freedesktop_dbus_call_reload_config: 3546+ * @proxy: A #_GFreedesktopDBusProxy. 3547+ * @cancellable: (nullable): A #GCancellable or %NULL. 3548+ * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. 3549+ * @user_data: User data to pass to @callback. 3550+ * 3551+ * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-DBus.ReloadConfig">ReloadConfig()</link> D-Bus method on @proxy. 3552+ * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). 3553+ * You can then call _g_freedesktop_dbus_call_reload_config_finish() to get the result of the operation. 3554+ * 3555+ * See _g_freedesktop_dbus_call_reload_config_sync() for the synchronous, blocking version of this method. 3556+ */ 3557+void 3558+_g_freedesktop_dbus_call_reload_config ( 3559+ _GFreedesktopDBus *proxy, 3560+ GCancellable *cancellable, 3561+ GAsyncReadyCallback callback, 3562+ gpointer user_data) 3563+{ 3564+ g_dbus_proxy_call (G_DBUS_PROXY (proxy), 3565+ "ReloadConfig", 3566+ g_variant_new ("()"), 3567+ G_DBUS_CALL_FLAGS_NONE, 3568+ -1, 3569+ cancellable, 3570+ callback, 3571+ user_data); 3572+} 3573+ 3574+/** 3575+ * _g_freedesktop_dbus_call_reload_config_finish: 3576+ * @proxy: A #_GFreedesktopDBusProxy. 3577+ * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to _g_freedesktop_dbus_call_reload_config(). 3578+ * @error: Return location for error or %NULL. 3579+ * 3580+ * Finishes an operation started with _g_freedesktop_dbus_call_reload_config(). 3581+ * 3582+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 3583+ */ 3584+gboolean 3585+_g_freedesktop_dbus_call_reload_config_finish ( 3586+ _GFreedesktopDBus *proxy, 3587+ GAsyncResult *res, 3588+ GError **error) 3589+{ 3590+ GVariant *_ret; 3591+ _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error); 3592+ if (_ret == NULL) 3593+ goto _out; 3594+ g_variant_get (_ret, 3595+ "()"); 3596+ g_variant_unref (_ret); 3597+_out: 3598+ return _ret != NULL; 3599+} 3600+ 3601+/** 3602+ * _g_freedesktop_dbus_call_reload_config_sync: 3603+ * @proxy: A #_GFreedesktopDBusProxy. 3604+ * @cancellable: (nullable): A #GCancellable or %NULL. 3605+ * @error: Return location for error or %NULL. 3606+ * 3607+ * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-DBus.ReloadConfig">ReloadConfig()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received. 3608+ * 3609+ * See _g_freedesktop_dbus_call_reload_config() for the asynchronous version of this method. 3610+ * 3611+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 3612+ */ 3613+gboolean 3614+_g_freedesktop_dbus_call_reload_config_sync ( 3615+ _GFreedesktopDBus *proxy, 3616+ GCancellable *cancellable, 3617+ GError **error) 3618+{ 3619+ GVariant *_ret; 3620+ _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy), 3621+ "ReloadConfig", 3622+ g_variant_new ("()"), 3623+ G_DBUS_CALL_FLAGS_NONE, 3624+ -1, 3625+ cancellable, 3626+ error); 3627+ if (_ret == NULL) 3628+ goto _out; 3629+ g_variant_get (_ret, 3630+ "()"); 3631+ g_variant_unref (_ret); 3632+_out: 3633+ return _ret != NULL; 3634+} 3635+ 3636+/** 3637+ * _g_freedesktop_dbus_call_get_id: 3638+ * @proxy: A #_GFreedesktopDBusProxy. 3639+ * @cancellable: (nullable): A #GCancellable or %NULL. 3640+ * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. 3641+ * @user_data: User data to pass to @callback. 3642+ * 3643+ * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-DBus.GetId">GetId()</link> D-Bus method on @proxy. 3644+ * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). 3645+ * You can then call _g_freedesktop_dbus_call_get_id_finish() to get the result of the operation. 3646+ * 3647+ * See _g_freedesktop_dbus_call_get_id_sync() for the synchronous, blocking version of this method. 3648+ */ 3649+void 3650+_g_freedesktop_dbus_call_get_id ( 3651+ _GFreedesktopDBus *proxy, 3652+ GCancellable *cancellable, 3653+ GAsyncReadyCallback callback, 3654+ gpointer user_data) 3655+{ 3656+ g_dbus_proxy_call (G_DBUS_PROXY (proxy), 3657+ "GetId", 3658+ g_variant_new ("()"), 3659+ G_DBUS_CALL_FLAGS_NONE, 3660+ -1, 3661+ cancellable, 3662+ callback, 3663+ user_data); 3664+} 3665+ 3666+/** 3667+ * _g_freedesktop_dbus_call_get_id_finish: 3668+ * @proxy: A #_GFreedesktopDBusProxy. 3669+ * @out_unique_id: (out) (optional): Return location for return parameter or %NULL to ignore. 3670+ * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to _g_freedesktop_dbus_call_get_id(). 3671+ * @error: Return location for error or %NULL. 3672+ * 3673+ * Finishes an operation started with _g_freedesktop_dbus_call_get_id(). 3674+ * 3675+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 3676+ */ 3677+gboolean 3678+_g_freedesktop_dbus_call_get_id_finish ( 3679+ _GFreedesktopDBus *proxy, 3680+ gchar **out_unique_id, 3681+ GAsyncResult *res, 3682+ GError **error) 3683+{ 3684+ GVariant *_ret; 3685+ _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error); 3686+ if (_ret == NULL) 3687+ goto _out; 3688+ g_variant_get (_ret, 3689+ "(s)", 3690+ out_unique_id); 3691+ g_variant_unref (_ret); 3692+_out: 3693+ return _ret != NULL; 3694+} 3695+ 3696+/** 3697+ * _g_freedesktop_dbus_call_get_id_sync: 3698+ * @proxy: A #_GFreedesktopDBusProxy. 3699+ * @out_unique_id: (out) (optional): Return location for return parameter or %NULL to ignore. 3700+ * @cancellable: (nullable): A #GCancellable or %NULL. 3701+ * @error: Return location for error or %NULL. 3702+ * 3703+ * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-DBus.GetId">GetId()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received. 3704+ * 3705+ * See _g_freedesktop_dbus_call_get_id() for the asynchronous version of this method. 3706+ * 3707+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 3708+ */ 3709+gboolean 3710+_g_freedesktop_dbus_call_get_id_sync ( 3711+ _GFreedesktopDBus *proxy, 3712+ gchar **out_unique_id, 3713+ GCancellable *cancellable, 3714+ GError **error) 3715+{ 3716+ GVariant *_ret; 3717+ _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy), 3718+ "GetId", 3719+ g_variant_new ("()"), 3720+ G_DBUS_CALL_FLAGS_NONE, 3721+ -1, 3722+ cancellable, 3723+ error); 3724+ if (_ret == NULL) 3725+ goto _out; 3726+ g_variant_get (_ret, 3727+ "(s)", 3728+ out_unique_id); 3729+ g_variant_unref (_ret); 3730+_out: 3731+ return _ret != NULL; 3732+} 3733+ 3734+/** 3735+ * _g_freedesktop_dbus_complete_hello: 3736+ * @object: A #_GFreedesktopDBus. 3737+ * @invocation: (transfer full): A #GDBusMethodInvocation. 3738+ * @assigned_name: Parameter to return. 3739+ * 3740+ * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-DBus.Hello">Hello()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar. 3741+ * 3742+ * This method will free @invocation, you cannot use it afterwards. 3743+ */ 3744+void 3745+_g_freedesktop_dbus_complete_hello ( 3746+ _GFreedesktopDBus *object G_GNUC_UNUSED, 3747+ GDBusMethodInvocation *invocation, 3748+ const gchar *assigned_name) 3749+{ 3750+ g_dbus_method_invocation_return_value (invocation, 3751+ g_variant_new ("(s)", 3752+ assigned_name)); 3753+} 3754+ 3755+/** 3756+ * _g_freedesktop_dbus_complete_request_name: 3757+ * @object: A #_GFreedesktopDBus. 3758+ * @invocation: (transfer full): A #GDBusMethodInvocation. 3759+ * @value: Parameter to return. 3760+ * 3761+ * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-DBus.RequestName">RequestName()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar. 3762+ * 3763+ * This method will free @invocation, you cannot use it afterwards. 3764+ */ 3765+void 3766+_g_freedesktop_dbus_complete_request_name ( 3767+ _GFreedesktopDBus *object G_GNUC_UNUSED, 3768+ GDBusMethodInvocation *invocation, 3769+ guint value) 3770+{ 3771+ g_dbus_method_invocation_return_value (invocation, 3772+ g_variant_new ("(u)", 3773+ value)); 3774+} 3775+ 3776+/** 3777+ * _g_freedesktop_dbus_complete_release_name: 3778+ * @object: A #_GFreedesktopDBus. 3779+ * @invocation: (transfer full): A #GDBusMethodInvocation. 3780+ * @value: Parameter to return. 3781+ * 3782+ * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-DBus.ReleaseName">ReleaseName()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar. 3783+ * 3784+ * This method will free @invocation, you cannot use it afterwards. 3785+ */ 3786+void 3787+_g_freedesktop_dbus_complete_release_name ( 3788+ _GFreedesktopDBus *object G_GNUC_UNUSED, 3789+ GDBusMethodInvocation *invocation, 3790+ guint value) 3791+{ 3792+ g_dbus_method_invocation_return_value (invocation, 3793+ g_variant_new ("(u)", 3794+ value)); 3795+} 3796+ 3797+/** 3798+ * _g_freedesktop_dbus_complete_start_service_by_name: 3799+ * @object: A #_GFreedesktopDBus. 3800+ * @invocation: (transfer full): A #GDBusMethodInvocation. 3801+ * @value: Parameter to return. 3802+ * 3803+ * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-DBus.StartServiceByName">StartServiceByName()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar. 3804+ * 3805+ * This method will free @invocation, you cannot use it afterwards. 3806+ */ 3807+void 3808+_g_freedesktop_dbus_complete_start_service_by_name ( 3809+ _GFreedesktopDBus *object G_GNUC_UNUSED, 3810+ GDBusMethodInvocation *invocation, 3811+ guint value) 3812+{ 3813+ g_dbus_method_invocation_return_value (invocation, 3814+ g_variant_new ("(u)", 3815+ value)); 3816+} 3817+ 3818+/** 3819+ * _g_freedesktop_dbus_complete_name_has_owner: 3820+ * @object: A #_GFreedesktopDBus. 3821+ * @invocation: (transfer full): A #GDBusMethodInvocation. 3822+ * @has_owner: Parameter to return. 3823+ * 3824+ * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-DBus.NameHasOwner">NameHasOwner()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar. 3825+ * 3826+ * This method will free @invocation, you cannot use it afterwards. 3827+ */ 3828+void 3829+_g_freedesktop_dbus_complete_name_has_owner ( 3830+ _GFreedesktopDBus *object G_GNUC_UNUSED, 3831+ GDBusMethodInvocation *invocation, 3832+ gboolean has_owner) 3833+{ 3834+ g_dbus_method_invocation_return_value (invocation, 3835+ g_variant_new ("(b)", 3836+ has_owner)); 3837+} 3838+ 3839+/** 3840+ * _g_freedesktop_dbus_complete_list_names: 3841+ * @object: A #_GFreedesktopDBus. 3842+ * @invocation: (transfer full): A #GDBusMethodInvocation. 3843+ * @names: Parameter to return. 3844+ * 3845+ * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-DBus.ListNames">ListNames()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar. 3846+ * 3847+ * This method will free @invocation, you cannot use it afterwards. 3848+ */ 3849+void 3850+_g_freedesktop_dbus_complete_list_names ( 3851+ _GFreedesktopDBus *object G_GNUC_UNUSED, 3852+ GDBusMethodInvocation *invocation, 3853+ const gchar *const *names) 3854+{ 3855+ g_dbus_method_invocation_return_value (invocation, 3856+ g_variant_new ("(^as)", 3857+ names)); 3858+} 3859+ 3860+/** 3861+ * _g_freedesktop_dbus_complete_list_activatable_names: 3862+ * @object: A #_GFreedesktopDBus. 3863+ * @invocation: (transfer full): A #GDBusMethodInvocation. 3864+ * @activatable_names: Parameter to return. 3865+ * 3866+ * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-DBus.ListActivatableNames">ListActivatableNames()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar. 3867+ * 3868+ * This method will free @invocation, you cannot use it afterwards. 3869+ */ 3870+void 3871+_g_freedesktop_dbus_complete_list_activatable_names ( 3872+ _GFreedesktopDBus *object G_GNUC_UNUSED, 3873+ GDBusMethodInvocation *invocation, 3874+ const gchar *const *activatable_names) 3875+{ 3876+ g_dbus_method_invocation_return_value (invocation, 3877+ g_variant_new ("(^as)", 3878+ activatable_names)); 3879+} 3880+ 3881+/** 3882+ * _g_freedesktop_dbus_complete_add_match: 3883+ * @object: A #_GFreedesktopDBus. 3884+ * @invocation: (transfer full): A #GDBusMethodInvocation. 3885+ * 3886+ * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-DBus.AddMatch">AddMatch()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar. 3887+ * 3888+ * This method will free @invocation, you cannot use it afterwards. 3889+ */ 3890+void 3891+_g_freedesktop_dbus_complete_add_match ( 3892+ _GFreedesktopDBus *object G_GNUC_UNUSED, 3893+ GDBusMethodInvocation *invocation) 3894+{ 3895+ g_dbus_method_invocation_return_value (invocation, 3896+ g_variant_new ("()")); 3897+} 3898+ 3899+/** 3900+ * _g_freedesktop_dbus_complete_remove_match: 3901+ * @object: A #_GFreedesktopDBus. 3902+ * @invocation: (transfer full): A #GDBusMethodInvocation. 3903+ * 3904+ * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-DBus.RemoveMatch">RemoveMatch()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar. 3905+ * 3906+ * This method will free @invocation, you cannot use it afterwards. 3907+ */ 3908+void 3909+_g_freedesktop_dbus_complete_remove_match ( 3910+ _GFreedesktopDBus *object G_GNUC_UNUSED, 3911+ GDBusMethodInvocation *invocation) 3912+{ 3913+ g_dbus_method_invocation_return_value (invocation, 3914+ g_variant_new ("()")); 3915+} 3916+ 3917+/** 3918+ * _g_freedesktop_dbus_complete_get_name_owner: 3919+ * @object: A #_GFreedesktopDBus. 3920+ * @invocation: (transfer full): A #GDBusMethodInvocation. 3921+ * @unique_name: Parameter to return. 3922+ * 3923+ * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-DBus.GetNameOwner">GetNameOwner()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar. 3924+ * 3925+ * This method will free @invocation, you cannot use it afterwards. 3926+ */ 3927+void 3928+_g_freedesktop_dbus_complete_get_name_owner ( 3929+ _GFreedesktopDBus *object G_GNUC_UNUSED, 3930+ GDBusMethodInvocation *invocation, 3931+ const gchar *unique_name) 3932+{ 3933+ g_dbus_method_invocation_return_value (invocation, 3934+ g_variant_new ("(s)", 3935+ unique_name)); 3936+} 3937+ 3938+/** 3939+ * _g_freedesktop_dbus_complete_list_queued_owners: 3940+ * @object: A #_GFreedesktopDBus. 3941+ * @invocation: (transfer full): A #GDBusMethodInvocation. 3942+ * @queued_owners: Parameter to return. 3943+ * 3944+ * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-DBus.ListQueuedOwners">ListQueuedOwners()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar. 3945+ * 3946+ * This method will free @invocation, you cannot use it afterwards. 3947+ */ 3948+void 3949+_g_freedesktop_dbus_complete_list_queued_owners ( 3950+ _GFreedesktopDBus *object G_GNUC_UNUSED, 3951+ GDBusMethodInvocation *invocation, 3952+ const gchar *const *queued_owners) 3953+{ 3954+ g_dbus_method_invocation_return_value (invocation, 3955+ g_variant_new ("(^as)", 3956+ queued_owners)); 3957+} 3958+ 3959+/** 3960+ * _g_freedesktop_dbus_complete_get_connection_unix_user: 3961+ * @object: A #_GFreedesktopDBus. 3962+ * @invocation: (transfer full): A #GDBusMethodInvocation. 3963+ * @uid: Parameter to return. 3964+ * 3965+ * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-DBus.GetConnectionUnixUser">GetConnectionUnixUser()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar. 3966+ * 3967+ * This method will free @invocation, you cannot use it afterwards. 3968+ */ 3969+void 3970+_g_freedesktop_dbus_complete_get_connection_unix_user ( 3971+ _GFreedesktopDBus *object G_GNUC_UNUSED, 3972+ GDBusMethodInvocation *invocation, 3973+ guint uid) 3974+{ 3975+ g_dbus_method_invocation_return_value (invocation, 3976+ g_variant_new ("(u)", 3977+ uid)); 3978+} 3979+ 3980+/** 3981+ * _g_freedesktop_dbus_complete_get_connection_unix_process_id: 3982+ * @object: A #_GFreedesktopDBus. 3983+ * @invocation: (transfer full): A #GDBusMethodInvocation. 3984+ * @pid: Parameter to return. 3985+ * 3986+ * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-DBus.GetConnectionUnixProcessID">GetConnectionUnixProcessID()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar. 3987+ * 3988+ * This method will free @invocation, you cannot use it afterwards. 3989+ */ 3990+void 3991+_g_freedesktop_dbus_complete_get_connection_unix_process_id ( 3992+ _GFreedesktopDBus *object G_GNUC_UNUSED, 3993+ GDBusMethodInvocation *invocation, 3994+ guint pid) 3995+{ 3996+ g_dbus_method_invocation_return_value (invocation, 3997+ g_variant_new ("(u)", 3998+ pid)); 3999+} 4000+ 4001+/** 4002+ * _g_freedesktop_dbus_complete_get_connection_selinux_security_context: 4003+ * @object: A #_GFreedesktopDBus. 4004+ * @invocation: (transfer full): A #GDBusMethodInvocation. 4005+ * @security_context: Parameter to return. 4006+ * 4007+ * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-DBus.GetConnectionSELinuxSecurityContext">GetConnectionSELinuxSecurityContext()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar. 4008+ * 4009+ * This method will free @invocation, you cannot use it afterwards. 4010+ */ 4011+void 4012+_g_freedesktop_dbus_complete_get_connection_selinux_security_context ( 4013+ _GFreedesktopDBus *object G_GNUC_UNUSED, 4014+ GDBusMethodInvocation *invocation, 4015+ const gchar *security_context) 4016+{ 4017+ g_dbus_method_invocation_return_value (invocation, 4018+ g_variant_new ("(^ay)", 4019+ security_context)); 4020+} 4021+ 4022+/** 4023+ * _g_freedesktop_dbus_complete_update_activation_environment: 4024+ * @object: A #_GFreedesktopDBus. 4025+ * @invocation: (transfer full): A #GDBusMethodInvocation. 4026+ * 4027+ * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-DBus.UpdateActivationEnvironment">UpdateActivationEnvironment()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar. 4028+ * 4029+ * This method will free @invocation, you cannot use it afterwards. 4030+ */ 4031+void 4032+_g_freedesktop_dbus_complete_update_activation_environment ( 4033+ _GFreedesktopDBus *object G_GNUC_UNUSED, 4034+ GDBusMethodInvocation *invocation) 4035+{ 4036+ g_dbus_method_invocation_return_value (invocation, 4037+ g_variant_new ("()")); 4038+} 4039+ 4040+/** 4041+ * _g_freedesktop_dbus_complete_reload_config: 4042+ * @object: A #_GFreedesktopDBus. 4043+ * @invocation: (transfer full): A #GDBusMethodInvocation. 4044+ * 4045+ * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-DBus.ReloadConfig">ReloadConfig()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar. 4046+ * 4047+ * This method will free @invocation, you cannot use it afterwards. 4048+ */ 4049+void 4050+_g_freedesktop_dbus_complete_reload_config ( 4051+ _GFreedesktopDBus *object G_GNUC_UNUSED, 4052+ GDBusMethodInvocation *invocation) 4053+{ 4054+ g_dbus_method_invocation_return_value (invocation, 4055+ g_variant_new ("()")); 4056+} 4057+ 4058+/** 4059+ * _g_freedesktop_dbus_complete_get_id: 4060+ * @object: A #_GFreedesktopDBus. 4061+ * @invocation: (transfer full): A #GDBusMethodInvocation. 4062+ * @unique_id: Parameter to return. 4063+ * 4064+ * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-DBus.GetId">GetId()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar. 4065+ * 4066+ * This method will free @invocation, you cannot use it afterwards. 4067+ */ 4068+void 4069+_g_freedesktop_dbus_complete_get_id ( 4070+ _GFreedesktopDBus *object G_GNUC_UNUSED, 4071+ GDBusMethodInvocation *invocation, 4072+ const gchar *unique_id) 4073+{ 4074+ g_dbus_method_invocation_return_value (invocation, 4075+ g_variant_new ("(s)", 4076+ unique_id)); 4077+} 4078+ 4079+/* ------------------------------------------------------------------------ */ 4080+ 4081+/** 4082+ * _GFreedesktopDBusProxy: 4083+ * 4084+ * The #_GFreedesktopDBusProxy structure contains only private data and should only be accessed using the provided API. 4085+ */ 4086+ 4087+/** 4088+ * _GFreedesktopDBusProxyClass: 4089+ * @parent_class: The parent class. 4090+ * 4091+ * Class structure for #_GFreedesktopDBusProxy. 4092+ */ 4093+ 4094+struct __GFreedesktopDBusProxyPrivate 4095+{ 4096+ GData *qdata; 4097+}; 4098+ 4099+static void _g_freedesktop_dbus_proxy_iface_init (_GFreedesktopDBusIface *iface); 4100+ 4101+#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38 4102+G_DEFINE_TYPE_WITH_CODE (_GFreedesktopDBusProxy, _g_freedesktop_dbus_proxy, G_TYPE_DBUS_PROXY, 4103+ G_ADD_PRIVATE (_GFreedesktopDBusProxy) 4104+ G_IMPLEMENT_INTERFACE (_G_TYPE_FREEDESKTOP_DBUS, _g_freedesktop_dbus_proxy_iface_init)) 4105+ 4106+#else 4107+G_DEFINE_TYPE_WITH_CODE (_GFreedesktopDBusProxy, _g_freedesktop_dbus_proxy, G_TYPE_DBUS_PROXY, 4108+ G_IMPLEMENT_INTERFACE (_G_TYPE_FREEDESKTOP_DBUS, _g_freedesktop_dbus_proxy_iface_init)) 4109+ 4110+#endif 4111+static void 4112+_g_freedesktop_dbus_proxy_finalize (GObject *object) 4113+{ 4114+ _GFreedesktopDBusProxy *proxy = _G_FREEDESKTOP_DBUS_PROXY (object); 4115+ g_datalist_clear (&proxy->priv->qdata); 4116+ G_OBJECT_CLASS (_g_freedesktop_dbus_proxy_parent_class)->finalize (object); 4117+} 4118+ 4119+static void 4120+_g_freedesktop_dbus_proxy_get_property (GObject *object G_GNUC_UNUSED, 4121+ guint prop_id G_GNUC_UNUSED, 4122+ GValue *value G_GNUC_UNUSED, 4123+ GParamSpec *pspec G_GNUC_UNUSED) 4124+{ 4125+} 4126+ 4127+static void 4128+_g_freedesktop_dbus_proxy_set_property (GObject *object G_GNUC_UNUSED, 4129+ guint prop_id G_GNUC_UNUSED, 4130+ const GValue *value G_GNUC_UNUSED, 4131+ GParamSpec *pspec G_GNUC_UNUSED) 4132+{ 4133+} 4134+ 4135+static void 4136+_g_freedesktop_dbus_proxy_g_signal (GDBusProxy *proxy, 4137+ const gchar *sender_name G_GNUC_UNUSED, 4138+ const gchar *signal_name, 4139+ GVariant *parameters) 4140+{ 4141+ _ExtendedGDBusSignalInfo *info; 4142+ GVariantIter iter; 4143+ GVariant *child; 4144+ GValue *paramv; 4145+ gsize num_params; 4146+ gsize n; 4147+ guint signal_id; 4148+ info = (_ExtendedGDBusSignalInfo *) g_dbus_interface_info_lookup_signal ((GDBusInterfaceInfo *) &__g_freedesktop_dbus_interface_info.parent_struct, signal_name); 4149+ if (info == NULL) 4150+ return; 4151+ num_params = g_variant_n_children (parameters); 4152+ paramv = g_new0 (GValue, num_params + 1); 4153+ g_value_init (¶mv[0], _G_TYPE_FREEDESKTOP_DBUS); 4154+ g_value_set_object (¶mv[0], proxy); 4155+ g_variant_iter_init (&iter, parameters); 4156+ n = 1; 4157+ while ((child = g_variant_iter_next_value (&iter)) != NULL) 4158+ { 4159+ _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info->parent_struct.args[n - 1]; 4160+ if (arg_info->use_gvariant) 4161+ { 4162+ g_value_init (¶mv[n], G_TYPE_VARIANT); 4163+ g_value_set_variant (¶mv[n], child); 4164+ n++; 4165+ } 4166+ else 4167+ g_dbus_gvariant_to_gvalue (child, ¶mv[n++]); 4168+ g_variant_unref (child); 4169+ } 4170+ signal_id = g_signal_lookup (info->signal_name, _G_TYPE_FREEDESKTOP_DBUS); 4171+ g_signal_emitv (paramv, signal_id, 0, NULL); 4172+ for (n = 0; n < num_params + 1; n++) 4173+ g_value_unset (¶mv[n]); 4174+ g_free (paramv); 4175+} 4176+ 4177+static void 4178+_g_freedesktop_dbus_proxy_g_properties_changed (GDBusProxy *_proxy, 4179+ GVariant *changed_properties, 4180+ const gchar *const *invalidated_properties) 4181+{ 4182+ _GFreedesktopDBusProxy *proxy = _G_FREEDESKTOP_DBUS_PROXY (_proxy); 4183+ guint n; 4184+ const gchar *key; 4185+ GVariantIter *iter; 4186+ _ExtendedGDBusPropertyInfo *info; 4187+ g_variant_get (changed_properties, "a{sv}", &iter); 4188+ while (g_variant_iter_next (iter, "{&sv}", &key, NULL)) 4189+ { 4190+ info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &__g_freedesktop_dbus_interface_info.parent_struct, key); 4191+ g_datalist_remove_data (&proxy->priv->qdata, key); 4192+ if (info != NULL) 4193+ g_object_notify (G_OBJECT (proxy), info->hyphen_name); 4194+ } 4195+ g_variant_iter_free (iter); 4196+ for (n = 0; invalidated_properties[n] != NULL; n++) 4197+ { 4198+ info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &__g_freedesktop_dbus_interface_info.parent_struct, invalidated_properties[n]); 4199+ g_datalist_remove_data (&proxy->priv->qdata, invalidated_properties[n]); 4200+ if (info != NULL) 4201+ g_object_notify (G_OBJECT (proxy), info->hyphen_name); 4202+ } 4203+} 4204+ 4205+static void 4206+_g_freedesktop_dbus_proxy_init (_GFreedesktopDBusProxy *proxy) 4207+{ 4208+#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38 4209+ proxy->priv = _g_freedesktop_dbus_proxy_get_instance_private (proxy); 4210+#else 4211+ proxy->priv = G_TYPE_INSTANCE_GET_PRIVATE (proxy, _G_TYPE_FREEDESKTOP_DBUS_PROXY, _GFreedesktopDBusProxyPrivate); 4212+#endif 4213+ 4214+ g_dbus_proxy_set_interface_info (G_DBUS_PROXY (proxy), _g_freedesktop_dbus_interface_info ()); 4215+} 4216+ 4217+static void 4218+_g_freedesktop_dbus_proxy_class_init (_GFreedesktopDBusProxyClass *klass) 4219+{ 4220+ GObjectClass *gobject_class; 4221+ GDBusProxyClass *proxy_class; 4222+ 4223+ gobject_class = G_OBJECT_CLASS (klass); 4224+ gobject_class->finalize = _g_freedesktop_dbus_proxy_finalize; 4225+ gobject_class->get_property = _g_freedesktop_dbus_proxy_get_property; 4226+ gobject_class->set_property = _g_freedesktop_dbus_proxy_set_property; 4227+ 4228+ proxy_class = G_DBUS_PROXY_CLASS (klass); 4229+ proxy_class->g_signal = _g_freedesktop_dbus_proxy_g_signal; 4230+ proxy_class->g_properties_changed = _g_freedesktop_dbus_proxy_g_properties_changed; 4231+ 4232+#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_38 4233+ g_type_class_add_private (klass, sizeof (_GFreedesktopDBusProxyPrivate)); 4234+#endif 4235+} 4236+ 4237+static void 4238+_g_freedesktop_dbus_proxy_iface_init (_GFreedesktopDBusIface *iface G_GNUC_UNUSED) 4239+{ 4240+} 4241+ 4242+/** 4243+ * _g_freedesktop_dbus_proxy_new: 4244+ * @connection: A #GDBusConnection. 4245+ * @flags: Flags from the #GDBusProxyFlags enumeration. 4246+ * @name: (nullable): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection. 4247+ * @object_path: An object path. 4248+ * @cancellable: (nullable): A #GCancellable or %NULL. 4249+ * @callback: A #GAsyncReadyCallback to call when the request is satisfied. 4250+ * @user_data: User data to pass to @callback. 4251+ * 4252+ * Asynchronously creates a proxy for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-DBus.top_of_page">org.freedesktop.DBus</link>. See g_dbus_proxy_new() for more details. 4253+ * 4254+ * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). 4255+ * You can then call _g_freedesktop_dbus_proxy_new_finish() to get the result of the operation. 4256+ * 4257+ * See _g_freedesktop_dbus_proxy_new_sync() for the synchronous, blocking version of this constructor. 4258+ */ 4259+void 4260+_g_freedesktop_dbus_proxy_new ( 4261+ GDBusConnection *connection, 4262+ GDBusProxyFlags flags, 4263+ const gchar *name, 4264+ const gchar *object_path, 4265+ GCancellable *cancellable, 4266+ GAsyncReadyCallback callback, 4267+ gpointer user_data) 4268+{ 4269+ g_async_initable_new_async (_G_TYPE_FREEDESKTOP_DBUS_PROXY, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "g-flags", flags, "g-name", name, "g-connection", connection, "g-object-path", object_path, "g-interface-name", "org.freedesktop.DBus", NULL); 4270+} 4271+ 4272+/** 4273+ * _g_freedesktop_dbus_proxy_new_finish: 4274+ * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to _g_freedesktop_dbus_proxy_new(). 4275+ * @error: Return location for error or %NULL 4276+ * 4277+ * Finishes an operation started with _g_freedesktop_dbus_proxy_new(). 4278+ * 4279+ * Returns: (transfer full) (type _GFreedesktopDBusProxy): The constructed proxy object or %NULL if @error is set. 4280+ */ 4281+_GFreedesktopDBus * 4282+_g_freedesktop_dbus_proxy_new_finish ( 4283+ GAsyncResult *res, 4284+ GError **error) 4285+{ 4286+ GObject *ret; 4287+ GObject *source_object; 4288+ source_object = g_async_result_get_source_object (res); 4289+ ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error); 4290+ g_object_unref (source_object); 4291+ if (ret != NULL) 4292+ return _G_FREEDESKTOP_DBUS (ret); 4293+ else 4294+ return NULL; 4295+} 4296+ 4297+/** 4298+ * _g_freedesktop_dbus_proxy_new_sync: 4299+ * @connection: A #GDBusConnection. 4300+ * @flags: Flags from the #GDBusProxyFlags enumeration. 4301+ * @name: (nullable): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection. 4302+ * @object_path: An object path. 4303+ * @cancellable: (nullable): A #GCancellable or %NULL. 4304+ * @error: Return location for error or %NULL 4305+ * 4306+ * Synchronously creates a proxy for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-DBus.top_of_page">org.freedesktop.DBus</link>. See g_dbus_proxy_new_sync() for more details. 4307+ * 4308+ * The calling thread is blocked until a reply is received. 4309+ * 4310+ * See _g_freedesktop_dbus_proxy_new() for the asynchronous version of this constructor. 4311+ * 4312+ * Returns: (transfer full) (type _GFreedesktopDBusProxy): The constructed proxy object or %NULL if @error is set. 4313+ */ 4314+_GFreedesktopDBus * 4315+_g_freedesktop_dbus_proxy_new_sync ( 4316+ GDBusConnection *connection, 4317+ GDBusProxyFlags flags, 4318+ const gchar *name, 4319+ const gchar *object_path, 4320+ GCancellable *cancellable, 4321+ GError **error) 4322+{ 4323+ GInitable *ret; 4324+ ret = g_initable_new (_G_TYPE_FREEDESKTOP_DBUS_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-connection", connection, "g-object-path", object_path, "g-interface-name", "org.freedesktop.DBus", NULL); 4325+ if (ret != NULL) 4326+ return _G_FREEDESKTOP_DBUS (ret); 4327+ else 4328+ return NULL; 4329+} 4330+ 4331+ 4332+/** 4333+ * _g_freedesktop_dbus_proxy_new_for_bus: 4334+ * @bus_type: A #GBusType. 4335+ * @flags: Flags from the #GDBusProxyFlags enumeration. 4336+ * @name: A bus name (well-known or unique). 4337+ * @object_path: An object path. 4338+ * @cancellable: (nullable): A #GCancellable or %NULL. 4339+ * @callback: A #GAsyncReadyCallback to call when the request is satisfied. 4340+ * @user_data: User data to pass to @callback. 4341+ * 4342+ * Like _g_freedesktop_dbus_proxy_new() but takes a #GBusType instead of a #GDBusConnection. 4343+ * 4344+ * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). 4345+ * You can then call _g_freedesktop_dbus_proxy_new_for_bus_finish() to get the result of the operation. 4346+ * 4347+ * See _g_freedesktop_dbus_proxy_new_for_bus_sync() for the synchronous, blocking version of this constructor. 4348+ */ 4349+void 4350+_g_freedesktop_dbus_proxy_new_for_bus ( 4351+ GBusType bus_type, 4352+ GDBusProxyFlags flags, 4353+ const gchar *name, 4354+ const gchar *object_path, 4355+ GCancellable *cancellable, 4356+ GAsyncReadyCallback callback, 4357+ gpointer user_data) 4358+{ 4359+ g_async_initable_new_async (_G_TYPE_FREEDESKTOP_DBUS_PROXY, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "g-flags", flags, "g-name", name, "g-bus-type", bus_type, "g-object-path", object_path, "g-interface-name", "org.freedesktop.DBus", NULL); 4360+} 4361+ 4362+/** 4363+ * _g_freedesktop_dbus_proxy_new_for_bus_finish: 4364+ * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to _g_freedesktop_dbus_proxy_new_for_bus(). 4365+ * @error: Return location for error or %NULL 4366+ * 4367+ * Finishes an operation started with _g_freedesktop_dbus_proxy_new_for_bus(). 4368+ * 4369+ * Returns: (transfer full) (type _GFreedesktopDBusProxy): The constructed proxy object or %NULL if @error is set. 4370+ */ 4371+_GFreedesktopDBus * 4372+_g_freedesktop_dbus_proxy_new_for_bus_finish ( 4373+ GAsyncResult *res, 4374+ GError **error) 4375+{ 4376+ GObject *ret; 4377+ GObject *source_object; 4378+ source_object = g_async_result_get_source_object (res); 4379+ ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error); 4380+ g_object_unref (source_object); 4381+ if (ret != NULL) 4382+ return _G_FREEDESKTOP_DBUS (ret); 4383+ else 4384+ return NULL; 4385+} 4386+ 4387+/** 4388+ * _g_freedesktop_dbus_proxy_new_for_bus_sync: 4389+ * @bus_type: A #GBusType. 4390+ * @flags: Flags from the #GDBusProxyFlags enumeration. 4391+ * @name: A bus name (well-known or unique). 4392+ * @object_path: An object path. 4393+ * @cancellable: (nullable): A #GCancellable or %NULL. 4394+ * @error: Return location for error or %NULL 4395+ * 4396+ * Like _g_freedesktop_dbus_proxy_new_sync() but takes a #GBusType instead of a #GDBusConnection. 4397+ * 4398+ * The calling thread is blocked until a reply is received. 4399+ * 4400+ * See _g_freedesktop_dbus_proxy_new_for_bus() for the asynchronous version of this constructor. 4401+ * 4402+ * Returns: (transfer full) (type _GFreedesktopDBusProxy): The constructed proxy object or %NULL if @error is set. 4403+ */ 4404+_GFreedesktopDBus * 4405+_g_freedesktop_dbus_proxy_new_for_bus_sync ( 4406+ GBusType bus_type, 4407+ GDBusProxyFlags flags, 4408+ const gchar *name, 4409+ const gchar *object_path, 4410+ GCancellable *cancellable, 4411+ GError **error) 4412+{ 4413+ GInitable *ret; 4414+ ret = g_initable_new (_G_TYPE_FREEDESKTOP_DBUS_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-bus-type", bus_type, "g-object-path", object_path, "g-interface-name", "org.freedesktop.DBus", NULL); 4415+ if (ret != NULL) 4416+ return _G_FREEDESKTOP_DBUS (ret); 4417+ else 4418+ return NULL; 4419+} 4420+ 4421+ 4422+/* ------------------------------------------------------------------------ */ 4423+ 4424+/** 4425+ * _GFreedesktopDBusSkeleton: 4426+ * 4427+ * The #_GFreedesktopDBusSkeleton structure contains only private data and should only be accessed using the provided API. 4428+ */ 4429+ 4430+/** 4431+ * _GFreedesktopDBusSkeletonClass: 4432+ * @parent_class: The parent class. 4433+ * 4434+ * Class structure for #_GFreedesktopDBusSkeleton. 4435+ */ 4436+ 4437+struct __GFreedesktopDBusSkeletonPrivate 4438+{ 4439+ GValue *properties; 4440+ GList *changed_properties; 4441+ GSource *changed_properties_idle_source; 4442+ GMainContext *context; 4443+ GMutex lock; 4444+}; 4445+ 4446+static void 4447+__g_freedesktop_dbus_skeleton_handle_method_call ( 4448+ GDBusConnection *connection G_GNUC_UNUSED, 4449+ const gchar *sender G_GNUC_UNUSED, 4450+ const gchar *object_path G_GNUC_UNUSED, 4451+ const gchar *interface_name, 4452+ const gchar *method_name, 4453+ GVariant *parameters, 4454+ GDBusMethodInvocation *invocation, 4455+ gpointer user_data) 4456+{ 4457+ _GFreedesktopDBusSkeleton *skeleton = _G_FREEDESKTOP_DBUS_SKELETON (user_data); 4458+ _ExtendedGDBusMethodInfo *info; 4459+ GVariantIter iter; 4460+ GVariant *child; 4461+ GValue *paramv; 4462+ gsize num_params; 4463+ guint num_extra; 4464+ gsize n; 4465+ guint signal_id; 4466+ GValue return_value = G_VALUE_INIT; 4467+ info = (_ExtendedGDBusMethodInfo *) g_dbus_method_invocation_get_method_info (invocation); 4468+ g_assert (info != NULL); 4469+ num_params = g_variant_n_children (parameters); 4470+ num_extra = info->pass_fdlist ? 3 : 2; paramv = g_new0 (GValue, num_params + num_extra); 4471+ n = 0; 4472+ g_value_init (¶mv[n], _G_TYPE_FREEDESKTOP_DBUS); 4473+ g_value_set_object (¶mv[n++], skeleton); 4474+ g_value_init (¶mv[n], G_TYPE_DBUS_METHOD_INVOCATION); 4475+ g_value_set_object (¶mv[n++], invocation); 4476+ if (info->pass_fdlist) 4477+ { 4478+#ifdef G_OS_UNIX 4479+ g_value_init (¶mv[n], G_TYPE_UNIX_FD_LIST); 4480+ g_value_set_object (¶mv[n++], g_dbus_message_get_unix_fd_list (g_dbus_method_invocation_get_message (invocation))); 4481+#else 4482+ g_assert_not_reached (); 4483+#endif 4484+ } 4485+ g_variant_iter_init (&iter, parameters); 4486+ while ((child = g_variant_iter_next_value (&iter)) != NULL) 4487+ { 4488+ _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info->parent_struct.in_args[n - num_extra]; 4489+ if (arg_info->use_gvariant) 4490+ { 4491+ g_value_init (¶mv[n], G_TYPE_VARIANT); 4492+ g_value_set_variant (¶mv[n], child); 4493+ n++; 4494+ } 4495+ else 4496+ g_dbus_gvariant_to_gvalue (child, ¶mv[n++]); 4497+ g_variant_unref (child); 4498+ } 4499+ signal_id = g_signal_lookup (info->signal_name, _G_TYPE_FREEDESKTOP_DBUS); 4500+ g_value_init (&return_value, G_TYPE_BOOLEAN); 4501+ g_signal_emitv (paramv, signal_id, 0, &return_value); 4502+ if (!g_value_get_boolean (&return_value)) 4503+ g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, G_DBUS_ERROR_UNKNOWN_METHOD, "Method %s is not implemented on interface %s", method_name, interface_name); 4504+ g_value_unset (&return_value); 4505+ for (n = 0; n < num_params + num_extra; n++) 4506+ g_value_unset (¶mv[n]); 4507+ g_free (paramv); 4508+} 4509+ 4510+static GVariant * 4511+__g_freedesktop_dbus_skeleton_handle_get_property ( 4512+ GDBusConnection *connection G_GNUC_UNUSED, 4513+ const gchar *sender G_GNUC_UNUSED, 4514+ const gchar *object_path G_GNUC_UNUSED, 4515+ const gchar *interface_name G_GNUC_UNUSED, 4516+ const gchar *property_name, 4517+ GError **error, 4518+ gpointer user_data) 4519+{ 4520+ _GFreedesktopDBusSkeleton *skeleton = _G_FREEDESKTOP_DBUS_SKELETON (user_data); 4521+ GValue value = G_VALUE_INIT; 4522+ GParamSpec *pspec; 4523+ _ExtendedGDBusPropertyInfo *info; 4524+ GVariant *ret; 4525+ ret = NULL; 4526+ info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &__g_freedesktop_dbus_interface_info.parent_struct, property_name); 4527+ g_assert (info != NULL); 4528+ pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (skeleton), info->hyphen_name); 4529+ if (pspec == NULL) 4530+ { 4531+ g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "No property with name %s", property_name); 4532+ } 4533+ else 4534+ { 4535+ g_value_init (&value, pspec->value_type); 4536+ g_object_get_property (G_OBJECT (skeleton), info->hyphen_name, &value); 4537+ ret = g_dbus_gvalue_to_gvariant (&value, G_VARIANT_TYPE (info->parent_struct.signature)); 4538+ g_value_unset (&value); 4539+ } 4540+ return ret; 4541+} 4542+ 4543+static gboolean 4544+__g_freedesktop_dbus_skeleton_handle_set_property ( 4545+ GDBusConnection *connection G_GNUC_UNUSED, 4546+ const gchar *sender G_GNUC_UNUSED, 4547+ const gchar *object_path G_GNUC_UNUSED, 4548+ const gchar *interface_name G_GNUC_UNUSED, 4549+ const gchar *property_name, 4550+ GVariant *variant, 4551+ GError **error, 4552+ gpointer user_data) 4553+{ 4554+ _GFreedesktopDBusSkeleton *skeleton = _G_FREEDESKTOP_DBUS_SKELETON (user_data); 4555+ GValue value = G_VALUE_INIT; 4556+ GParamSpec *pspec; 4557+ _ExtendedGDBusPropertyInfo *info; 4558+ gboolean ret; 4559+ ret = FALSE; 4560+ info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &__g_freedesktop_dbus_interface_info.parent_struct, property_name); 4561+ g_assert (info != NULL); 4562+ pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (skeleton), info->hyphen_name); 4563+ if (pspec == NULL) 4564+ { 4565+ g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "No property with name %s", property_name); 4566+ } 4567+ else 4568+ { 4569+ if (info->use_gvariant) 4570+ g_value_set_variant (&value, variant); 4571+ else 4572+ g_dbus_gvariant_to_gvalue (variant, &value); 4573+ g_object_set_property (G_OBJECT (skeleton), info->hyphen_name, &value); 4574+ g_value_unset (&value); 4575+ ret = TRUE; 4576+ } 4577+ return ret; 4578+} 4579+ 4580+static const GDBusInterfaceVTable __g_freedesktop_dbus_skeleton_vtable = 4581+{ 4582+ __g_freedesktop_dbus_skeleton_handle_method_call, 4583+ __g_freedesktop_dbus_skeleton_handle_get_property, 4584+ __g_freedesktop_dbus_skeleton_handle_set_property, 4585+ {NULL} 4586+}; 4587+ 4588+static GDBusInterfaceInfo * 4589+_g_freedesktop_dbus_skeleton_dbus_interface_get_info (GDBusInterfaceSkeleton *skeleton G_GNUC_UNUSED) 4590+{ 4591+ return _g_freedesktop_dbus_interface_info (); 4592+} 4593+ 4594+static GDBusInterfaceVTable * 4595+_g_freedesktop_dbus_skeleton_dbus_interface_get_vtable (GDBusInterfaceSkeleton *skeleton G_GNUC_UNUSED) 4596+{ 4597+ return (GDBusInterfaceVTable *) &__g_freedesktop_dbus_skeleton_vtable; 4598+} 4599+ 4600+static GVariant * 4601+_g_freedesktop_dbus_skeleton_dbus_interface_get_properties (GDBusInterfaceSkeleton *_skeleton) 4602+{ 4603+ _GFreedesktopDBusSkeleton *skeleton = _G_FREEDESKTOP_DBUS_SKELETON (_skeleton); 4604+ 4605+ GVariantBuilder builder; 4606+ guint n; 4607+ g_variant_builder_init (&builder, G_VARIANT_TYPE ("a{sv}")); 4608+ if (__g_freedesktop_dbus_interface_info.parent_struct.properties == NULL) 4609+ goto out; 4610+ for (n = 0; __g_freedesktop_dbus_interface_info.parent_struct.properties[n] != NULL; n++) 4611+ { 4612+ GDBusPropertyInfo *info = __g_freedesktop_dbus_interface_info.parent_struct.properties[n]; 4613+ if (info->flags & G_DBUS_PROPERTY_INFO_FLAGS_READABLE) 4614+ { 4615+ GVariant *value; 4616+ value = __g_freedesktop_dbus_skeleton_handle_get_property (g_dbus_interface_skeleton_get_connection (G_DBUS_INTERFACE_SKELETON (skeleton)), NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "org.freedesktop.DBus", info->name, NULL, skeleton); 4617+ if (value != NULL) 4618+ { 4619+ g_variant_take_ref (value); 4620+ g_variant_builder_add (&builder, "{sv}", info->name, value); 4621+ g_variant_unref (value); 4622+ } 4623+ } 4624+ } 4625+out: 4626+ return g_variant_builder_end (&builder); 4627+} 4628+ 4629+static void 4630+_g_freedesktop_dbus_skeleton_dbus_interface_flush (GDBusInterfaceSkeleton *_skeleton G_GNUC_UNUSED) 4631+{ 4632+} 4633+ 4634+static void 4635+__g_freedesktop_dbus_on_signal_name_owner_changed ( 4636+ _GFreedesktopDBus *object, 4637+ const gchar *arg_name, 4638+ const gchar *arg_old_owner, 4639+ const gchar *arg_new_owner) 4640+{ 4641+ _GFreedesktopDBusSkeleton *skeleton = _G_FREEDESKTOP_DBUS_SKELETON (object); 4642+ 4643+ GList *connections, *l; 4644+ GVariant *signal_variant; 4645+ connections = g_dbus_interface_skeleton_get_connections (G_DBUS_INTERFACE_SKELETON (skeleton)); 4646+ 4647+ signal_variant = g_variant_ref_sink (g_variant_new ("(sss)", 4648+ arg_name, 4649+ arg_old_owner, 4650+ arg_new_owner)); 4651+ for (l = connections; l != NULL; l = l->next) 4652+ { 4653+ GDBusConnection *connection = l->data; 4654+ g_dbus_connection_emit_signal (connection, 4655+ NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "org.freedesktop.DBus", "NameOwnerChanged", 4656+ signal_variant, NULL); 4657+ } 4658+ g_variant_unref (signal_variant); 4659+ g_list_free_full (connections, g_object_unref); 4660+} 4661+ 4662+static void 4663+__g_freedesktop_dbus_on_signal_name_lost ( 4664+ _GFreedesktopDBus *object, 4665+ const gchar *arg_name) 4666+{ 4667+ _GFreedesktopDBusSkeleton *skeleton = _G_FREEDESKTOP_DBUS_SKELETON (object); 4668+ 4669+ GList *connections, *l; 4670+ GVariant *signal_variant; 4671+ connections = g_dbus_interface_skeleton_get_connections (G_DBUS_INTERFACE_SKELETON (skeleton)); 4672+ 4673+ signal_variant = g_variant_ref_sink (g_variant_new ("(s)", 4674+ arg_name)); 4675+ for (l = connections; l != NULL; l = l->next) 4676+ { 4677+ GDBusConnection *connection = l->data; 4678+ g_dbus_connection_emit_signal (connection, 4679+ NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "org.freedesktop.DBus", "NameLost", 4680+ signal_variant, NULL); 4681+ } 4682+ g_variant_unref (signal_variant); 4683+ g_list_free_full (connections, g_object_unref); 4684+} 4685+ 4686+static void 4687+__g_freedesktop_dbus_on_signal_name_acquired ( 4688+ _GFreedesktopDBus *object, 4689+ const gchar *arg_name) 4690+{ 4691+ _GFreedesktopDBusSkeleton *skeleton = _G_FREEDESKTOP_DBUS_SKELETON (object); 4692+ 4693+ GList *connections, *l; 4694+ GVariant *signal_variant; 4695+ connections = g_dbus_interface_skeleton_get_connections (G_DBUS_INTERFACE_SKELETON (skeleton)); 4696+ 4697+ signal_variant = g_variant_ref_sink (g_variant_new ("(s)", 4698+ arg_name)); 4699+ for (l = connections; l != NULL; l = l->next) 4700+ { 4701+ GDBusConnection *connection = l->data; 4702+ g_dbus_connection_emit_signal (connection, 4703+ NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "org.freedesktop.DBus", "NameAcquired", 4704+ signal_variant, NULL); 4705+ } 4706+ g_variant_unref (signal_variant); 4707+ g_list_free_full (connections, g_object_unref); 4708+} 4709+ 4710+static void _g_freedesktop_dbus_skeleton_iface_init (_GFreedesktopDBusIface *iface); 4711+#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38 4712+G_DEFINE_TYPE_WITH_CODE (_GFreedesktopDBusSkeleton, _g_freedesktop_dbus_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON, 4713+ G_ADD_PRIVATE (_GFreedesktopDBusSkeleton) 4714+ G_IMPLEMENT_INTERFACE (_G_TYPE_FREEDESKTOP_DBUS, _g_freedesktop_dbus_skeleton_iface_init)) 4715+ 4716+#else 4717+G_DEFINE_TYPE_WITH_CODE (_GFreedesktopDBusSkeleton, _g_freedesktop_dbus_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON, 4718+ G_IMPLEMENT_INTERFACE (_G_TYPE_FREEDESKTOP_DBUS, _g_freedesktop_dbus_skeleton_iface_init)) 4719+ 4720+#endif 4721+static void 4722+_g_freedesktop_dbus_skeleton_finalize (GObject *object) 4723+{ 4724+ _GFreedesktopDBusSkeleton *skeleton = _G_FREEDESKTOP_DBUS_SKELETON (object); 4725+ g_list_free_full (skeleton->priv->changed_properties, (GDestroyNotify) _changed_property_free); 4726+ if (skeleton->priv->changed_properties_idle_source != NULL) 4727+ g_source_destroy (skeleton->priv->changed_properties_idle_source); 4728+ g_main_context_unref (skeleton->priv->context); 4729+ g_mutex_clear (&skeleton->priv->lock); 4730+ G_OBJECT_CLASS (_g_freedesktop_dbus_skeleton_parent_class)->finalize (object); 4731+} 4732+ 4733+static void 4734+_g_freedesktop_dbus_skeleton_init (_GFreedesktopDBusSkeleton *skeleton) 4735+{ 4736+#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38 4737+ skeleton->priv = _g_freedesktop_dbus_skeleton_get_instance_private (skeleton); 4738+#else 4739+ skeleton->priv = G_TYPE_INSTANCE_GET_PRIVATE (skeleton, _G_TYPE_FREEDESKTOP_DBUS_SKELETON, _GFreedesktopDBusSkeletonPrivate); 4740+#endif 4741+ 4742+ g_mutex_init (&skeleton->priv->lock); 4743+ skeleton->priv->context = g_main_context_ref_thread_default (); 4744+} 4745+ 4746+static void 4747+_g_freedesktop_dbus_skeleton_class_init (_GFreedesktopDBusSkeletonClass *klass) 4748+{ 4749+ GObjectClass *gobject_class; 4750+ GDBusInterfaceSkeletonClass *skeleton_class; 4751+ 4752+ gobject_class = G_OBJECT_CLASS (klass); 4753+ gobject_class->finalize = _g_freedesktop_dbus_skeleton_finalize; 4754+ 4755+ skeleton_class = G_DBUS_INTERFACE_SKELETON_CLASS (klass); 4756+ skeleton_class->get_info = _g_freedesktop_dbus_skeleton_dbus_interface_get_info; 4757+ skeleton_class->get_properties = _g_freedesktop_dbus_skeleton_dbus_interface_get_properties; 4758+ skeleton_class->flush = _g_freedesktop_dbus_skeleton_dbus_interface_flush; 4759+ skeleton_class->get_vtable = _g_freedesktop_dbus_skeleton_dbus_interface_get_vtable; 4760+ 4761+#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_38 4762+ g_type_class_add_private (klass, sizeof (_GFreedesktopDBusSkeletonPrivate)); 4763+#endif 4764+} 4765+ 4766+static void 4767+_g_freedesktop_dbus_skeleton_iface_init (_GFreedesktopDBusIface *iface) 4768+{ 4769+ iface->name_owner_changed = __g_freedesktop_dbus_on_signal_name_owner_changed; 4770+ iface->name_lost = __g_freedesktop_dbus_on_signal_name_lost; 4771+ iface->name_acquired = __g_freedesktop_dbus_on_signal_name_acquired; 4772+} 4773+ 4774+/** 4775+ * _g_freedesktop_dbus_skeleton_new: 4776+ * 4777+ * Creates a skeleton object for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-DBus.top_of_page">org.freedesktop.DBus</link>. 4778+ * 4779+ * Returns: (transfer full) (type _GFreedesktopDBusSkeleton): The skeleton object. 4780+ */ 4781+_GFreedesktopDBus * 4782+_g_freedesktop_dbus_skeleton_new (void) 4783+{ 4784+ return _G_FREEDESKTOP_DBUS (g_object_new (_G_TYPE_FREEDESKTOP_DBUS_SKELETON, NULL)); 4785+} 4786+ 4787diff --git a/gio/gdbus-daemon-generated.h b/gio/gdbus-daemon-generated.h 4788new file mode 100644 4789index 0000000..8a99684 4790--- /dev/null 4791+++ b/gio/gdbus-daemon-generated.h 4792@@ -0,0 +1,674 @@ 4793+/* 4794+ * This file is generated by gdbus-codegen, do not modify it. 4795+ * 4796+ * The license of this code is the same as for the D-Bus interface description 4797+ * it was derived from. Note that it links to GLib, so must comply with the 4798+ * LGPL linking clauses. 4799+ */ 4800+ 4801+#ifndef __GDBUS_DAEMON_GENERATED_H__ 4802+#define __GDBUS_DAEMON_GENERATED_H__ 4803+ 4804+#include <gio/gio.h> 4805+ 4806+G_BEGIN_DECLS 4807+ 4808+ 4809+/* ------------------------------------------------------------------------ */ 4810+/* Declarations for org.freedesktop.DBus */ 4811+ 4812+#define _G_TYPE_FREEDESKTOP_DBUS (_g_freedesktop_dbus_get_type ()) 4813+#define _G_FREEDESKTOP_DBUS(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), _G_TYPE_FREEDESKTOP_DBUS, _GFreedesktopDBus)) 4814+#define _G_IS_FREEDESKTOP_DBUS(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), _G_TYPE_FREEDESKTOP_DBUS)) 4815+#define _G_FREEDESKTOP_DBUS_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), _G_TYPE_FREEDESKTOP_DBUS, _GFreedesktopDBusIface)) 4816+ 4817+struct __GFreedesktopDBus; 4818+typedef struct __GFreedesktopDBus _GFreedesktopDBus; 4819+typedef struct __GFreedesktopDBusIface _GFreedesktopDBusIface; 4820+ 4821+struct __GFreedesktopDBusIface 4822+{ 4823+ GTypeInterface parent_iface; 4824+ 4825+ 4826+ gboolean (*handle_add_match) ( 4827+ _GFreedesktopDBus *object, 4828+ GDBusMethodInvocation *invocation, 4829+ const gchar *arg_rule); 4830+ 4831+ gboolean (*handle_get_connection_selinux_security_context) ( 4832+ _GFreedesktopDBus *object, 4833+ GDBusMethodInvocation *invocation, 4834+ const gchar *arg_name); 4835+ 4836+ gboolean (*handle_get_connection_unix_process_id) ( 4837+ _GFreedesktopDBus *object, 4838+ GDBusMethodInvocation *invocation, 4839+ const gchar *arg_name); 4840+ 4841+ gboolean (*handle_get_connection_unix_user) ( 4842+ _GFreedesktopDBus *object, 4843+ GDBusMethodInvocation *invocation, 4844+ const gchar *arg_name); 4845+ 4846+ gboolean (*handle_get_id) ( 4847+ _GFreedesktopDBus *object, 4848+ GDBusMethodInvocation *invocation); 4849+ 4850+ gboolean (*handle_get_name_owner) ( 4851+ _GFreedesktopDBus *object, 4852+ GDBusMethodInvocation *invocation, 4853+ const gchar *arg_name); 4854+ 4855+ gboolean (*handle_hello) ( 4856+ _GFreedesktopDBus *object, 4857+ GDBusMethodInvocation *invocation); 4858+ 4859+ gboolean (*handle_list_activatable_names) ( 4860+ _GFreedesktopDBus *object, 4861+ GDBusMethodInvocation *invocation); 4862+ 4863+ gboolean (*handle_list_names) ( 4864+ _GFreedesktopDBus *object, 4865+ GDBusMethodInvocation *invocation); 4866+ 4867+ gboolean (*handle_list_queued_owners) ( 4868+ _GFreedesktopDBus *object, 4869+ GDBusMethodInvocation *invocation, 4870+ const gchar *arg_name); 4871+ 4872+ gboolean (*handle_name_has_owner) ( 4873+ _GFreedesktopDBus *object, 4874+ GDBusMethodInvocation *invocation, 4875+ const gchar *arg_name); 4876+ 4877+ gboolean (*handle_release_name) ( 4878+ _GFreedesktopDBus *object, 4879+ GDBusMethodInvocation *invocation, 4880+ const gchar *arg_name); 4881+ 4882+ gboolean (*handle_reload_config) ( 4883+ _GFreedesktopDBus *object, 4884+ GDBusMethodInvocation *invocation); 4885+ 4886+ gboolean (*handle_remove_match) ( 4887+ _GFreedesktopDBus *object, 4888+ GDBusMethodInvocation *invocation, 4889+ const gchar *arg_rule); 4890+ 4891+ gboolean (*handle_request_name) ( 4892+ _GFreedesktopDBus *object, 4893+ GDBusMethodInvocation *invocation, 4894+ const gchar *arg_name, 4895+ guint arg_flags); 4896+ 4897+ gboolean (*handle_start_service_by_name) ( 4898+ _GFreedesktopDBus *object, 4899+ GDBusMethodInvocation *invocation, 4900+ const gchar *arg_name, 4901+ guint arg_flags); 4902+ 4903+ gboolean (*handle_update_activation_environment) ( 4904+ _GFreedesktopDBus *object, 4905+ GDBusMethodInvocation *invocation, 4906+ GVariant *arg_environment); 4907+ 4908+ void (*name_acquired) ( 4909+ _GFreedesktopDBus *object, 4910+ const gchar *arg_name); 4911+ 4912+ void (*name_lost) ( 4913+ _GFreedesktopDBus *object, 4914+ const gchar *arg_name); 4915+ 4916+ void (*name_owner_changed) ( 4917+ _GFreedesktopDBus *object, 4918+ const gchar *arg_name, 4919+ const gchar *arg_old_owner, 4920+ const gchar *arg_new_owner); 4921+ 4922+}; 4923+ 4924+GType _g_freedesktop_dbus_get_type (void) G_GNUC_CONST; 4925+ 4926+GDBusInterfaceInfo *_g_freedesktop_dbus_interface_info (void); 4927+guint _g_freedesktop_dbus_override_properties (GObjectClass *klass, guint property_id_begin); 4928+ 4929+ 4930+/* D-Bus method call completion functions: */ 4931+void _g_freedesktop_dbus_complete_hello ( 4932+ _GFreedesktopDBus *object, 4933+ GDBusMethodInvocation *invocation, 4934+ const gchar *assigned_name); 4935+ 4936+void _g_freedesktop_dbus_complete_request_name ( 4937+ _GFreedesktopDBus *object, 4938+ GDBusMethodInvocation *invocation, 4939+ guint value); 4940+ 4941+void _g_freedesktop_dbus_complete_release_name ( 4942+ _GFreedesktopDBus *object, 4943+ GDBusMethodInvocation *invocation, 4944+ guint value); 4945+ 4946+void _g_freedesktop_dbus_complete_start_service_by_name ( 4947+ _GFreedesktopDBus *object, 4948+ GDBusMethodInvocation *invocation, 4949+ guint value); 4950+ 4951+void _g_freedesktop_dbus_complete_name_has_owner ( 4952+ _GFreedesktopDBus *object, 4953+ GDBusMethodInvocation *invocation, 4954+ gboolean has_owner); 4955+ 4956+void _g_freedesktop_dbus_complete_list_names ( 4957+ _GFreedesktopDBus *object, 4958+ GDBusMethodInvocation *invocation, 4959+ const gchar *const *names); 4960+ 4961+void _g_freedesktop_dbus_complete_list_activatable_names ( 4962+ _GFreedesktopDBus *object, 4963+ GDBusMethodInvocation *invocation, 4964+ const gchar *const *activatable_names); 4965+ 4966+void _g_freedesktop_dbus_complete_add_match ( 4967+ _GFreedesktopDBus *object, 4968+ GDBusMethodInvocation *invocation); 4969+ 4970+void _g_freedesktop_dbus_complete_remove_match ( 4971+ _GFreedesktopDBus *object, 4972+ GDBusMethodInvocation *invocation); 4973+ 4974+void _g_freedesktop_dbus_complete_get_name_owner ( 4975+ _GFreedesktopDBus *object, 4976+ GDBusMethodInvocation *invocation, 4977+ const gchar *unique_name); 4978+ 4979+void _g_freedesktop_dbus_complete_list_queued_owners ( 4980+ _GFreedesktopDBus *object, 4981+ GDBusMethodInvocation *invocation, 4982+ const gchar *const *queued_owners); 4983+ 4984+void _g_freedesktop_dbus_complete_get_connection_unix_user ( 4985+ _GFreedesktopDBus *object, 4986+ GDBusMethodInvocation *invocation, 4987+ guint uid); 4988+ 4989+void _g_freedesktop_dbus_complete_get_connection_unix_process_id ( 4990+ _GFreedesktopDBus *object, 4991+ GDBusMethodInvocation *invocation, 4992+ guint pid); 4993+ 4994+void _g_freedesktop_dbus_complete_get_connection_selinux_security_context ( 4995+ _GFreedesktopDBus *object, 4996+ GDBusMethodInvocation *invocation, 4997+ const gchar *security_context); 4998+ 4999+void _g_freedesktop_dbus_complete_update_activation_environment ( 5000+ _GFreedesktopDBus *object, 5001+ GDBusMethodInvocation *invocation); 5002+ 5003+void _g_freedesktop_dbus_complete_reload_config ( 5004+ _GFreedesktopDBus *object, 5005+ GDBusMethodInvocation *invocation); 5006+ 5007+void _g_freedesktop_dbus_complete_get_id ( 5008+ _GFreedesktopDBus *object, 5009+ GDBusMethodInvocation *invocation, 5010+ const gchar *unique_id); 5011+ 5012+ 5013+ 5014+/* D-Bus signal emissions functions: */ 5015+void _g_freedesktop_dbus_emit_name_owner_changed ( 5016+ _GFreedesktopDBus *object, 5017+ const gchar *arg_name, 5018+ const gchar *arg_old_owner, 5019+ const gchar *arg_new_owner); 5020+ 5021+void _g_freedesktop_dbus_emit_name_lost ( 5022+ _GFreedesktopDBus *object, 5023+ const gchar *arg_name); 5024+ 5025+void _g_freedesktop_dbus_emit_name_acquired ( 5026+ _GFreedesktopDBus *object, 5027+ const gchar *arg_name); 5028+ 5029+ 5030+ 5031+/* D-Bus method calls: */ 5032+void _g_freedesktop_dbus_call_hello ( 5033+ _GFreedesktopDBus *proxy, 5034+ GCancellable *cancellable, 5035+ GAsyncReadyCallback callback, 5036+ gpointer user_data); 5037+ 5038+gboolean _g_freedesktop_dbus_call_hello_finish ( 5039+ _GFreedesktopDBus *proxy, 5040+ gchar **out_assigned_name, 5041+ GAsyncResult *res, 5042+ GError **error); 5043+ 5044+gboolean _g_freedesktop_dbus_call_hello_sync ( 5045+ _GFreedesktopDBus *proxy, 5046+ gchar **out_assigned_name, 5047+ GCancellable *cancellable, 5048+ GError **error); 5049+ 5050+void _g_freedesktop_dbus_call_request_name ( 5051+ _GFreedesktopDBus *proxy, 5052+ const gchar *arg_name, 5053+ guint arg_flags, 5054+ GCancellable *cancellable, 5055+ GAsyncReadyCallback callback, 5056+ gpointer user_data); 5057+ 5058+gboolean _g_freedesktop_dbus_call_request_name_finish ( 5059+ _GFreedesktopDBus *proxy, 5060+ guint *out_value, 5061+ GAsyncResult *res, 5062+ GError **error); 5063+ 5064+gboolean _g_freedesktop_dbus_call_request_name_sync ( 5065+ _GFreedesktopDBus *proxy, 5066+ const gchar *arg_name, 5067+ guint arg_flags, 5068+ guint *out_value, 5069+ GCancellable *cancellable, 5070+ GError **error); 5071+ 5072+void _g_freedesktop_dbus_call_release_name ( 5073+ _GFreedesktopDBus *proxy, 5074+ const gchar *arg_name, 5075+ GCancellable *cancellable, 5076+ GAsyncReadyCallback callback, 5077+ gpointer user_data); 5078+ 5079+gboolean _g_freedesktop_dbus_call_release_name_finish ( 5080+ _GFreedesktopDBus *proxy, 5081+ guint *out_value, 5082+ GAsyncResult *res, 5083+ GError **error); 5084+ 5085+gboolean _g_freedesktop_dbus_call_release_name_sync ( 5086+ _GFreedesktopDBus *proxy, 5087+ const gchar *arg_name, 5088+ guint *out_value, 5089+ GCancellable *cancellable, 5090+ GError **error); 5091+ 5092+void _g_freedesktop_dbus_call_start_service_by_name ( 5093+ _GFreedesktopDBus *proxy, 5094+ const gchar *arg_name, 5095+ guint arg_flags, 5096+ GCancellable *cancellable, 5097+ GAsyncReadyCallback callback, 5098+ gpointer user_data); 5099+ 5100+gboolean _g_freedesktop_dbus_call_start_service_by_name_finish ( 5101+ _GFreedesktopDBus *proxy, 5102+ guint *out_value, 5103+ GAsyncResult *res, 5104+ GError **error); 5105+ 5106+gboolean _g_freedesktop_dbus_call_start_service_by_name_sync ( 5107+ _GFreedesktopDBus *proxy, 5108+ const gchar *arg_name, 5109+ guint arg_flags, 5110+ guint *out_value, 5111+ GCancellable *cancellable, 5112+ GError **error); 5113+ 5114+void _g_freedesktop_dbus_call_name_has_owner ( 5115+ _GFreedesktopDBus *proxy, 5116+ const gchar *arg_name, 5117+ GCancellable *cancellable, 5118+ GAsyncReadyCallback callback, 5119+ gpointer user_data); 5120+ 5121+gboolean _g_freedesktop_dbus_call_name_has_owner_finish ( 5122+ _GFreedesktopDBus *proxy, 5123+ gboolean *out_has_owner, 5124+ GAsyncResult *res, 5125+ GError **error); 5126+ 5127+gboolean _g_freedesktop_dbus_call_name_has_owner_sync ( 5128+ _GFreedesktopDBus *proxy, 5129+ const gchar *arg_name, 5130+ gboolean *out_has_owner, 5131+ GCancellable *cancellable, 5132+ GError **error); 5133+ 5134+void _g_freedesktop_dbus_call_list_names ( 5135+ _GFreedesktopDBus *proxy, 5136+ GCancellable *cancellable, 5137+ GAsyncReadyCallback callback, 5138+ gpointer user_data); 5139+ 5140+gboolean _g_freedesktop_dbus_call_list_names_finish ( 5141+ _GFreedesktopDBus *proxy, 5142+ gchar ***out_names, 5143+ GAsyncResult *res, 5144+ GError **error); 5145+ 5146+gboolean _g_freedesktop_dbus_call_list_names_sync ( 5147+ _GFreedesktopDBus *proxy, 5148+ gchar ***out_names, 5149+ GCancellable *cancellable, 5150+ GError **error); 5151+ 5152+void _g_freedesktop_dbus_call_list_activatable_names ( 5153+ _GFreedesktopDBus *proxy, 5154+ GCancellable *cancellable, 5155+ GAsyncReadyCallback callback, 5156+ gpointer user_data); 5157+ 5158+gboolean _g_freedesktop_dbus_call_list_activatable_names_finish ( 5159+ _GFreedesktopDBus *proxy, 5160+ gchar ***out_activatable_names, 5161+ GAsyncResult *res, 5162+ GError **error); 5163+ 5164+gboolean _g_freedesktop_dbus_call_list_activatable_names_sync ( 5165+ _GFreedesktopDBus *proxy, 5166+ gchar ***out_activatable_names, 5167+ GCancellable *cancellable, 5168+ GError **error); 5169+ 5170+void _g_freedesktop_dbus_call_add_match ( 5171+ _GFreedesktopDBus *proxy, 5172+ const gchar *arg_rule, 5173+ GCancellable *cancellable, 5174+ GAsyncReadyCallback callback, 5175+ gpointer user_data); 5176+ 5177+gboolean _g_freedesktop_dbus_call_add_match_finish ( 5178+ _GFreedesktopDBus *proxy, 5179+ GAsyncResult *res, 5180+ GError **error); 5181+ 5182+gboolean _g_freedesktop_dbus_call_add_match_sync ( 5183+ _GFreedesktopDBus *proxy, 5184+ const gchar *arg_rule, 5185+ GCancellable *cancellable, 5186+ GError **error); 5187+ 5188+void _g_freedesktop_dbus_call_remove_match ( 5189+ _GFreedesktopDBus *proxy, 5190+ const gchar *arg_rule, 5191+ GCancellable *cancellable, 5192+ GAsyncReadyCallback callback, 5193+ gpointer user_data); 5194+ 5195+gboolean _g_freedesktop_dbus_call_remove_match_finish ( 5196+ _GFreedesktopDBus *proxy, 5197+ GAsyncResult *res, 5198+ GError **error); 5199+ 5200+gboolean _g_freedesktop_dbus_call_remove_match_sync ( 5201+ _GFreedesktopDBus *proxy, 5202+ const gchar *arg_rule, 5203+ GCancellable *cancellable, 5204+ GError **error); 5205+ 5206+void _g_freedesktop_dbus_call_get_name_owner ( 5207+ _GFreedesktopDBus *proxy, 5208+ const gchar *arg_name, 5209+ GCancellable *cancellable, 5210+ GAsyncReadyCallback callback, 5211+ gpointer user_data); 5212+ 5213+gboolean _g_freedesktop_dbus_call_get_name_owner_finish ( 5214+ _GFreedesktopDBus *proxy, 5215+ gchar **out_unique_name, 5216+ GAsyncResult *res, 5217+ GError **error); 5218+ 5219+gboolean _g_freedesktop_dbus_call_get_name_owner_sync ( 5220+ _GFreedesktopDBus *proxy, 5221+ const gchar *arg_name, 5222+ gchar **out_unique_name, 5223+ GCancellable *cancellable, 5224+ GError **error); 5225+ 5226+void _g_freedesktop_dbus_call_list_queued_owners ( 5227+ _GFreedesktopDBus *proxy, 5228+ const gchar *arg_name, 5229+ GCancellable *cancellable, 5230+ GAsyncReadyCallback callback, 5231+ gpointer user_data); 5232+ 5233+gboolean _g_freedesktop_dbus_call_list_queued_owners_finish ( 5234+ _GFreedesktopDBus *proxy, 5235+ gchar ***out_queued_owners, 5236+ GAsyncResult *res, 5237+ GError **error); 5238+ 5239+gboolean _g_freedesktop_dbus_call_list_queued_owners_sync ( 5240+ _GFreedesktopDBus *proxy, 5241+ const gchar *arg_name, 5242+ gchar ***out_queued_owners, 5243+ GCancellable *cancellable, 5244+ GError **error); 5245+ 5246+void _g_freedesktop_dbus_call_get_connection_unix_user ( 5247+ _GFreedesktopDBus *proxy, 5248+ const gchar *arg_name, 5249+ GCancellable *cancellable, 5250+ GAsyncReadyCallback callback, 5251+ gpointer user_data); 5252+ 5253+gboolean _g_freedesktop_dbus_call_get_connection_unix_user_finish ( 5254+ _GFreedesktopDBus *proxy, 5255+ guint *out_uid, 5256+ GAsyncResult *res, 5257+ GError **error); 5258+ 5259+gboolean _g_freedesktop_dbus_call_get_connection_unix_user_sync ( 5260+ _GFreedesktopDBus *proxy, 5261+ const gchar *arg_name, 5262+ guint *out_uid, 5263+ GCancellable *cancellable, 5264+ GError **error); 5265+ 5266+void _g_freedesktop_dbus_call_get_connection_unix_process_id ( 5267+ _GFreedesktopDBus *proxy, 5268+ const gchar *arg_name, 5269+ GCancellable *cancellable, 5270+ GAsyncReadyCallback callback, 5271+ gpointer user_data); 5272+ 5273+gboolean _g_freedesktop_dbus_call_get_connection_unix_process_id_finish ( 5274+ _GFreedesktopDBus *proxy, 5275+ guint *out_pid, 5276+ GAsyncResult *res, 5277+ GError **error); 5278+ 5279+gboolean _g_freedesktop_dbus_call_get_connection_unix_process_id_sync ( 5280+ _GFreedesktopDBus *proxy, 5281+ const gchar *arg_name, 5282+ guint *out_pid, 5283+ GCancellable *cancellable, 5284+ GError **error); 5285+ 5286+void _g_freedesktop_dbus_call_get_connection_selinux_security_context ( 5287+ _GFreedesktopDBus *proxy, 5288+ const gchar *arg_name, 5289+ GCancellable *cancellable, 5290+ GAsyncReadyCallback callback, 5291+ gpointer user_data); 5292+ 5293+gboolean _g_freedesktop_dbus_call_get_connection_selinux_security_context_finish ( 5294+ _GFreedesktopDBus *proxy, 5295+ gchar **out_security_context, 5296+ GAsyncResult *res, 5297+ GError **error); 5298+ 5299+gboolean _g_freedesktop_dbus_call_get_connection_selinux_security_context_sync ( 5300+ _GFreedesktopDBus *proxy, 5301+ const gchar *arg_name, 5302+ gchar **out_security_context, 5303+ GCancellable *cancellable, 5304+ GError **error); 5305+ 5306+void _g_freedesktop_dbus_call_update_activation_environment ( 5307+ _GFreedesktopDBus *proxy, 5308+ GVariant *arg_environment, 5309+ GCancellable *cancellable, 5310+ GAsyncReadyCallback callback, 5311+ gpointer user_data); 5312+ 5313+gboolean _g_freedesktop_dbus_call_update_activation_environment_finish ( 5314+ _GFreedesktopDBus *proxy, 5315+ GAsyncResult *res, 5316+ GError **error); 5317+ 5318+gboolean _g_freedesktop_dbus_call_update_activation_environment_sync ( 5319+ _GFreedesktopDBus *proxy, 5320+ GVariant *arg_environment, 5321+ GCancellable *cancellable, 5322+ GError **error); 5323+ 5324+void _g_freedesktop_dbus_call_reload_config ( 5325+ _GFreedesktopDBus *proxy, 5326+ GCancellable *cancellable, 5327+ GAsyncReadyCallback callback, 5328+ gpointer user_data); 5329+ 5330+gboolean _g_freedesktop_dbus_call_reload_config_finish ( 5331+ _GFreedesktopDBus *proxy, 5332+ GAsyncResult *res, 5333+ GError **error); 5334+ 5335+gboolean _g_freedesktop_dbus_call_reload_config_sync ( 5336+ _GFreedesktopDBus *proxy, 5337+ GCancellable *cancellable, 5338+ GError **error); 5339+ 5340+void _g_freedesktop_dbus_call_get_id ( 5341+ _GFreedesktopDBus *proxy, 5342+ GCancellable *cancellable, 5343+ GAsyncReadyCallback callback, 5344+ gpointer user_data); 5345+ 5346+gboolean _g_freedesktop_dbus_call_get_id_finish ( 5347+ _GFreedesktopDBus *proxy, 5348+ gchar **out_unique_id, 5349+ GAsyncResult *res, 5350+ GError **error); 5351+ 5352+gboolean _g_freedesktop_dbus_call_get_id_sync ( 5353+ _GFreedesktopDBus *proxy, 5354+ gchar **out_unique_id, 5355+ GCancellable *cancellable, 5356+ GError **error); 5357+ 5358+ 5359+ 5360+/* ---- */ 5361+ 5362+#define _G_TYPE_FREEDESKTOP_DBUS_PROXY (_g_freedesktop_dbus_proxy_get_type ()) 5363+#define _G_FREEDESKTOP_DBUS_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), _G_TYPE_FREEDESKTOP_DBUS_PROXY, _GFreedesktopDBusProxy)) 5364+#define _G_FREEDESKTOP_DBUS_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), _G_TYPE_FREEDESKTOP_DBUS_PROXY, _GFreedesktopDBusProxyClass)) 5365+#define _G_FREEDESKTOP_DBUS_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), _G_TYPE_FREEDESKTOP_DBUS_PROXY, _GFreedesktopDBusProxyClass)) 5366+#define _G_IS_FREEDESKTOP_DBUS_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), _G_TYPE_FREEDESKTOP_DBUS_PROXY)) 5367+#define _G_IS_FREEDESKTOP_DBUS_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), _G_TYPE_FREEDESKTOP_DBUS_PROXY)) 5368+ 5369+typedef struct __GFreedesktopDBusProxy _GFreedesktopDBusProxy; 5370+typedef struct __GFreedesktopDBusProxyClass _GFreedesktopDBusProxyClass; 5371+typedef struct __GFreedesktopDBusProxyPrivate _GFreedesktopDBusProxyPrivate; 5372+ 5373+struct __GFreedesktopDBusProxy 5374+{ 5375+ /*< private >*/ 5376+ GDBusProxy parent_instance; 5377+ _GFreedesktopDBusProxyPrivate *priv; 5378+}; 5379+ 5380+struct __GFreedesktopDBusProxyClass 5381+{ 5382+ GDBusProxyClass parent_class; 5383+}; 5384+ 5385+GType _g_freedesktop_dbus_proxy_get_type (void) G_GNUC_CONST; 5386+ 5387+#if GLIB_CHECK_VERSION(2, 44, 0) 5388+G_DEFINE_AUTOPTR_CLEANUP_FUNC (_GFreedesktopDBusProxy, g_object_unref) 5389+#endif 5390+ 5391+void _g_freedesktop_dbus_proxy_new ( 5392+ GDBusConnection *connection, 5393+ GDBusProxyFlags flags, 5394+ const gchar *name, 5395+ const gchar *object_path, 5396+ GCancellable *cancellable, 5397+ GAsyncReadyCallback callback, 5398+ gpointer user_data); 5399+_GFreedesktopDBus *_g_freedesktop_dbus_proxy_new_finish ( 5400+ GAsyncResult *res, 5401+ GError **error); 5402+_GFreedesktopDBus *_g_freedesktop_dbus_proxy_new_sync ( 5403+ GDBusConnection *connection, 5404+ GDBusProxyFlags flags, 5405+ const gchar *name, 5406+ const gchar *object_path, 5407+ GCancellable *cancellable, 5408+ GError **error); 5409+ 5410+void _g_freedesktop_dbus_proxy_new_for_bus ( 5411+ GBusType bus_type, 5412+ GDBusProxyFlags flags, 5413+ const gchar *name, 5414+ const gchar *object_path, 5415+ GCancellable *cancellable, 5416+ GAsyncReadyCallback callback, 5417+ gpointer user_data); 5418+_GFreedesktopDBus *_g_freedesktop_dbus_proxy_new_for_bus_finish ( 5419+ GAsyncResult *res, 5420+ GError **error); 5421+_GFreedesktopDBus *_g_freedesktop_dbus_proxy_new_for_bus_sync ( 5422+ GBusType bus_type, 5423+ GDBusProxyFlags flags, 5424+ const gchar *name, 5425+ const gchar *object_path, 5426+ GCancellable *cancellable, 5427+ GError **error); 5428+ 5429+ 5430+/* ---- */ 5431+ 5432+#define _G_TYPE_FREEDESKTOP_DBUS_SKELETON (_g_freedesktop_dbus_skeleton_get_type ()) 5433+#define _G_FREEDESKTOP_DBUS_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), _G_TYPE_FREEDESKTOP_DBUS_SKELETON, _GFreedesktopDBusSkeleton)) 5434+#define _G_FREEDESKTOP_DBUS_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), _G_TYPE_FREEDESKTOP_DBUS_SKELETON, _GFreedesktopDBusSkeletonClass)) 5435+#define _G_FREEDESKTOP_DBUS_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), _G_TYPE_FREEDESKTOP_DBUS_SKELETON, _GFreedesktopDBusSkeletonClass)) 5436+#define _G_IS_FREEDESKTOP_DBUS_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), _G_TYPE_FREEDESKTOP_DBUS_SKELETON)) 5437+#define _G_IS_FREEDESKTOP_DBUS_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), _G_TYPE_FREEDESKTOP_DBUS_SKELETON)) 5438+ 5439+typedef struct __GFreedesktopDBusSkeleton _GFreedesktopDBusSkeleton; 5440+typedef struct __GFreedesktopDBusSkeletonClass _GFreedesktopDBusSkeletonClass; 5441+typedef struct __GFreedesktopDBusSkeletonPrivate _GFreedesktopDBusSkeletonPrivate; 5442+ 5443+struct __GFreedesktopDBusSkeleton 5444+{ 5445+ /*< private >*/ 5446+ GDBusInterfaceSkeleton parent_instance; 5447+ _GFreedesktopDBusSkeletonPrivate *priv; 5448+}; 5449+ 5450+struct __GFreedesktopDBusSkeletonClass 5451+{ 5452+ GDBusInterfaceSkeletonClass parent_class; 5453+}; 5454+ 5455+GType _g_freedesktop_dbus_skeleton_get_type (void) G_GNUC_CONST; 5456+ 5457+#if GLIB_CHECK_VERSION(2, 44, 0) 5458+G_DEFINE_AUTOPTR_CLEANUP_FUNC (_GFreedesktopDBusSkeleton, g_object_unref) 5459+#endif 5460+ 5461+_GFreedesktopDBus *_g_freedesktop_dbus_skeleton_new (void); 5462+ 5463+ 5464+G_END_DECLS 5465+ 5466+#endif /* __GDBUS_DAEMON_GENERATED_H__ */ 5467diff --git a/gio/gioenumtypes.c b/gio/gioenumtypes.c 5468new file mode 100644 5469index 0000000..0ccd900 5470--- /dev/null 5471+++ b/gio/gioenumtypes.c 5472@@ -0,0 +1,1834 @@ 5473+ 5474+/* This file is generated by glib-mkenums, do not modify it. This code is licensed under the same license as the containing project. Note that it links to GLib, so must comply with the LGPL linking clauses. */ 5475+ 5476+#include "config.h" 5477+#include "gioenumtypes.h" 5478+#include <gio.h> 5479+/* enumerations from "../gio/gioenums.h" */ 5480+GType 5481+g_app_info_create_flags_get_type (void) 5482+{ 5483+ static gsize static_g_define_type_id = 0; 5484+ 5485+ if (g_once_init_enter (&static_g_define_type_id)) 5486+ { 5487+ static const GFlagsValue values[] = { 5488+ { G_APP_INFO_CREATE_NONE, "G_APP_INFO_CREATE_NONE", "none" }, 5489+ { G_APP_INFO_CREATE_NEEDS_TERMINAL, "G_APP_INFO_CREATE_NEEDS_TERMINAL", "needs-terminal" }, 5490+ { G_APP_INFO_CREATE_SUPPORTS_URIS, "G_APP_INFO_CREATE_SUPPORTS_URIS", "supports-uris" }, 5491+ { G_APP_INFO_CREATE_SUPPORTS_STARTUP_NOTIFICATION, "G_APP_INFO_CREATE_SUPPORTS_STARTUP_NOTIFICATION", "supports-startup-notification" }, 5492+ { 0, NULL, NULL } 5493+ }; 5494+ GType g_define_type_id = 5495+ g_flags_register_static (g_intern_static_string ("GAppInfoCreateFlags"), values); 5496+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 5497+ } 5498+ 5499+ return static_g_define_type_id; 5500+} 5501+GType 5502+g_converter_flags_get_type (void) 5503+{ 5504+ static gsize static_g_define_type_id = 0; 5505+ 5506+ if (g_once_init_enter (&static_g_define_type_id)) 5507+ { 5508+ static const GFlagsValue values[] = { 5509+ { G_CONVERTER_NO_FLAGS, "G_CONVERTER_NO_FLAGS", "none" }, 5510+ { G_CONVERTER_INPUT_AT_END, "G_CONVERTER_INPUT_AT_END", "input-at-end" }, 5511+ { G_CONVERTER_FLUSH, "G_CONVERTER_FLUSH", "flush" }, 5512+ { 0, NULL, NULL } 5513+ }; 5514+ GType g_define_type_id = 5515+ g_flags_register_static (g_intern_static_string ("GConverterFlags"), values); 5516+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 5517+ } 5518+ 5519+ return static_g_define_type_id; 5520+} 5521+GType 5522+g_converter_result_get_type (void) 5523+{ 5524+ static gsize static_g_define_type_id = 0; 5525+ 5526+ if (g_once_init_enter (&static_g_define_type_id)) 5527+ { 5528+ static const GEnumValue values[] = { 5529+ { G_CONVERTER_ERROR, "G_CONVERTER_ERROR", "error" }, 5530+ { G_CONVERTER_CONVERTED, "G_CONVERTER_CONVERTED", "converted" }, 5531+ { G_CONVERTER_FINISHED, "G_CONVERTER_FINISHED", "finished" }, 5532+ { G_CONVERTER_FLUSHED, "G_CONVERTER_FLUSHED", "flushed" }, 5533+ { 0, NULL, NULL } 5534+ }; 5535+ GType g_define_type_id = 5536+ g_enum_register_static (g_intern_static_string ("GConverterResult"), values); 5537+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 5538+ } 5539+ 5540+ return static_g_define_type_id; 5541+} 5542+GType 5543+g_data_stream_byte_order_get_type (void) 5544+{ 5545+ static gsize static_g_define_type_id = 0; 5546+ 5547+ if (g_once_init_enter (&static_g_define_type_id)) 5548+ { 5549+ static const GEnumValue values[] = { 5550+ { G_DATA_STREAM_BYTE_ORDER_BIG_ENDIAN, "G_DATA_STREAM_BYTE_ORDER_BIG_ENDIAN", "big-endian" }, 5551+ { G_DATA_STREAM_BYTE_ORDER_LITTLE_ENDIAN, "G_DATA_STREAM_BYTE_ORDER_LITTLE_ENDIAN", "little-endian" }, 5552+ { G_DATA_STREAM_BYTE_ORDER_HOST_ENDIAN, "G_DATA_STREAM_BYTE_ORDER_HOST_ENDIAN", "host-endian" }, 5553+ { 0, NULL, NULL } 5554+ }; 5555+ GType g_define_type_id = 5556+ g_enum_register_static (g_intern_static_string ("GDataStreamByteOrder"), values); 5557+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 5558+ } 5559+ 5560+ return static_g_define_type_id; 5561+} 5562+GType 5563+g_data_stream_newline_type_get_type (void) 5564+{ 5565+ static gsize static_g_define_type_id = 0; 5566+ 5567+ if (g_once_init_enter (&static_g_define_type_id)) 5568+ { 5569+ static const GEnumValue values[] = { 5570+ { G_DATA_STREAM_NEWLINE_TYPE_LF, "G_DATA_STREAM_NEWLINE_TYPE_LF", "lf" }, 5571+ { G_DATA_STREAM_NEWLINE_TYPE_CR, "G_DATA_STREAM_NEWLINE_TYPE_CR", "cr" }, 5572+ { G_DATA_STREAM_NEWLINE_TYPE_CR_LF, "G_DATA_STREAM_NEWLINE_TYPE_CR_LF", "cr-lf" }, 5573+ { G_DATA_STREAM_NEWLINE_TYPE_ANY, "G_DATA_STREAM_NEWLINE_TYPE_ANY", "any" }, 5574+ { 0, NULL, NULL } 5575+ }; 5576+ GType g_define_type_id = 5577+ g_enum_register_static (g_intern_static_string ("GDataStreamNewlineType"), values); 5578+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 5579+ } 5580+ 5581+ return static_g_define_type_id; 5582+} 5583+GType 5584+g_file_attribute_type_get_type (void) 5585+{ 5586+ static gsize static_g_define_type_id = 0; 5587+ 5588+ if (g_once_init_enter (&static_g_define_type_id)) 5589+ { 5590+ static const GEnumValue values[] = { 5591+ { G_FILE_ATTRIBUTE_TYPE_INVALID, "G_FILE_ATTRIBUTE_TYPE_INVALID", "invalid" }, 5592+ { G_FILE_ATTRIBUTE_TYPE_STRING, "G_FILE_ATTRIBUTE_TYPE_STRING", "string" }, 5593+ { G_FILE_ATTRIBUTE_TYPE_BYTE_STRING, "G_FILE_ATTRIBUTE_TYPE_BYTE_STRING", "byte-string" }, 5594+ { G_FILE_ATTRIBUTE_TYPE_BOOLEAN, "G_FILE_ATTRIBUTE_TYPE_BOOLEAN", "boolean" }, 5595+ { G_FILE_ATTRIBUTE_TYPE_UINT32, "G_FILE_ATTRIBUTE_TYPE_UINT32", "uint32" }, 5596+ { G_FILE_ATTRIBUTE_TYPE_INT32, "G_FILE_ATTRIBUTE_TYPE_INT32", "int32" }, 5597+ { G_FILE_ATTRIBUTE_TYPE_UINT64, "G_FILE_ATTRIBUTE_TYPE_UINT64", "uint64" }, 5598+ { G_FILE_ATTRIBUTE_TYPE_INT64, "G_FILE_ATTRIBUTE_TYPE_INT64", "int64" }, 5599+ { G_FILE_ATTRIBUTE_TYPE_OBJECT, "G_FILE_ATTRIBUTE_TYPE_OBJECT", "object" }, 5600+ { G_FILE_ATTRIBUTE_TYPE_STRINGV, "G_FILE_ATTRIBUTE_TYPE_STRINGV", "stringv" }, 5601+ { 0, NULL, NULL } 5602+ }; 5603+ GType g_define_type_id = 5604+ g_enum_register_static (g_intern_static_string ("GFileAttributeType"), values); 5605+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 5606+ } 5607+ 5608+ return static_g_define_type_id; 5609+} 5610+GType 5611+g_file_attribute_info_flags_get_type (void) 5612+{ 5613+ static gsize static_g_define_type_id = 0; 5614+ 5615+ if (g_once_init_enter (&static_g_define_type_id)) 5616+ { 5617+ static const GFlagsValue values[] = { 5618+ { G_FILE_ATTRIBUTE_INFO_NONE, "G_FILE_ATTRIBUTE_INFO_NONE", "none" }, 5619+ { G_FILE_ATTRIBUTE_INFO_COPY_WITH_FILE, "G_FILE_ATTRIBUTE_INFO_COPY_WITH_FILE", "copy-with-file" }, 5620+ { G_FILE_ATTRIBUTE_INFO_COPY_WHEN_MOVED, "G_FILE_ATTRIBUTE_INFO_COPY_WHEN_MOVED", "copy-when-moved" }, 5621+ { 0, NULL, NULL } 5622+ }; 5623+ GType g_define_type_id = 5624+ g_flags_register_static (g_intern_static_string ("GFileAttributeInfoFlags"), values); 5625+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 5626+ } 5627+ 5628+ return static_g_define_type_id; 5629+} 5630+GType 5631+g_file_attribute_status_get_type (void) 5632+{ 5633+ static gsize static_g_define_type_id = 0; 5634+ 5635+ if (g_once_init_enter (&static_g_define_type_id)) 5636+ { 5637+ static const GEnumValue values[] = { 5638+ { G_FILE_ATTRIBUTE_STATUS_UNSET, "G_FILE_ATTRIBUTE_STATUS_UNSET", "unset" }, 5639+ { G_FILE_ATTRIBUTE_STATUS_SET, "G_FILE_ATTRIBUTE_STATUS_SET", "set" }, 5640+ { G_FILE_ATTRIBUTE_STATUS_ERROR_SETTING, "G_FILE_ATTRIBUTE_STATUS_ERROR_SETTING", "error-setting" }, 5641+ { 0, NULL, NULL } 5642+ }; 5643+ GType g_define_type_id = 5644+ g_enum_register_static (g_intern_static_string ("GFileAttributeStatus"), values); 5645+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 5646+ } 5647+ 5648+ return static_g_define_type_id; 5649+} 5650+GType 5651+g_file_query_info_flags_get_type (void) 5652+{ 5653+ static gsize static_g_define_type_id = 0; 5654+ 5655+ if (g_once_init_enter (&static_g_define_type_id)) 5656+ { 5657+ static const GFlagsValue values[] = { 5658+ { G_FILE_QUERY_INFO_NONE, "G_FILE_QUERY_INFO_NONE", "none" }, 5659+ { G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, "G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS", "nofollow-symlinks" }, 5660+ { 0, NULL, NULL } 5661+ }; 5662+ GType g_define_type_id = 5663+ g_flags_register_static (g_intern_static_string ("GFileQueryInfoFlags"), values); 5664+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 5665+ } 5666+ 5667+ return static_g_define_type_id; 5668+} 5669+GType 5670+g_file_create_flags_get_type (void) 5671+{ 5672+ static gsize static_g_define_type_id = 0; 5673+ 5674+ if (g_once_init_enter (&static_g_define_type_id)) 5675+ { 5676+ static const GFlagsValue values[] = { 5677+ { G_FILE_CREATE_NONE, "G_FILE_CREATE_NONE", "none" }, 5678+ { G_FILE_CREATE_PRIVATE, "G_FILE_CREATE_PRIVATE", "private" }, 5679+ { G_FILE_CREATE_REPLACE_DESTINATION, "G_FILE_CREATE_REPLACE_DESTINATION", "replace-destination" }, 5680+ { 0, NULL, NULL } 5681+ }; 5682+ GType g_define_type_id = 5683+ g_flags_register_static (g_intern_static_string ("GFileCreateFlags"), values); 5684+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 5685+ } 5686+ 5687+ return static_g_define_type_id; 5688+} 5689+GType 5690+g_file_measure_flags_get_type (void) 5691+{ 5692+ static gsize static_g_define_type_id = 0; 5693+ 5694+ if (g_once_init_enter (&static_g_define_type_id)) 5695+ { 5696+ static const GFlagsValue values[] = { 5697+ { G_FILE_MEASURE_NONE, "G_FILE_MEASURE_NONE", "none" }, 5698+ { G_FILE_MEASURE_REPORT_ANY_ERROR, "G_FILE_MEASURE_REPORT_ANY_ERROR", "report-any-error" }, 5699+ { G_FILE_MEASURE_APPARENT_SIZE, "G_FILE_MEASURE_APPARENT_SIZE", "apparent-size" }, 5700+ { G_FILE_MEASURE_NO_XDEV, "G_FILE_MEASURE_NO_XDEV", "no-xdev" }, 5701+ { 0, NULL, NULL } 5702+ }; 5703+ GType g_define_type_id = 5704+ g_flags_register_static (g_intern_static_string ("GFileMeasureFlags"), values); 5705+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 5706+ } 5707+ 5708+ return static_g_define_type_id; 5709+} 5710+GType 5711+g_mount_mount_flags_get_type (void) 5712+{ 5713+ static gsize static_g_define_type_id = 0; 5714+ 5715+ if (g_once_init_enter (&static_g_define_type_id)) 5716+ { 5717+ static const GFlagsValue values[] = { 5718+ { G_MOUNT_MOUNT_NONE, "G_MOUNT_MOUNT_NONE", "none" }, 5719+ { 0, NULL, NULL } 5720+ }; 5721+ GType g_define_type_id = 5722+ g_flags_register_static (g_intern_static_string ("GMountMountFlags"), values); 5723+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 5724+ } 5725+ 5726+ return static_g_define_type_id; 5727+} 5728+GType 5729+g_mount_unmount_flags_get_type (void) 5730+{ 5731+ static gsize static_g_define_type_id = 0; 5732+ 5733+ if (g_once_init_enter (&static_g_define_type_id)) 5734+ { 5735+ static const GFlagsValue values[] = { 5736+ { G_MOUNT_UNMOUNT_NONE, "G_MOUNT_UNMOUNT_NONE", "none" }, 5737+ { G_MOUNT_UNMOUNT_FORCE, "G_MOUNT_UNMOUNT_FORCE", "force" }, 5738+ { 0, NULL, NULL } 5739+ }; 5740+ GType g_define_type_id = 5741+ g_flags_register_static (g_intern_static_string ("GMountUnmountFlags"), values); 5742+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 5743+ } 5744+ 5745+ return static_g_define_type_id; 5746+} 5747+GType 5748+g_drive_start_flags_get_type (void) 5749+{ 5750+ static gsize static_g_define_type_id = 0; 5751+ 5752+ if (g_once_init_enter (&static_g_define_type_id)) 5753+ { 5754+ static const GFlagsValue values[] = { 5755+ { G_DRIVE_START_NONE, "G_DRIVE_START_NONE", "none" }, 5756+ { 0, NULL, NULL } 5757+ }; 5758+ GType g_define_type_id = 5759+ g_flags_register_static (g_intern_static_string ("GDriveStartFlags"), values); 5760+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 5761+ } 5762+ 5763+ return static_g_define_type_id; 5764+} 5765+GType 5766+g_drive_start_stop_type_get_type (void) 5767+{ 5768+ static gsize static_g_define_type_id = 0; 5769+ 5770+ if (g_once_init_enter (&static_g_define_type_id)) 5771+ { 5772+ static const GEnumValue values[] = { 5773+ { G_DRIVE_START_STOP_TYPE_UNKNOWN, "G_DRIVE_START_STOP_TYPE_UNKNOWN", "unknown" }, 5774+ { G_DRIVE_START_STOP_TYPE_SHUTDOWN, "G_DRIVE_START_STOP_TYPE_SHUTDOWN", "shutdown" }, 5775+ { G_DRIVE_START_STOP_TYPE_NETWORK, "G_DRIVE_START_STOP_TYPE_NETWORK", "network" }, 5776+ { G_DRIVE_START_STOP_TYPE_MULTIDISK, "G_DRIVE_START_STOP_TYPE_MULTIDISK", "multidisk" }, 5777+ { G_DRIVE_START_STOP_TYPE_PASSWORD, "G_DRIVE_START_STOP_TYPE_PASSWORD", "password" }, 5778+ { 0, NULL, NULL } 5779+ }; 5780+ GType g_define_type_id = 5781+ g_enum_register_static (g_intern_static_string ("GDriveStartStopType"), values); 5782+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 5783+ } 5784+ 5785+ return static_g_define_type_id; 5786+} 5787+GType 5788+g_file_copy_flags_get_type (void) 5789+{ 5790+ static gsize static_g_define_type_id = 0; 5791+ 5792+ if (g_once_init_enter (&static_g_define_type_id)) 5793+ { 5794+ static const GFlagsValue values[] = { 5795+ { G_FILE_COPY_NONE, "G_FILE_COPY_NONE", "none" }, 5796+ { G_FILE_COPY_OVERWRITE, "G_FILE_COPY_OVERWRITE", "overwrite" }, 5797+ { G_FILE_COPY_BACKUP, "G_FILE_COPY_BACKUP", "backup" }, 5798+ { G_FILE_COPY_NOFOLLOW_SYMLINKS, "G_FILE_COPY_NOFOLLOW_SYMLINKS", "nofollow-symlinks" }, 5799+ { G_FILE_COPY_ALL_METADATA, "G_FILE_COPY_ALL_METADATA", "all-metadata" }, 5800+ { G_FILE_COPY_NO_FALLBACK_FOR_MOVE, "G_FILE_COPY_NO_FALLBACK_FOR_MOVE", "no-fallback-for-move" }, 5801+ { G_FILE_COPY_TARGET_DEFAULT_PERMS, "G_FILE_COPY_TARGET_DEFAULT_PERMS", "target-default-perms" }, 5802+ { 0, NULL, NULL } 5803+ }; 5804+ GType g_define_type_id = 5805+ g_flags_register_static (g_intern_static_string ("GFileCopyFlags"), values); 5806+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 5807+ } 5808+ 5809+ return static_g_define_type_id; 5810+} 5811+GType 5812+g_file_monitor_flags_get_type (void) 5813+{ 5814+ static gsize static_g_define_type_id = 0; 5815+ 5816+ if (g_once_init_enter (&static_g_define_type_id)) 5817+ { 5818+ static const GFlagsValue values[] = { 5819+ { G_FILE_MONITOR_NONE, "G_FILE_MONITOR_NONE", "none" }, 5820+ { G_FILE_MONITOR_WATCH_MOUNTS, "G_FILE_MONITOR_WATCH_MOUNTS", "watch-mounts" }, 5821+ { G_FILE_MONITOR_SEND_MOVED, "G_FILE_MONITOR_SEND_MOVED", "send-moved" }, 5822+ { G_FILE_MONITOR_WATCH_HARD_LINKS, "G_FILE_MONITOR_WATCH_HARD_LINKS", "watch-hard-links" }, 5823+ { G_FILE_MONITOR_WATCH_MOVES, "G_FILE_MONITOR_WATCH_MOVES", "watch-moves" }, 5824+ { 0, NULL, NULL } 5825+ }; 5826+ GType g_define_type_id = 5827+ g_flags_register_static (g_intern_static_string ("GFileMonitorFlags"), values); 5828+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 5829+ } 5830+ 5831+ return static_g_define_type_id; 5832+} 5833+GType 5834+g_file_type_get_type (void) 5835+{ 5836+ static gsize static_g_define_type_id = 0; 5837+ 5838+ if (g_once_init_enter (&static_g_define_type_id)) 5839+ { 5840+ static const GEnumValue values[] = { 5841+ { G_FILE_TYPE_UNKNOWN, "G_FILE_TYPE_UNKNOWN", "unknown" }, 5842+ { G_FILE_TYPE_REGULAR, "G_FILE_TYPE_REGULAR", "regular" }, 5843+ { G_FILE_TYPE_DIRECTORY, "G_FILE_TYPE_DIRECTORY", "directory" }, 5844+ { G_FILE_TYPE_SYMBOLIC_LINK, "G_FILE_TYPE_SYMBOLIC_LINK", "symbolic-link" }, 5845+ { G_FILE_TYPE_SPECIAL, "G_FILE_TYPE_SPECIAL", "special" }, 5846+ { G_FILE_TYPE_SHORTCUT, "G_FILE_TYPE_SHORTCUT", "shortcut" }, 5847+ { G_FILE_TYPE_MOUNTABLE, "G_FILE_TYPE_MOUNTABLE", "mountable" }, 5848+ { 0, NULL, NULL } 5849+ }; 5850+ GType g_define_type_id = 5851+ g_enum_register_static (g_intern_static_string ("GFileType"), values); 5852+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 5853+ } 5854+ 5855+ return static_g_define_type_id; 5856+} 5857+GType 5858+g_filesystem_preview_type_get_type (void) 5859+{ 5860+ static gsize static_g_define_type_id = 0; 5861+ 5862+ if (g_once_init_enter (&static_g_define_type_id)) 5863+ { 5864+ static const GEnumValue values[] = { 5865+ { G_FILESYSTEM_PREVIEW_TYPE_IF_ALWAYS, "G_FILESYSTEM_PREVIEW_TYPE_IF_ALWAYS", "if-always" }, 5866+ { G_FILESYSTEM_PREVIEW_TYPE_IF_LOCAL, "G_FILESYSTEM_PREVIEW_TYPE_IF_LOCAL", "if-local" }, 5867+ { G_FILESYSTEM_PREVIEW_TYPE_NEVER, "G_FILESYSTEM_PREVIEW_TYPE_NEVER", "never" }, 5868+ { 0, NULL, NULL } 5869+ }; 5870+ GType g_define_type_id = 5871+ g_enum_register_static (g_intern_static_string ("GFilesystemPreviewType"), values); 5872+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 5873+ } 5874+ 5875+ return static_g_define_type_id; 5876+} 5877+GType 5878+g_file_monitor_event_get_type (void) 5879+{ 5880+ static gsize static_g_define_type_id = 0; 5881+ 5882+ if (g_once_init_enter (&static_g_define_type_id)) 5883+ { 5884+ static const GEnumValue values[] = { 5885+ { G_FILE_MONITOR_EVENT_CHANGED, "G_FILE_MONITOR_EVENT_CHANGED", "changed" }, 5886+ { G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT, "G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT", "changes-done-hint" }, 5887+ { G_FILE_MONITOR_EVENT_DELETED, "G_FILE_MONITOR_EVENT_DELETED", "deleted" }, 5888+ { G_FILE_MONITOR_EVENT_CREATED, "G_FILE_MONITOR_EVENT_CREATED", "created" }, 5889+ { G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED, "G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED", "attribute-changed" }, 5890+ { G_FILE_MONITOR_EVENT_PRE_UNMOUNT, "G_FILE_MONITOR_EVENT_PRE_UNMOUNT", "pre-unmount" }, 5891+ { G_FILE_MONITOR_EVENT_UNMOUNTED, "G_FILE_MONITOR_EVENT_UNMOUNTED", "unmounted" }, 5892+ { G_FILE_MONITOR_EVENT_MOVED, "G_FILE_MONITOR_EVENT_MOVED", "moved" }, 5893+ { G_FILE_MONITOR_EVENT_RENAMED, "G_FILE_MONITOR_EVENT_RENAMED", "renamed" }, 5894+ { G_FILE_MONITOR_EVENT_MOVED_IN, "G_FILE_MONITOR_EVENT_MOVED_IN", "moved-in" }, 5895+ { G_FILE_MONITOR_EVENT_MOVED_OUT, "G_FILE_MONITOR_EVENT_MOVED_OUT", "moved-out" }, 5896+ { 0, NULL, NULL } 5897+ }; 5898+ GType g_define_type_id = 5899+ g_enum_register_static (g_intern_static_string ("GFileMonitorEvent"), values); 5900+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 5901+ } 5902+ 5903+ return static_g_define_type_id; 5904+} 5905+GType 5906+g_io_error_enum_get_type (void) 5907+{ 5908+ static gsize static_g_define_type_id = 0; 5909+ 5910+ if (g_once_init_enter (&static_g_define_type_id)) 5911+ { 5912+ static const GEnumValue values[] = { 5913+ { G_IO_ERROR_FAILED, "G_IO_ERROR_FAILED", "failed" }, 5914+ { G_IO_ERROR_NOT_FOUND, "G_IO_ERROR_NOT_FOUND", "not-found" }, 5915+ { G_IO_ERROR_EXISTS, "G_IO_ERROR_EXISTS", "exists" }, 5916+ { G_IO_ERROR_IS_DIRECTORY, "G_IO_ERROR_IS_DIRECTORY", "is-directory" }, 5917+ { G_IO_ERROR_NOT_DIRECTORY, "G_IO_ERROR_NOT_DIRECTORY", "not-directory" }, 5918+ { G_IO_ERROR_NOT_EMPTY, "G_IO_ERROR_NOT_EMPTY", "not-empty" }, 5919+ { G_IO_ERROR_NOT_REGULAR_FILE, "G_IO_ERROR_NOT_REGULAR_FILE", "not-regular-file" }, 5920+ { G_IO_ERROR_NOT_SYMBOLIC_LINK, "G_IO_ERROR_NOT_SYMBOLIC_LINK", "not-symbolic-link" }, 5921+ { G_IO_ERROR_NOT_MOUNTABLE_FILE, "G_IO_ERROR_NOT_MOUNTABLE_FILE", "not-mountable-file" }, 5922+ { G_IO_ERROR_FILENAME_TOO_LONG, "G_IO_ERROR_FILENAME_TOO_LONG", "filename-too-long" }, 5923+ { G_IO_ERROR_INVALID_FILENAME, "G_IO_ERROR_INVALID_FILENAME", "invalid-filename" }, 5924+ { G_IO_ERROR_TOO_MANY_LINKS, "G_IO_ERROR_TOO_MANY_LINKS", "too-many-links" }, 5925+ { G_IO_ERROR_NO_SPACE, "G_IO_ERROR_NO_SPACE", "no-space" }, 5926+ { G_IO_ERROR_INVALID_ARGUMENT, "G_IO_ERROR_INVALID_ARGUMENT", "invalid-argument" }, 5927+ { G_IO_ERROR_PERMISSION_DENIED, "G_IO_ERROR_PERMISSION_DENIED", "permission-denied" }, 5928+ { G_IO_ERROR_NOT_SUPPORTED, "G_IO_ERROR_NOT_SUPPORTED", "not-supported" }, 5929+ { G_IO_ERROR_NOT_MOUNTED, "G_IO_ERROR_NOT_MOUNTED", "not-mounted" }, 5930+ { G_IO_ERROR_ALREADY_MOUNTED, "G_IO_ERROR_ALREADY_MOUNTED", "already-mounted" }, 5931+ { G_IO_ERROR_CLOSED, "G_IO_ERROR_CLOSED", "closed" }, 5932+ { G_IO_ERROR_CANCELLED, "G_IO_ERROR_CANCELLED", "cancelled" }, 5933+ { G_IO_ERROR_PENDING, "G_IO_ERROR_PENDING", "pending" }, 5934+ { G_IO_ERROR_READ_ONLY, "G_IO_ERROR_READ_ONLY", "read-only" }, 5935+ { G_IO_ERROR_CANT_CREATE_BACKUP, "G_IO_ERROR_CANT_CREATE_BACKUP", "cant-create-backup" }, 5936+ { G_IO_ERROR_WRONG_ETAG, "G_IO_ERROR_WRONG_ETAG", "wrong-etag" }, 5937+ { G_IO_ERROR_TIMED_OUT, "G_IO_ERROR_TIMED_OUT", "timed-out" }, 5938+ { G_IO_ERROR_WOULD_RECURSE, "G_IO_ERROR_WOULD_RECURSE", "would-recurse" }, 5939+ { G_IO_ERROR_BUSY, "G_IO_ERROR_BUSY", "busy" }, 5940+ { G_IO_ERROR_WOULD_BLOCK, "G_IO_ERROR_WOULD_BLOCK", "would-block" }, 5941+ { G_IO_ERROR_HOST_NOT_FOUND, "G_IO_ERROR_HOST_NOT_FOUND", "host-not-found" }, 5942+ { G_IO_ERROR_WOULD_MERGE, "G_IO_ERROR_WOULD_MERGE", "would-merge" }, 5943+ { G_IO_ERROR_FAILED_HANDLED, "G_IO_ERROR_FAILED_HANDLED", "failed-handled" }, 5944+ { G_IO_ERROR_TOO_MANY_OPEN_FILES, "G_IO_ERROR_TOO_MANY_OPEN_FILES", "too-many-open-files" }, 5945+ { G_IO_ERROR_NOT_INITIALIZED, "G_IO_ERROR_NOT_INITIALIZED", "not-initialized" }, 5946+ { G_IO_ERROR_ADDRESS_IN_USE, "G_IO_ERROR_ADDRESS_IN_USE", "address-in-use" }, 5947+ { G_IO_ERROR_PARTIAL_INPUT, "G_IO_ERROR_PARTIAL_INPUT", "partial-input" }, 5948+ { G_IO_ERROR_INVALID_DATA, "G_IO_ERROR_INVALID_DATA", "invalid-data" }, 5949+ { G_IO_ERROR_DBUS_ERROR, "G_IO_ERROR_DBUS_ERROR", "dbus-error" }, 5950+ { G_IO_ERROR_HOST_UNREACHABLE, "G_IO_ERROR_HOST_UNREACHABLE", "host-unreachable" }, 5951+ { G_IO_ERROR_NETWORK_UNREACHABLE, "G_IO_ERROR_NETWORK_UNREACHABLE", "network-unreachable" }, 5952+ { G_IO_ERROR_CONNECTION_REFUSED, "G_IO_ERROR_CONNECTION_REFUSED", "connection-refused" }, 5953+ { G_IO_ERROR_PROXY_FAILED, "G_IO_ERROR_PROXY_FAILED", "proxy-failed" }, 5954+ { G_IO_ERROR_PROXY_AUTH_FAILED, "G_IO_ERROR_PROXY_AUTH_FAILED", "proxy-auth-failed" }, 5955+ { G_IO_ERROR_PROXY_NEED_AUTH, "G_IO_ERROR_PROXY_NEED_AUTH", "proxy-need-auth" }, 5956+ { G_IO_ERROR_PROXY_NOT_ALLOWED, "G_IO_ERROR_PROXY_NOT_ALLOWED", "proxy-not-allowed" }, 5957+ { G_IO_ERROR_BROKEN_PIPE, "G_IO_ERROR_BROKEN_PIPE", "broken-pipe" }, 5958+ { G_IO_ERROR_CONNECTION_CLOSED, "G_IO_ERROR_CONNECTION_CLOSED", "connection-closed" }, 5959+ { G_IO_ERROR_NOT_CONNECTED, "G_IO_ERROR_NOT_CONNECTED", "not-connected" }, 5960+ { G_IO_ERROR_MESSAGE_TOO_LARGE, "G_IO_ERROR_MESSAGE_TOO_LARGE", "message-too-large" }, 5961+ { 0, NULL, NULL } 5962+ }; 5963+ GType g_define_type_id = 5964+ g_enum_register_static (g_intern_static_string ("GIOErrorEnum"), values); 5965+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 5966+ } 5967+ 5968+ return static_g_define_type_id; 5969+} 5970+GType 5971+g_ask_password_flags_get_type (void) 5972+{ 5973+ static gsize static_g_define_type_id = 0; 5974+ 5975+ if (g_once_init_enter (&static_g_define_type_id)) 5976+ { 5977+ static const GFlagsValue values[] = { 5978+ { G_ASK_PASSWORD_NEED_PASSWORD, "G_ASK_PASSWORD_NEED_PASSWORD", "need-password" }, 5979+ { G_ASK_PASSWORD_NEED_USERNAME, "G_ASK_PASSWORD_NEED_USERNAME", "need-username" }, 5980+ { G_ASK_PASSWORD_NEED_DOMAIN, "G_ASK_PASSWORD_NEED_DOMAIN", "need-domain" }, 5981+ { G_ASK_PASSWORD_SAVING_SUPPORTED, "G_ASK_PASSWORD_SAVING_SUPPORTED", "saving-supported" }, 5982+ { G_ASK_PASSWORD_ANONYMOUS_SUPPORTED, "G_ASK_PASSWORD_ANONYMOUS_SUPPORTED", "anonymous-supported" }, 5983+ { G_ASK_PASSWORD_TCRYPT, "G_ASK_PASSWORD_TCRYPT", "tcrypt" }, 5984+ { 0, NULL, NULL } 5985+ }; 5986+ GType g_define_type_id = 5987+ g_flags_register_static (g_intern_static_string ("GAskPasswordFlags"), values); 5988+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 5989+ } 5990+ 5991+ return static_g_define_type_id; 5992+} 5993+GType 5994+g_password_save_get_type (void) 5995+{ 5996+ static gsize static_g_define_type_id = 0; 5997+ 5998+ if (g_once_init_enter (&static_g_define_type_id)) 5999+ { 6000+ static const GEnumValue values[] = { 6001+ { G_PASSWORD_SAVE_NEVER, "G_PASSWORD_SAVE_NEVER", "never" }, 6002+ { G_PASSWORD_SAVE_FOR_SESSION, "G_PASSWORD_SAVE_FOR_SESSION", "for-session" }, 6003+ { G_PASSWORD_SAVE_PERMANENTLY, "G_PASSWORD_SAVE_PERMANENTLY", "permanently" }, 6004+ { 0, NULL, NULL } 6005+ }; 6006+ GType g_define_type_id = 6007+ g_enum_register_static (g_intern_static_string ("GPasswordSave"), values); 6008+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 6009+ } 6010+ 6011+ return static_g_define_type_id; 6012+} 6013+GType 6014+g_mount_operation_result_get_type (void) 6015+{ 6016+ static gsize static_g_define_type_id = 0; 6017+ 6018+ if (g_once_init_enter (&static_g_define_type_id)) 6019+ { 6020+ static const GEnumValue values[] = { 6021+ { G_MOUNT_OPERATION_HANDLED, "G_MOUNT_OPERATION_HANDLED", "handled" }, 6022+ { G_MOUNT_OPERATION_ABORTED, "G_MOUNT_OPERATION_ABORTED", "aborted" }, 6023+ { G_MOUNT_OPERATION_UNHANDLED, "G_MOUNT_OPERATION_UNHANDLED", "unhandled" }, 6024+ { 0, NULL, NULL } 6025+ }; 6026+ GType g_define_type_id = 6027+ g_enum_register_static (g_intern_static_string ("GMountOperationResult"), values); 6028+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 6029+ } 6030+ 6031+ return static_g_define_type_id; 6032+} 6033+GType 6034+g_output_stream_splice_flags_get_type (void) 6035+{ 6036+ static gsize static_g_define_type_id = 0; 6037+ 6038+ if (g_once_init_enter (&static_g_define_type_id)) 6039+ { 6040+ static const GFlagsValue values[] = { 6041+ { G_OUTPUT_STREAM_SPLICE_NONE, "G_OUTPUT_STREAM_SPLICE_NONE", "none" }, 6042+ { G_OUTPUT_STREAM_SPLICE_CLOSE_SOURCE, "G_OUTPUT_STREAM_SPLICE_CLOSE_SOURCE", "close-source" }, 6043+ { G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET, "G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET", "close-target" }, 6044+ { 0, NULL, NULL } 6045+ }; 6046+ GType g_define_type_id = 6047+ g_flags_register_static (g_intern_static_string ("GOutputStreamSpliceFlags"), values); 6048+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 6049+ } 6050+ 6051+ return static_g_define_type_id; 6052+} 6053+GType 6054+g_io_stream_splice_flags_get_type (void) 6055+{ 6056+ static gsize static_g_define_type_id = 0; 6057+ 6058+ if (g_once_init_enter (&static_g_define_type_id)) 6059+ { 6060+ static const GFlagsValue values[] = { 6061+ { G_IO_STREAM_SPLICE_NONE, "G_IO_STREAM_SPLICE_NONE", "none" }, 6062+ { G_IO_STREAM_SPLICE_CLOSE_STREAM1, "G_IO_STREAM_SPLICE_CLOSE_STREAM1", "close-stream1" }, 6063+ { G_IO_STREAM_SPLICE_CLOSE_STREAM2, "G_IO_STREAM_SPLICE_CLOSE_STREAM2", "close-stream2" }, 6064+ { G_IO_STREAM_SPLICE_WAIT_FOR_BOTH, "G_IO_STREAM_SPLICE_WAIT_FOR_BOTH", "wait-for-both" }, 6065+ { 0, NULL, NULL } 6066+ }; 6067+ GType g_define_type_id = 6068+ g_flags_register_static (g_intern_static_string ("GIOStreamSpliceFlags"), values); 6069+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 6070+ } 6071+ 6072+ return static_g_define_type_id; 6073+} 6074+GType 6075+g_emblem_origin_get_type (void) 6076+{ 6077+ static gsize static_g_define_type_id = 0; 6078+ 6079+ if (g_once_init_enter (&static_g_define_type_id)) 6080+ { 6081+ static const GEnumValue values[] = { 6082+ { G_EMBLEM_ORIGIN_UNKNOWN, "G_EMBLEM_ORIGIN_UNKNOWN", "unknown" }, 6083+ { G_EMBLEM_ORIGIN_DEVICE, "G_EMBLEM_ORIGIN_DEVICE", "device" }, 6084+ { G_EMBLEM_ORIGIN_LIVEMETADATA, "G_EMBLEM_ORIGIN_LIVEMETADATA", "livemetadata" }, 6085+ { G_EMBLEM_ORIGIN_TAG, "G_EMBLEM_ORIGIN_TAG", "tag" }, 6086+ { 0, NULL, NULL } 6087+ }; 6088+ GType g_define_type_id = 6089+ g_enum_register_static (g_intern_static_string ("GEmblemOrigin"), values); 6090+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 6091+ } 6092+ 6093+ return static_g_define_type_id; 6094+} 6095+GType 6096+g_resolver_error_get_type (void) 6097+{ 6098+ static gsize static_g_define_type_id = 0; 6099+ 6100+ if (g_once_init_enter (&static_g_define_type_id)) 6101+ { 6102+ static const GEnumValue values[] = { 6103+ { G_RESOLVER_ERROR_NOT_FOUND, "G_RESOLVER_ERROR_NOT_FOUND", "not-found" }, 6104+ { G_RESOLVER_ERROR_TEMPORARY_FAILURE, "G_RESOLVER_ERROR_TEMPORARY_FAILURE", "temporary-failure" }, 6105+ { G_RESOLVER_ERROR_INTERNAL, "G_RESOLVER_ERROR_INTERNAL", "internal" }, 6106+ { 0, NULL, NULL } 6107+ }; 6108+ GType g_define_type_id = 6109+ g_enum_register_static (g_intern_static_string ("GResolverError"), values); 6110+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 6111+ } 6112+ 6113+ return static_g_define_type_id; 6114+} 6115+GType 6116+g_resolver_record_type_get_type (void) 6117+{ 6118+ static gsize static_g_define_type_id = 0; 6119+ 6120+ if (g_once_init_enter (&static_g_define_type_id)) 6121+ { 6122+ static const GEnumValue values[] = { 6123+ { G_RESOLVER_RECORD_SRV, "G_RESOLVER_RECORD_SRV", "srv" }, 6124+ { G_RESOLVER_RECORD_MX, "G_RESOLVER_RECORD_MX", "mx" }, 6125+ { G_RESOLVER_RECORD_TXT, "G_RESOLVER_RECORD_TXT", "txt" }, 6126+ { G_RESOLVER_RECORD_SOA, "G_RESOLVER_RECORD_SOA", "soa" }, 6127+ { G_RESOLVER_RECORD_NS, "G_RESOLVER_RECORD_NS", "ns" }, 6128+ { 0, NULL, NULL } 6129+ }; 6130+ GType g_define_type_id = 6131+ g_enum_register_static (g_intern_static_string ("GResolverRecordType"), values); 6132+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 6133+ } 6134+ 6135+ return static_g_define_type_id; 6136+} 6137+GType 6138+g_resource_error_get_type (void) 6139+{ 6140+ static gsize static_g_define_type_id = 0; 6141+ 6142+ if (g_once_init_enter (&static_g_define_type_id)) 6143+ { 6144+ static const GEnumValue values[] = { 6145+ { G_RESOURCE_ERROR_NOT_FOUND, "G_RESOURCE_ERROR_NOT_FOUND", "not-found" }, 6146+ { G_RESOURCE_ERROR_INTERNAL, "G_RESOURCE_ERROR_INTERNAL", "internal" }, 6147+ { 0, NULL, NULL } 6148+ }; 6149+ GType g_define_type_id = 6150+ g_enum_register_static (g_intern_static_string ("GResourceError"), values); 6151+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 6152+ } 6153+ 6154+ return static_g_define_type_id; 6155+} 6156+GType 6157+g_resource_flags_get_type (void) 6158+{ 6159+ static gsize static_g_define_type_id = 0; 6160+ 6161+ if (g_once_init_enter (&static_g_define_type_id)) 6162+ { 6163+ static const GFlagsValue values[] = { 6164+ { G_RESOURCE_FLAGS_NONE, "G_RESOURCE_FLAGS_NONE", "none" }, 6165+ { G_RESOURCE_FLAGS_COMPRESSED, "G_RESOURCE_FLAGS_COMPRESSED", "compressed" }, 6166+ { 0, NULL, NULL } 6167+ }; 6168+ GType g_define_type_id = 6169+ g_flags_register_static (g_intern_static_string ("GResourceFlags"), values); 6170+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 6171+ } 6172+ 6173+ return static_g_define_type_id; 6174+} 6175+GType 6176+g_resource_lookup_flags_get_type (void) 6177+{ 6178+ static gsize static_g_define_type_id = 0; 6179+ 6180+ if (g_once_init_enter (&static_g_define_type_id)) 6181+ { 6182+ static const GFlagsValue values[] = { 6183+ { G_RESOURCE_LOOKUP_FLAGS_NONE, "G_RESOURCE_LOOKUP_FLAGS_NONE", "none" }, 6184+ { 0, NULL, NULL } 6185+ }; 6186+ GType g_define_type_id = 6187+ g_flags_register_static (g_intern_static_string ("GResourceLookupFlags"), values); 6188+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 6189+ } 6190+ 6191+ return static_g_define_type_id; 6192+} 6193+GType 6194+g_socket_family_get_type (void) 6195+{ 6196+ static gsize static_g_define_type_id = 0; 6197+ 6198+ if (g_once_init_enter (&static_g_define_type_id)) 6199+ { 6200+ static const GEnumValue values[] = { 6201+ { G_SOCKET_FAMILY_INVALID, "G_SOCKET_FAMILY_INVALID", "invalid" }, 6202+ { G_SOCKET_FAMILY_UNIX, "G_SOCKET_FAMILY_UNIX", "unix" }, 6203+ { G_SOCKET_FAMILY_IPV4, "G_SOCKET_FAMILY_IPV4", "ipv4" }, 6204+ { G_SOCKET_FAMILY_IPV6, "G_SOCKET_FAMILY_IPV6", "ipv6" }, 6205+ { 0, NULL, NULL } 6206+ }; 6207+ GType g_define_type_id = 6208+ g_enum_register_static (g_intern_static_string ("GSocketFamily"), values); 6209+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 6210+ } 6211+ 6212+ return static_g_define_type_id; 6213+} 6214+GType 6215+g_socket_type_get_type (void) 6216+{ 6217+ static gsize static_g_define_type_id = 0; 6218+ 6219+ if (g_once_init_enter (&static_g_define_type_id)) 6220+ { 6221+ static const GEnumValue values[] = { 6222+ { G_SOCKET_TYPE_INVALID, "G_SOCKET_TYPE_INVALID", "invalid" }, 6223+ { G_SOCKET_TYPE_STREAM, "G_SOCKET_TYPE_STREAM", "stream" }, 6224+ { G_SOCKET_TYPE_DATAGRAM, "G_SOCKET_TYPE_DATAGRAM", "datagram" }, 6225+ { G_SOCKET_TYPE_SEQPACKET, "G_SOCKET_TYPE_SEQPACKET", "seqpacket" }, 6226+ { 0, NULL, NULL } 6227+ }; 6228+ GType g_define_type_id = 6229+ g_enum_register_static (g_intern_static_string ("GSocketType"), values); 6230+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 6231+ } 6232+ 6233+ return static_g_define_type_id; 6234+} 6235+GType 6236+g_socket_msg_flags_get_type (void) 6237+{ 6238+ static gsize static_g_define_type_id = 0; 6239+ 6240+ if (g_once_init_enter (&static_g_define_type_id)) 6241+ { 6242+ static const GFlagsValue values[] = { 6243+ { G_SOCKET_MSG_NONE, "G_SOCKET_MSG_NONE", "none" }, 6244+ { G_SOCKET_MSG_OOB, "G_SOCKET_MSG_OOB", "oob" }, 6245+ { G_SOCKET_MSG_PEEK, "G_SOCKET_MSG_PEEK", "peek" }, 6246+ { G_SOCKET_MSG_DONTROUTE, "G_SOCKET_MSG_DONTROUTE", "dontroute" }, 6247+ { 0, NULL, NULL } 6248+ }; 6249+ GType g_define_type_id = 6250+ g_flags_register_static (g_intern_static_string ("GSocketMsgFlags"), values); 6251+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 6252+ } 6253+ 6254+ return static_g_define_type_id; 6255+} 6256+GType 6257+g_socket_protocol_get_type (void) 6258+{ 6259+ static gsize static_g_define_type_id = 0; 6260+ 6261+ if (g_once_init_enter (&static_g_define_type_id)) 6262+ { 6263+ static const GEnumValue values[] = { 6264+ { G_SOCKET_PROTOCOL_UNKNOWN, "G_SOCKET_PROTOCOL_UNKNOWN", "unknown" }, 6265+ { G_SOCKET_PROTOCOL_DEFAULT, "G_SOCKET_PROTOCOL_DEFAULT", "default" }, 6266+ { G_SOCKET_PROTOCOL_TCP, "G_SOCKET_PROTOCOL_TCP", "tcp" }, 6267+ { G_SOCKET_PROTOCOL_UDP, "G_SOCKET_PROTOCOL_UDP", "udp" }, 6268+ { G_SOCKET_PROTOCOL_SCTP, "G_SOCKET_PROTOCOL_SCTP", "sctp" }, 6269+ { 0, NULL, NULL } 6270+ }; 6271+ GType g_define_type_id = 6272+ g_enum_register_static (g_intern_static_string ("GSocketProtocol"), values); 6273+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 6274+ } 6275+ 6276+ return static_g_define_type_id; 6277+} 6278+GType 6279+g_zlib_compressor_format_get_type (void) 6280+{ 6281+ static gsize static_g_define_type_id = 0; 6282+ 6283+ if (g_once_init_enter (&static_g_define_type_id)) 6284+ { 6285+ static const GEnumValue values[] = { 6286+ { G_ZLIB_COMPRESSOR_FORMAT_ZLIB, "G_ZLIB_COMPRESSOR_FORMAT_ZLIB", "zlib" }, 6287+ { G_ZLIB_COMPRESSOR_FORMAT_GZIP, "G_ZLIB_COMPRESSOR_FORMAT_GZIP", "gzip" }, 6288+ { G_ZLIB_COMPRESSOR_FORMAT_RAW, "G_ZLIB_COMPRESSOR_FORMAT_RAW", "raw" }, 6289+ { 0, NULL, NULL } 6290+ }; 6291+ GType g_define_type_id = 6292+ g_enum_register_static (g_intern_static_string ("GZlibCompressorFormat"), values); 6293+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 6294+ } 6295+ 6296+ return static_g_define_type_id; 6297+} 6298+GType 6299+g_unix_socket_address_type_get_type (void) 6300+{ 6301+ static gsize static_g_define_type_id = 0; 6302+ 6303+ if (g_once_init_enter (&static_g_define_type_id)) 6304+ { 6305+ static const GEnumValue values[] = { 6306+ { G_UNIX_SOCKET_ADDRESS_INVALID, "G_UNIX_SOCKET_ADDRESS_INVALID", "invalid" }, 6307+ { G_UNIX_SOCKET_ADDRESS_ANONYMOUS, "G_UNIX_SOCKET_ADDRESS_ANONYMOUS", "anonymous" }, 6308+ { G_UNIX_SOCKET_ADDRESS_PATH, "G_UNIX_SOCKET_ADDRESS_PATH", "path" }, 6309+ { G_UNIX_SOCKET_ADDRESS_ABSTRACT, "G_UNIX_SOCKET_ADDRESS_ABSTRACT", "abstract" }, 6310+ { G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED, "G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED", "abstract-padded" }, 6311+ { 0, NULL, NULL } 6312+ }; 6313+ GType g_define_type_id = 6314+ g_enum_register_static (g_intern_static_string ("GUnixSocketAddressType"), values); 6315+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 6316+ } 6317+ 6318+ return static_g_define_type_id; 6319+} 6320+GType 6321+g_bus_type_get_type (void) 6322+{ 6323+ static gsize static_g_define_type_id = 0; 6324+ 6325+ if (g_once_init_enter (&static_g_define_type_id)) 6326+ { 6327+ static const GEnumValue values[] = { 6328+ { G_BUS_TYPE_STARTER, "G_BUS_TYPE_STARTER", "starter" }, 6329+ { G_BUS_TYPE_NONE, "G_BUS_TYPE_NONE", "none" }, 6330+ { G_BUS_TYPE_SYSTEM, "G_BUS_TYPE_SYSTEM", "system" }, 6331+ { G_BUS_TYPE_SESSION, "G_BUS_TYPE_SESSION", "session" }, 6332+ { 0, NULL, NULL } 6333+ }; 6334+ GType g_define_type_id = 6335+ g_enum_register_static (g_intern_static_string ("GBusType"), values); 6336+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 6337+ } 6338+ 6339+ return static_g_define_type_id; 6340+} 6341+GType 6342+g_bus_name_owner_flags_get_type (void) 6343+{ 6344+ static gsize static_g_define_type_id = 0; 6345+ 6346+ if (g_once_init_enter (&static_g_define_type_id)) 6347+ { 6348+ static const GFlagsValue values[] = { 6349+ { G_BUS_NAME_OWNER_FLAGS_NONE, "G_BUS_NAME_OWNER_FLAGS_NONE", "none" }, 6350+ { G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT, "G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT", "allow-replacement" }, 6351+ { G_BUS_NAME_OWNER_FLAGS_REPLACE, "G_BUS_NAME_OWNER_FLAGS_REPLACE", "replace" }, 6352+ { G_BUS_NAME_OWNER_FLAGS_DO_NOT_QUEUE, "G_BUS_NAME_OWNER_FLAGS_DO_NOT_QUEUE", "do-not-queue" }, 6353+ { 0, NULL, NULL } 6354+ }; 6355+ GType g_define_type_id = 6356+ g_flags_register_static (g_intern_static_string ("GBusNameOwnerFlags"), values); 6357+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 6358+ } 6359+ 6360+ return static_g_define_type_id; 6361+} 6362+GType 6363+g_bus_name_watcher_flags_get_type (void) 6364+{ 6365+ static gsize static_g_define_type_id = 0; 6366+ 6367+ if (g_once_init_enter (&static_g_define_type_id)) 6368+ { 6369+ static const GFlagsValue values[] = { 6370+ { G_BUS_NAME_WATCHER_FLAGS_NONE, "G_BUS_NAME_WATCHER_FLAGS_NONE", "none" }, 6371+ { G_BUS_NAME_WATCHER_FLAGS_AUTO_START, "G_BUS_NAME_WATCHER_FLAGS_AUTO_START", "auto-start" }, 6372+ { 0, NULL, NULL } 6373+ }; 6374+ GType g_define_type_id = 6375+ g_flags_register_static (g_intern_static_string ("GBusNameWatcherFlags"), values); 6376+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 6377+ } 6378+ 6379+ return static_g_define_type_id; 6380+} 6381+GType 6382+g_dbus_proxy_flags_get_type (void) 6383+{ 6384+ static gsize static_g_define_type_id = 0; 6385+ 6386+ if (g_once_init_enter (&static_g_define_type_id)) 6387+ { 6388+ static const GFlagsValue values[] = { 6389+ { G_DBUS_PROXY_FLAGS_NONE, "G_DBUS_PROXY_FLAGS_NONE", "none" }, 6390+ { G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES, "G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES", "do-not-load-properties" }, 6391+ { G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS, "G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS", "do-not-connect-signals" }, 6392+ { G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START, "G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START", "do-not-auto-start" }, 6393+ { G_DBUS_PROXY_FLAGS_GET_INVALIDATED_PROPERTIES, "G_DBUS_PROXY_FLAGS_GET_INVALIDATED_PROPERTIES", "get-invalidated-properties" }, 6394+ { G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START_AT_CONSTRUCTION, "G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START_AT_CONSTRUCTION", "do-not-auto-start-at-construction" }, 6395+ { G_DBUS_PROXY_FLAGS_NO_MATCH_RULE, "G_DBUS_PROXY_FLAGS_NO_MATCH_RULE", "no-match-rule" }, 6396+ { 0, NULL, NULL } 6397+ }; 6398+ GType g_define_type_id = 6399+ g_flags_register_static (g_intern_static_string ("GDBusProxyFlags"), values); 6400+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 6401+ } 6402+ 6403+ return static_g_define_type_id; 6404+} 6405+GType 6406+g_dbus_error_get_type (void) 6407+{ 6408+ static gsize static_g_define_type_id = 0; 6409+ 6410+ if (g_once_init_enter (&static_g_define_type_id)) 6411+ { 6412+ static const GEnumValue values[] = { 6413+ { G_DBUS_ERROR_FAILED, "G_DBUS_ERROR_FAILED", "failed" }, 6414+ { G_DBUS_ERROR_NO_MEMORY, "G_DBUS_ERROR_NO_MEMORY", "no-memory" }, 6415+ { G_DBUS_ERROR_SERVICE_UNKNOWN, "G_DBUS_ERROR_SERVICE_UNKNOWN", "service-unknown" }, 6416+ { G_DBUS_ERROR_NAME_HAS_NO_OWNER, "G_DBUS_ERROR_NAME_HAS_NO_OWNER", "name-has-no-owner" }, 6417+ { G_DBUS_ERROR_NO_REPLY, "G_DBUS_ERROR_NO_REPLY", "no-reply" }, 6418+ { G_DBUS_ERROR_IO_ERROR, "G_DBUS_ERROR_IO_ERROR", "io-error" }, 6419+ { G_DBUS_ERROR_BAD_ADDRESS, "G_DBUS_ERROR_BAD_ADDRESS", "bad-address" }, 6420+ { G_DBUS_ERROR_NOT_SUPPORTED, "G_DBUS_ERROR_NOT_SUPPORTED", "not-supported" }, 6421+ { G_DBUS_ERROR_LIMITS_EXCEEDED, "G_DBUS_ERROR_LIMITS_EXCEEDED", "limits-exceeded" }, 6422+ { G_DBUS_ERROR_ACCESS_DENIED, "G_DBUS_ERROR_ACCESS_DENIED", "access-denied" }, 6423+ { G_DBUS_ERROR_AUTH_FAILED, "G_DBUS_ERROR_AUTH_FAILED", "auth-failed" }, 6424+ { G_DBUS_ERROR_NO_SERVER, "G_DBUS_ERROR_NO_SERVER", "no-server" }, 6425+ { G_DBUS_ERROR_TIMEOUT, "G_DBUS_ERROR_TIMEOUT", "timeout" }, 6426+ { G_DBUS_ERROR_NO_NETWORK, "G_DBUS_ERROR_NO_NETWORK", "no-network" }, 6427+ { G_DBUS_ERROR_ADDRESS_IN_USE, "G_DBUS_ERROR_ADDRESS_IN_USE", "address-in-use" }, 6428+ { G_DBUS_ERROR_DISCONNECTED, "G_DBUS_ERROR_DISCONNECTED", "disconnected" }, 6429+ { G_DBUS_ERROR_INVALID_ARGS, "G_DBUS_ERROR_INVALID_ARGS", "invalid-args" }, 6430+ { G_DBUS_ERROR_FILE_NOT_FOUND, "G_DBUS_ERROR_FILE_NOT_FOUND", "file-not-found" }, 6431+ { G_DBUS_ERROR_FILE_EXISTS, "G_DBUS_ERROR_FILE_EXISTS", "file-exists" }, 6432+ { G_DBUS_ERROR_UNKNOWN_METHOD, "G_DBUS_ERROR_UNKNOWN_METHOD", "unknown-method" }, 6433+ { G_DBUS_ERROR_TIMED_OUT, "G_DBUS_ERROR_TIMED_OUT", "timed-out" }, 6434+ { G_DBUS_ERROR_MATCH_RULE_NOT_FOUND, "G_DBUS_ERROR_MATCH_RULE_NOT_FOUND", "match-rule-not-found" }, 6435+ { G_DBUS_ERROR_MATCH_RULE_INVALID, "G_DBUS_ERROR_MATCH_RULE_INVALID", "match-rule-invalid" }, 6436+ { G_DBUS_ERROR_SPAWN_EXEC_FAILED, "G_DBUS_ERROR_SPAWN_EXEC_FAILED", "spawn-exec-failed" }, 6437+ { G_DBUS_ERROR_SPAWN_FORK_FAILED, "G_DBUS_ERROR_SPAWN_FORK_FAILED", "spawn-fork-failed" }, 6438+ { G_DBUS_ERROR_SPAWN_CHILD_EXITED, "G_DBUS_ERROR_SPAWN_CHILD_EXITED", "spawn-child-exited" }, 6439+ { G_DBUS_ERROR_SPAWN_CHILD_SIGNALED, "G_DBUS_ERROR_SPAWN_CHILD_SIGNALED", "spawn-child-signaled" }, 6440+ { G_DBUS_ERROR_SPAWN_FAILED, "G_DBUS_ERROR_SPAWN_FAILED", "spawn-failed" }, 6441+ { G_DBUS_ERROR_SPAWN_SETUP_FAILED, "G_DBUS_ERROR_SPAWN_SETUP_FAILED", "spawn-setup-failed" }, 6442+ { G_DBUS_ERROR_SPAWN_CONFIG_INVALID, "G_DBUS_ERROR_SPAWN_CONFIG_INVALID", "spawn-config-invalid" }, 6443+ { G_DBUS_ERROR_SPAWN_SERVICE_INVALID, "G_DBUS_ERROR_SPAWN_SERVICE_INVALID", "spawn-service-invalid" }, 6444+ { G_DBUS_ERROR_SPAWN_SERVICE_NOT_FOUND, "G_DBUS_ERROR_SPAWN_SERVICE_NOT_FOUND", "spawn-service-not-found" }, 6445+ { G_DBUS_ERROR_SPAWN_PERMISSIONS_INVALID, "G_DBUS_ERROR_SPAWN_PERMISSIONS_INVALID", "spawn-permissions-invalid" }, 6446+ { G_DBUS_ERROR_SPAWN_FILE_INVALID, "G_DBUS_ERROR_SPAWN_FILE_INVALID", "spawn-file-invalid" }, 6447+ { G_DBUS_ERROR_SPAWN_NO_MEMORY, "G_DBUS_ERROR_SPAWN_NO_MEMORY", "spawn-no-memory" }, 6448+ { G_DBUS_ERROR_UNIX_PROCESS_ID_UNKNOWN, "G_DBUS_ERROR_UNIX_PROCESS_ID_UNKNOWN", "unix-process-id-unknown" }, 6449+ { G_DBUS_ERROR_INVALID_SIGNATURE, "G_DBUS_ERROR_INVALID_SIGNATURE", "invalid-signature" }, 6450+ { G_DBUS_ERROR_INVALID_FILE_CONTENT, "G_DBUS_ERROR_INVALID_FILE_CONTENT", "invalid-file-content" }, 6451+ { G_DBUS_ERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN, "G_DBUS_ERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN", "selinux-security-context-unknown" }, 6452+ { G_DBUS_ERROR_ADT_AUDIT_DATA_UNKNOWN, "G_DBUS_ERROR_ADT_AUDIT_DATA_UNKNOWN", "adt-audit-data-unknown" }, 6453+ { G_DBUS_ERROR_OBJECT_PATH_IN_USE, "G_DBUS_ERROR_OBJECT_PATH_IN_USE", "object-path-in-use" }, 6454+ { G_DBUS_ERROR_UNKNOWN_OBJECT, "G_DBUS_ERROR_UNKNOWN_OBJECT", "unknown-object" }, 6455+ { G_DBUS_ERROR_UNKNOWN_INTERFACE, "G_DBUS_ERROR_UNKNOWN_INTERFACE", "unknown-interface" }, 6456+ { G_DBUS_ERROR_UNKNOWN_PROPERTY, "G_DBUS_ERROR_UNKNOWN_PROPERTY", "unknown-property" }, 6457+ { G_DBUS_ERROR_PROPERTY_READ_ONLY, "G_DBUS_ERROR_PROPERTY_READ_ONLY", "property-read-only" }, 6458+ { 0, NULL, NULL } 6459+ }; 6460+ GType g_define_type_id = 6461+ g_enum_register_static (g_intern_static_string ("GDBusError"), values); 6462+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 6463+ } 6464+ 6465+ return static_g_define_type_id; 6466+} 6467+GType 6468+g_dbus_connection_flags_get_type (void) 6469+{ 6470+ static gsize static_g_define_type_id = 0; 6471+ 6472+ if (g_once_init_enter (&static_g_define_type_id)) 6473+ { 6474+ static const GFlagsValue values[] = { 6475+ { G_DBUS_CONNECTION_FLAGS_NONE, "G_DBUS_CONNECTION_FLAGS_NONE", "none" }, 6476+ { G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_CLIENT, "G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_CLIENT", "authentication-client" }, 6477+ { G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER, "G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER", "authentication-server" }, 6478+ { G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS, "G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS", "authentication-allow-anonymous" }, 6479+ { G_DBUS_CONNECTION_FLAGS_MESSAGE_BUS_CONNECTION, "G_DBUS_CONNECTION_FLAGS_MESSAGE_BUS_CONNECTION", "message-bus-connection" }, 6480+ { G_DBUS_CONNECTION_FLAGS_DELAY_MESSAGE_PROCESSING, "G_DBUS_CONNECTION_FLAGS_DELAY_MESSAGE_PROCESSING", "delay-message-processing" }, 6481+ { G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER, "G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER", "authentication-require-same-user" }, 6482+ { 0, NULL, NULL } 6483+ }; 6484+ GType g_define_type_id = 6485+ g_flags_register_static (g_intern_static_string ("GDBusConnectionFlags"), values); 6486+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 6487+ } 6488+ 6489+ return static_g_define_type_id; 6490+} 6491+GType 6492+g_dbus_capability_flags_get_type (void) 6493+{ 6494+ static gsize static_g_define_type_id = 0; 6495+ 6496+ if (g_once_init_enter (&static_g_define_type_id)) 6497+ { 6498+ static const GFlagsValue values[] = { 6499+ { G_DBUS_CAPABILITY_FLAGS_NONE, "G_DBUS_CAPABILITY_FLAGS_NONE", "none" }, 6500+ { G_DBUS_CAPABILITY_FLAGS_UNIX_FD_PASSING, "G_DBUS_CAPABILITY_FLAGS_UNIX_FD_PASSING", "unix-fd-passing" }, 6501+ { 0, NULL, NULL } 6502+ }; 6503+ GType g_define_type_id = 6504+ g_flags_register_static (g_intern_static_string ("GDBusCapabilityFlags"), values); 6505+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 6506+ } 6507+ 6508+ return static_g_define_type_id; 6509+} 6510+GType 6511+g_dbus_call_flags_get_type (void) 6512+{ 6513+ static gsize static_g_define_type_id = 0; 6514+ 6515+ if (g_once_init_enter (&static_g_define_type_id)) 6516+ { 6517+ static const GFlagsValue values[] = { 6518+ { G_DBUS_CALL_FLAGS_NONE, "G_DBUS_CALL_FLAGS_NONE", "none" }, 6519+ { G_DBUS_CALL_FLAGS_NO_AUTO_START, "G_DBUS_CALL_FLAGS_NO_AUTO_START", "no-auto-start" }, 6520+ { G_DBUS_CALL_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION, "G_DBUS_CALL_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION", "allow-interactive-authorization" }, 6521+ { 0, NULL, NULL } 6522+ }; 6523+ GType g_define_type_id = 6524+ g_flags_register_static (g_intern_static_string ("GDBusCallFlags"), values); 6525+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 6526+ } 6527+ 6528+ return static_g_define_type_id; 6529+} 6530+GType 6531+g_dbus_message_type_get_type (void) 6532+{ 6533+ static gsize static_g_define_type_id = 0; 6534+ 6535+ if (g_once_init_enter (&static_g_define_type_id)) 6536+ { 6537+ static const GEnumValue values[] = { 6538+ { G_DBUS_MESSAGE_TYPE_INVALID, "G_DBUS_MESSAGE_TYPE_INVALID", "invalid" }, 6539+ { G_DBUS_MESSAGE_TYPE_METHOD_CALL, "G_DBUS_MESSAGE_TYPE_METHOD_CALL", "method-call" }, 6540+ { G_DBUS_MESSAGE_TYPE_METHOD_RETURN, "G_DBUS_MESSAGE_TYPE_METHOD_RETURN", "method-return" }, 6541+ { G_DBUS_MESSAGE_TYPE_ERROR, "G_DBUS_MESSAGE_TYPE_ERROR", "error" }, 6542+ { G_DBUS_MESSAGE_TYPE_SIGNAL, "G_DBUS_MESSAGE_TYPE_SIGNAL", "signal" }, 6543+ { 0, NULL, NULL } 6544+ }; 6545+ GType g_define_type_id = 6546+ g_enum_register_static (g_intern_static_string ("GDBusMessageType"), values); 6547+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 6548+ } 6549+ 6550+ return static_g_define_type_id; 6551+} 6552+GType 6553+g_dbus_message_flags_get_type (void) 6554+{ 6555+ static gsize static_g_define_type_id = 0; 6556+ 6557+ if (g_once_init_enter (&static_g_define_type_id)) 6558+ { 6559+ static const GFlagsValue values[] = { 6560+ { G_DBUS_MESSAGE_FLAGS_NONE, "G_DBUS_MESSAGE_FLAGS_NONE", "none" }, 6561+ { G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED, "G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED", "no-reply-expected" }, 6562+ { G_DBUS_MESSAGE_FLAGS_NO_AUTO_START, "G_DBUS_MESSAGE_FLAGS_NO_AUTO_START", "no-auto-start" }, 6563+ { G_DBUS_MESSAGE_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION, "G_DBUS_MESSAGE_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION", "allow-interactive-authorization" }, 6564+ { 0, NULL, NULL } 6565+ }; 6566+ GType g_define_type_id = 6567+ g_flags_register_static (g_intern_static_string ("GDBusMessageFlags"), values); 6568+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 6569+ } 6570+ 6571+ return static_g_define_type_id; 6572+} 6573+GType 6574+g_dbus_message_header_field_get_type (void) 6575+{ 6576+ static gsize static_g_define_type_id = 0; 6577+ 6578+ if (g_once_init_enter (&static_g_define_type_id)) 6579+ { 6580+ static const GEnumValue values[] = { 6581+ { G_DBUS_MESSAGE_HEADER_FIELD_INVALID, "G_DBUS_MESSAGE_HEADER_FIELD_INVALID", "invalid" }, 6582+ { G_DBUS_MESSAGE_HEADER_FIELD_PATH, "G_DBUS_MESSAGE_HEADER_FIELD_PATH", "path" }, 6583+ { G_DBUS_MESSAGE_HEADER_FIELD_INTERFACE, "G_DBUS_MESSAGE_HEADER_FIELD_INTERFACE", "interface" }, 6584+ { G_DBUS_MESSAGE_HEADER_FIELD_MEMBER, "G_DBUS_MESSAGE_HEADER_FIELD_MEMBER", "member" }, 6585+ { G_DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME, "G_DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME", "error-name" }, 6586+ { G_DBUS_MESSAGE_HEADER_FIELD_REPLY_SERIAL, "G_DBUS_MESSAGE_HEADER_FIELD_REPLY_SERIAL", "reply-serial" }, 6587+ { G_DBUS_MESSAGE_HEADER_FIELD_DESTINATION, "G_DBUS_MESSAGE_HEADER_FIELD_DESTINATION", "destination" }, 6588+ { G_DBUS_MESSAGE_HEADER_FIELD_SENDER, "G_DBUS_MESSAGE_HEADER_FIELD_SENDER", "sender" }, 6589+ { G_DBUS_MESSAGE_HEADER_FIELD_SIGNATURE, "G_DBUS_MESSAGE_HEADER_FIELD_SIGNATURE", "signature" }, 6590+ { G_DBUS_MESSAGE_HEADER_FIELD_NUM_UNIX_FDS, "G_DBUS_MESSAGE_HEADER_FIELD_NUM_UNIX_FDS", "num-unix-fds" }, 6591+ { 0, NULL, NULL } 6592+ }; 6593+ GType g_define_type_id = 6594+ g_enum_register_static (g_intern_static_string ("GDBusMessageHeaderField"), values); 6595+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 6596+ } 6597+ 6598+ return static_g_define_type_id; 6599+} 6600+GType 6601+g_dbus_property_info_flags_get_type (void) 6602+{ 6603+ static gsize static_g_define_type_id = 0; 6604+ 6605+ if (g_once_init_enter (&static_g_define_type_id)) 6606+ { 6607+ static const GFlagsValue values[] = { 6608+ { G_DBUS_PROPERTY_INFO_FLAGS_NONE, "G_DBUS_PROPERTY_INFO_FLAGS_NONE", "none" }, 6609+ { G_DBUS_PROPERTY_INFO_FLAGS_READABLE, "G_DBUS_PROPERTY_INFO_FLAGS_READABLE", "readable" }, 6610+ { G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE, "G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE", "writable" }, 6611+ { 0, NULL, NULL } 6612+ }; 6613+ GType g_define_type_id = 6614+ g_flags_register_static (g_intern_static_string ("GDBusPropertyInfoFlags"), values); 6615+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 6616+ } 6617+ 6618+ return static_g_define_type_id; 6619+} 6620+GType 6621+g_dbus_subtree_flags_get_type (void) 6622+{ 6623+ static gsize static_g_define_type_id = 0; 6624+ 6625+ if (g_once_init_enter (&static_g_define_type_id)) 6626+ { 6627+ static const GFlagsValue values[] = { 6628+ { G_DBUS_SUBTREE_FLAGS_NONE, "G_DBUS_SUBTREE_FLAGS_NONE", "none" }, 6629+ { G_DBUS_SUBTREE_FLAGS_DISPATCH_TO_UNENUMERATED_NODES, "G_DBUS_SUBTREE_FLAGS_DISPATCH_TO_UNENUMERATED_NODES", "dispatch-to-unenumerated-nodes" }, 6630+ { 0, NULL, NULL } 6631+ }; 6632+ GType g_define_type_id = 6633+ g_flags_register_static (g_intern_static_string ("GDBusSubtreeFlags"), values); 6634+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 6635+ } 6636+ 6637+ return static_g_define_type_id; 6638+} 6639+GType 6640+g_dbus_server_flags_get_type (void) 6641+{ 6642+ static gsize static_g_define_type_id = 0; 6643+ 6644+ if (g_once_init_enter (&static_g_define_type_id)) 6645+ { 6646+ static const GFlagsValue values[] = { 6647+ { G_DBUS_SERVER_FLAGS_NONE, "G_DBUS_SERVER_FLAGS_NONE", "none" }, 6648+ { G_DBUS_SERVER_FLAGS_RUN_IN_THREAD, "G_DBUS_SERVER_FLAGS_RUN_IN_THREAD", "run-in-thread" }, 6649+ { G_DBUS_SERVER_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS, "G_DBUS_SERVER_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS", "authentication-allow-anonymous" }, 6650+ { G_DBUS_SERVER_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER, "G_DBUS_SERVER_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER", "authentication-require-same-user" }, 6651+ { 0, NULL, NULL } 6652+ }; 6653+ GType g_define_type_id = 6654+ g_flags_register_static (g_intern_static_string ("GDBusServerFlags"), values); 6655+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 6656+ } 6657+ 6658+ return static_g_define_type_id; 6659+} 6660+GType 6661+g_dbus_signal_flags_get_type (void) 6662+{ 6663+ static gsize static_g_define_type_id = 0; 6664+ 6665+ if (g_once_init_enter (&static_g_define_type_id)) 6666+ { 6667+ static const GFlagsValue values[] = { 6668+ { G_DBUS_SIGNAL_FLAGS_NONE, "G_DBUS_SIGNAL_FLAGS_NONE", "none" }, 6669+ { G_DBUS_SIGNAL_FLAGS_NO_MATCH_RULE, "G_DBUS_SIGNAL_FLAGS_NO_MATCH_RULE", "no-match-rule" }, 6670+ { G_DBUS_SIGNAL_FLAGS_MATCH_ARG0_NAMESPACE, "G_DBUS_SIGNAL_FLAGS_MATCH_ARG0_NAMESPACE", "match-arg0-namespace" }, 6671+ { G_DBUS_SIGNAL_FLAGS_MATCH_ARG0_PATH, "G_DBUS_SIGNAL_FLAGS_MATCH_ARG0_PATH", "match-arg0-path" }, 6672+ { 0, NULL, NULL } 6673+ }; 6674+ GType g_define_type_id = 6675+ g_flags_register_static (g_intern_static_string ("GDBusSignalFlags"), values); 6676+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 6677+ } 6678+ 6679+ return static_g_define_type_id; 6680+} 6681+GType 6682+g_dbus_send_message_flags_get_type (void) 6683+{ 6684+ static gsize static_g_define_type_id = 0; 6685+ 6686+ if (g_once_init_enter (&static_g_define_type_id)) 6687+ { 6688+ static const GFlagsValue values[] = { 6689+ { G_DBUS_SEND_MESSAGE_FLAGS_NONE, "G_DBUS_SEND_MESSAGE_FLAGS_NONE", "none" }, 6690+ { G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL, "G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL", "preserve-serial" }, 6691+ { 0, NULL, NULL } 6692+ }; 6693+ GType g_define_type_id = 6694+ g_flags_register_static (g_intern_static_string ("GDBusSendMessageFlags"), values); 6695+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 6696+ } 6697+ 6698+ return static_g_define_type_id; 6699+} 6700+GType 6701+g_credentials_type_get_type (void) 6702+{ 6703+ static gsize static_g_define_type_id = 0; 6704+ 6705+ if (g_once_init_enter (&static_g_define_type_id)) 6706+ { 6707+ static const GEnumValue values[] = { 6708+ { G_CREDENTIALS_TYPE_INVALID, "G_CREDENTIALS_TYPE_INVALID", "invalid" }, 6709+ { G_CREDENTIALS_TYPE_LINUX_UCRED, "G_CREDENTIALS_TYPE_LINUX_UCRED", "linux-ucred" }, 6710+ { G_CREDENTIALS_TYPE_FREEBSD_CMSGCRED, "G_CREDENTIALS_TYPE_FREEBSD_CMSGCRED", "freebsd-cmsgcred" }, 6711+ { G_CREDENTIALS_TYPE_OPENBSD_SOCKPEERCRED, "G_CREDENTIALS_TYPE_OPENBSD_SOCKPEERCRED", "openbsd-sockpeercred" }, 6712+ { G_CREDENTIALS_TYPE_SOLARIS_UCRED, "G_CREDENTIALS_TYPE_SOLARIS_UCRED", "solaris-ucred" }, 6713+ { G_CREDENTIALS_TYPE_NETBSD_UNPCBID, "G_CREDENTIALS_TYPE_NETBSD_UNPCBID", "netbsd-unpcbid" }, 6714+ { G_CREDENTIALS_TYPE_APPLE_XUCRED, "G_CREDENTIALS_TYPE_APPLE_XUCRED", "apple-xucred" }, 6715+ { G_CREDENTIALS_TYPE_WIN32_PID, "G_CREDENTIALS_TYPE_WIN32_PID", "win32-pid" }, 6716+ { 0, NULL, NULL } 6717+ }; 6718+ GType g_define_type_id = 6719+ g_enum_register_static (g_intern_static_string ("GCredentialsType"), values); 6720+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 6721+ } 6722+ 6723+ return static_g_define_type_id; 6724+} 6725+GType 6726+g_dbus_message_byte_order_get_type (void) 6727+{ 6728+ static gsize static_g_define_type_id = 0; 6729+ 6730+ if (g_once_init_enter (&static_g_define_type_id)) 6731+ { 6732+ static const GEnumValue values[] = { 6733+ { G_DBUS_MESSAGE_BYTE_ORDER_BIG_ENDIAN, "G_DBUS_MESSAGE_BYTE_ORDER_BIG_ENDIAN", "big-endian" }, 6734+ { G_DBUS_MESSAGE_BYTE_ORDER_LITTLE_ENDIAN, "G_DBUS_MESSAGE_BYTE_ORDER_LITTLE_ENDIAN", "little-endian" }, 6735+ { 0, NULL, NULL } 6736+ }; 6737+ GType g_define_type_id = 6738+ g_enum_register_static (g_intern_static_string ("GDBusMessageByteOrder"), values); 6739+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 6740+ } 6741+ 6742+ return static_g_define_type_id; 6743+} 6744+GType 6745+g_application_flags_get_type (void) 6746+{ 6747+ static gsize static_g_define_type_id = 0; 6748+ 6749+ if (g_once_init_enter (&static_g_define_type_id)) 6750+ { 6751+ static const GFlagsValue values[] = { 6752+ { G_APPLICATION_FLAGS_NONE, "G_APPLICATION_FLAGS_NONE", "flags-none" }, 6753+ { G_APPLICATION_IS_SERVICE, "G_APPLICATION_IS_SERVICE", "is-service" }, 6754+ { G_APPLICATION_IS_LAUNCHER, "G_APPLICATION_IS_LAUNCHER", "is-launcher" }, 6755+ { G_APPLICATION_HANDLES_OPEN, "G_APPLICATION_HANDLES_OPEN", "handles-open" }, 6756+ { G_APPLICATION_HANDLES_COMMAND_LINE, "G_APPLICATION_HANDLES_COMMAND_LINE", "handles-command-line" }, 6757+ { G_APPLICATION_SEND_ENVIRONMENT, "G_APPLICATION_SEND_ENVIRONMENT", "send-environment" }, 6758+ { G_APPLICATION_NON_UNIQUE, "G_APPLICATION_NON_UNIQUE", "non-unique" }, 6759+ { G_APPLICATION_CAN_OVERRIDE_APP_ID, "G_APPLICATION_CAN_OVERRIDE_APP_ID", "can-override-app-id" }, 6760+ { G_APPLICATION_ALLOW_REPLACEMENT, "G_APPLICATION_ALLOW_REPLACEMENT", "allow-replacement" }, 6761+ { G_APPLICATION_REPLACE, "G_APPLICATION_REPLACE", "replace" }, 6762+ { 0, NULL, NULL } 6763+ }; 6764+ GType g_define_type_id = 6765+ g_flags_register_static (g_intern_static_string ("GApplicationFlags"), values); 6766+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 6767+ } 6768+ 6769+ return static_g_define_type_id; 6770+} 6771+GType 6772+g_tls_error_get_type (void) 6773+{ 6774+ static gsize static_g_define_type_id = 0; 6775+ 6776+ if (g_once_init_enter (&static_g_define_type_id)) 6777+ { 6778+ static const GEnumValue values[] = { 6779+ { G_TLS_ERROR_UNAVAILABLE, "G_TLS_ERROR_UNAVAILABLE", "unavailable" }, 6780+ { G_TLS_ERROR_MISC, "G_TLS_ERROR_MISC", "misc" }, 6781+ { G_TLS_ERROR_BAD_CERTIFICATE, "G_TLS_ERROR_BAD_CERTIFICATE", "bad-certificate" }, 6782+ { G_TLS_ERROR_NOT_TLS, "G_TLS_ERROR_NOT_TLS", "not-tls" }, 6783+ { G_TLS_ERROR_HANDSHAKE, "G_TLS_ERROR_HANDSHAKE", "handshake" }, 6784+ { G_TLS_ERROR_CERTIFICATE_REQUIRED, "G_TLS_ERROR_CERTIFICATE_REQUIRED", "certificate-required" }, 6785+ { G_TLS_ERROR_EOF, "G_TLS_ERROR_EOF", "eof" }, 6786+ { G_TLS_ERROR_INAPPROPRIATE_FALLBACK, "G_TLS_ERROR_INAPPROPRIATE_FALLBACK", "inappropriate-fallback" }, 6787+ { G_TLS_ERROR_BAD_CERTIFICATE_PASSWORD, "G_TLS_ERROR_BAD_CERTIFICATE_PASSWORD", "bad-certificate-password" }, 6788+ { 0, NULL, NULL } 6789+ }; 6790+ GType g_define_type_id = 6791+ g_enum_register_static (g_intern_static_string ("GTlsError"), values); 6792+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 6793+ } 6794+ 6795+ return static_g_define_type_id; 6796+} 6797+GType 6798+g_tls_certificate_flags_get_type (void) 6799+{ 6800+ static gsize static_g_define_type_id = 0; 6801+ 6802+ if (g_once_init_enter (&static_g_define_type_id)) 6803+ { 6804+ static const GFlagsValue values[] = { 6805+ { G_TLS_CERTIFICATE_FLAGS_NONE, "G_TLS_CERTIFICATE_FLAGS_NONE", "flags-none" }, 6806+ { G_TLS_CERTIFICATE_UNKNOWN_CA, "G_TLS_CERTIFICATE_UNKNOWN_CA", "unknown-ca" }, 6807+ { G_TLS_CERTIFICATE_BAD_IDENTITY, "G_TLS_CERTIFICATE_BAD_IDENTITY", "bad-identity" }, 6808+ { G_TLS_CERTIFICATE_NOT_ACTIVATED, "G_TLS_CERTIFICATE_NOT_ACTIVATED", "not-activated" }, 6809+ { G_TLS_CERTIFICATE_EXPIRED, "G_TLS_CERTIFICATE_EXPIRED", "expired" }, 6810+ { G_TLS_CERTIFICATE_REVOKED, "G_TLS_CERTIFICATE_REVOKED", "revoked" }, 6811+ { G_TLS_CERTIFICATE_INSECURE, "G_TLS_CERTIFICATE_INSECURE", "insecure" }, 6812+ { G_TLS_CERTIFICATE_GENERIC_ERROR, "G_TLS_CERTIFICATE_GENERIC_ERROR", "generic-error" }, 6813+ { G_TLS_CERTIFICATE_VALIDATE_ALL, "G_TLS_CERTIFICATE_VALIDATE_ALL", "validate-all" }, 6814+ { 0, NULL, NULL } 6815+ }; 6816+ GType g_define_type_id = 6817+ g_flags_register_static (g_intern_static_string ("GTlsCertificateFlags"), values); 6818+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 6819+ } 6820+ 6821+ return static_g_define_type_id; 6822+} 6823+GType 6824+g_tls_authentication_mode_get_type (void) 6825+{ 6826+ static gsize static_g_define_type_id = 0; 6827+ 6828+ if (g_once_init_enter (&static_g_define_type_id)) 6829+ { 6830+ static const GEnumValue values[] = { 6831+ { G_TLS_AUTHENTICATION_NONE, "G_TLS_AUTHENTICATION_NONE", "none" }, 6832+ { G_TLS_AUTHENTICATION_REQUESTED, "G_TLS_AUTHENTICATION_REQUESTED", "requested" }, 6833+ { G_TLS_AUTHENTICATION_REQUIRED, "G_TLS_AUTHENTICATION_REQUIRED", "required" }, 6834+ { 0, NULL, NULL } 6835+ }; 6836+ GType g_define_type_id = 6837+ g_enum_register_static (g_intern_static_string ("GTlsAuthenticationMode"), values); 6838+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 6839+ } 6840+ 6841+ return static_g_define_type_id; 6842+} 6843+GType 6844+g_tls_channel_binding_type_get_type (void) 6845+{ 6846+ static gsize static_g_define_type_id = 0; 6847+ 6848+ if (g_once_init_enter (&static_g_define_type_id)) 6849+ { 6850+ static const GEnumValue values[] = { 6851+ { G_TLS_CHANNEL_BINDING_TLS_UNIQUE, "G_TLS_CHANNEL_BINDING_TLS_UNIQUE", "unique" }, 6852+ { G_TLS_CHANNEL_BINDING_TLS_SERVER_END_POINT, "G_TLS_CHANNEL_BINDING_TLS_SERVER_END_POINT", "server-end-point" }, 6853+ { 0, NULL, NULL } 6854+ }; 6855+ GType g_define_type_id = 6856+ g_enum_register_static (g_intern_static_string ("GTlsChannelBindingType"), values); 6857+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 6858+ } 6859+ 6860+ return static_g_define_type_id; 6861+} 6862+GType 6863+g_tls_channel_binding_error_get_type (void) 6864+{ 6865+ static gsize static_g_define_type_id = 0; 6866+ 6867+ if (g_once_init_enter (&static_g_define_type_id)) 6868+ { 6869+ static const GEnumValue values[] = { 6870+ { G_TLS_CHANNEL_BINDING_ERROR_NOT_IMPLEMENTED, "G_TLS_CHANNEL_BINDING_ERROR_NOT_IMPLEMENTED", "not-implemented" }, 6871+ { G_TLS_CHANNEL_BINDING_ERROR_INVALID_STATE, "G_TLS_CHANNEL_BINDING_ERROR_INVALID_STATE", "invalid-state" }, 6872+ { G_TLS_CHANNEL_BINDING_ERROR_NOT_AVAILABLE, "G_TLS_CHANNEL_BINDING_ERROR_NOT_AVAILABLE", "not-available" }, 6873+ { G_TLS_CHANNEL_BINDING_ERROR_NOT_SUPPORTED, "G_TLS_CHANNEL_BINDING_ERROR_NOT_SUPPORTED", "not-supported" }, 6874+ { G_TLS_CHANNEL_BINDING_ERROR_GENERAL_ERROR, "G_TLS_CHANNEL_BINDING_ERROR_GENERAL_ERROR", "general-error" }, 6875+ { 0, NULL, NULL } 6876+ }; 6877+ GType g_define_type_id = 6878+ g_enum_register_static (g_intern_static_string ("GTlsChannelBindingError"), values); 6879+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 6880+ } 6881+ 6882+ return static_g_define_type_id; 6883+} 6884+GType 6885+g_tls_rehandshake_mode_get_type (void) 6886+{ 6887+ static gsize static_g_define_type_id = 0; 6888+ 6889+ if (g_once_init_enter (&static_g_define_type_id)) 6890+ { 6891+ static const GEnumValue values[] = { 6892+ { G_TLS_REHANDSHAKE_NEVER, "G_TLS_REHANDSHAKE_NEVER", "never" }, 6893+ { G_TLS_REHANDSHAKE_SAFELY, "G_TLS_REHANDSHAKE_SAFELY", "safely" }, 6894+ { G_TLS_REHANDSHAKE_UNSAFELY, "G_TLS_REHANDSHAKE_UNSAFELY", "unsafely" }, 6895+ { 0, NULL, NULL } 6896+ }; 6897+ GType g_define_type_id = 6898+ g_enum_register_static (g_intern_static_string ("GTlsRehandshakeMode"), values); 6899+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 6900+ } 6901+ 6902+ return static_g_define_type_id; 6903+} 6904+GType 6905+g_tls_password_flags_get_type (void) 6906+{ 6907+ static gsize static_g_define_type_id = 0; 6908+ 6909+ if (g_once_init_enter (&static_g_define_type_id)) 6910+ { 6911+ static const GFlagsValue values[] = { 6912+ { G_TLS_PASSWORD_NONE, "G_TLS_PASSWORD_NONE", "none" }, 6913+ { G_TLS_PASSWORD_RETRY, "G_TLS_PASSWORD_RETRY", "retry" }, 6914+ { G_TLS_PASSWORD_MANY_TRIES, "G_TLS_PASSWORD_MANY_TRIES", "many-tries" }, 6915+ { G_TLS_PASSWORD_FINAL_TRY, "G_TLS_PASSWORD_FINAL_TRY", "final-try" }, 6916+ { G_TLS_PASSWORD_PKCS11_USER, "G_TLS_PASSWORD_PKCS11_USER", "pkcs11-user" }, 6917+ { G_TLS_PASSWORD_PKCS11_SECURITY_OFFICER, "G_TLS_PASSWORD_PKCS11_SECURITY_OFFICER", "pkcs11-security-officer" }, 6918+ { G_TLS_PASSWORD_PKCS11_CONTEXT_SPECIFIC, "G_TLS_PASSWORD_PKCS11_CONTEXT_SPECIFIC", "pkcs11-context-specific" }, 6919+ { 0, NULL, NULL } 6920+ }; 6921+ GType g_define_type_id = 6922+ g_flags_register_static (g_intern_static_string ("GTlsPasswordFlags"), values); 6923+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 6924+ } 6925+ 6926+ return static_g_define_type_id; 6927+} 6928+GType 6929+g_tls_interaction_result_get_type (void) 6930+{ 6931+ static gsize static_g_define_type_id = 0; 6932+ 6933+ if (g_once_init_enter (&static_g_define_type_id)) 6934+ { 6935+ static const GEnumValue values[] = { 6936+ { G_TLS_INTERACTION_UNHANDLED, "G_TLS_INTERACTION_UNHANDLED", "unhandled" }, 6937+ { G_TLS_INTERACTION_HANDLED, "G_TLS_INTERACTION_HANDLED", "handled" }, 6938+ { G_TLS_INTERACTION_FAILED, "G_TLS_INTERACTION_FAILED", "failed" }, 6939+ { 0, NULL, NULL } 6940+ }; 6941+ GType g_define_type_id = 6942+ g_enum_register_static (g_intern_static_string ("GTlsInteractionResult"), values); 6943+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 6944+ } 6945+ 6946+ return static_g_define_type_id; 6947+} 6948+GType 6949+g_dbus_interface_skeleton_flags_get_type (void) 6950+{ 6951+ static gsize static_g_define_type_id = 0; 6952+ 6953+ if (g_once_init_enter (&static_g_define_type_id)) 6954+ { 6955+ static const GFlagsValue values[] = { 6956+ { G_DBUS_INTERFACE_SKELETON_FLAGS_NONE, "G_DBUS_INTERFACE_SKELETON_FLAGS_NONE", "none" }, 6957+ { G_DBUS_INTERFACE_SKELETON_FLAGS_HANDLE_METHOD_INVOCATIONS_IN_THREAD, "G_DBUS_INTERFACE_SKELETON_FLAGS_HANDLE_METHOD_INVOCATIONS_IN_THREAD", "handle-method-invocations-in-thread" }, 6958+ { 0, NULL, NULL } 6959+ }; 6960+ GType g_define_type_id = 6961+ g_flags_register_static (g_intern_static_string ("GDBusInterfaceSkeletonFlags"), values); 6962+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 6963+ } 6964+ 6965+ return static_g_define_type_id; 6966+} 6967+GType 6968+g_dbus_object_manager_client_flags_get_type (void) 6969+{ 6970+ static gsize static_g_define_type_id = 0; 6971+ 6972+ if (g_once_init_enter (&static_g_define_type_id)) 6973+ { 6974+ static const GFlagsValue values[] = { 6975+ { G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_NONE, "G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_NONE", "none" }, 6976+ { G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_DO_NOT_AUTO_START, "G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_DO_NOT_AUTO_START", "do-not-auto-start" }, 6977+ { 0, NULL, NULL } 6978+ }; 6979+ GType g_define_type_id = 6980+ g_flags_register_static (g_intern_static_string ("GDBusObjectManagerClientFlags"), values); 6981+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 6982+ } 6983+ 6984+ return static_g_define_type_id; 6985+} 6986+GType 6987+g_tls_database_verify_flags_get_type (void) 6988+{ 6989+ static gsize static_g_define_type_id = 0; 6990+ 6991+ if (g_once_init_enter (&static_g_define_type_id)) 6992+ { 6993+ static const GFlagsValue values[] = { 6994+ { G_TLS_DATABASE_VERIFY_NONE, "G_TLS_DATABASE_VERIFY_NONE", "none" }, 6995+ { 0, NULL, NULL } 6996+ }; 6997+ GType g_define_type_id = 6998+ g_flags_register_static (g_intern_static_string ("GTlsDatabaseVerifyFlags"), values); 6999+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 7000+ } 7001+ 7002+ return static_g_define_type_id; 7003+} 7004+GType 7005+g_tls_database_lookup_flags_get_type (void) 7006+{ 7007+ static gsize static_g_define_type_id = 0; 7008+ 7009+ if (g_once_init_enter (&static_g_define_type_id)) 7010+ { 7011+ static const GEnumValue values[] = { 7012+ { G_TLS_DATABASE_LOOKUP_NONE, "G_TLS_DATABASE_LOOKUP_NONE", "none" }, 7013+ { G_TLS_DATABASE_LOOKUP_KEYPAIR, "G_TLS_DATABASE_LOOKUP_KEYPAIR", "keypair" }, 7014+ { 0, NULL, NULL } 7015+ }; 7016+ GType g_define_type_id = 7017+ g_enum_register_static (g_intern_static_string ("GTlsDatabaseLookupFlags"), values); 7018+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 7019+ } 7020+ 7021+ return static_g_define_type_id; 7022+} 7023+GType 7024+g_tls_certificate_request_flags_get_type (void) 7025+{ 7026+ static gsize static_g_define_type_id = 0; 7027+ 7028+ if (g_once_init_enter (&static_g_define_type_id)) 7029+ { 7030+ static const GEnumValue values[] = { 7031+ { G_TLS_CERTIFICATE_REQUEST_NONE, "G_TLS_CERTIFICATE_REQUEST_NONE", "none" }, 7032+ { 0, NULL, NULL } 7033+ }; 7034+ GType g_define_type_id = 7035+ g_enum_register_static (g_intern_static_string ("GTlsCertificateRequestFlags"), values); 7036+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 7037+ } 7038+ 7039+ return static_g_define_type_id; 7040+} 7041+GType 7042+g_tls_protocol_version_get_type (void) 7043+{ 7044+ static gsize static_g_define_type_id = 0; 7045+ 7046+ if (g_once_init_enter (&static_g_define_type_id)) 7047+ { 7048+ static const GEnumValue values[] = { 7049+ { G_TLS_PROTOCOL_VERSION_UNKNOWN, "G_TLS_PROTOCOL_VERSION_UNKNOWN", "unknown" }, 7050+ { G_TLS_PROTOCOL_VERSION_SSL_3_0, "G_TLS_PROTOCOL_VERSION_SSL_3_0", "ssl-3-0" }, 7051+ { G_TLS_PROTOCOL_VERSION_TLS_1_0, "G_TLS_PROTOCOL_VERSION_TLS_1_0", "tls-1-0" }, 7052+ { G_TLS_PROTOCOL_VERSION_TLS_1_1, "G_TLS_PROTOCOL_VERSION_TLS_1_1", "tls-1-1" }, 7053+ { G_TLS_PROTOCOL_VERSION_TLS_1_2, "G_TLS_PROTOCOL_VERSION_TLS_1_2", "tls-1-2" }, 7054+ { G_TLS_PROTOCOL_VERSION_TLS_1_3, "G_TLS_PROTOCOL_VERSION_TLS_1_3", "tls-1-3" }, 7055+ { G_TLS_PROTOCOL_VERSION_DTLS_1_0, "G_TLS_PROTOCOL_VERSION_DTLS_1_0", "dtls-1-0" }, 7056+ { G_TLS_PROTOCOL_VERSION_DTLS_1_2, "G_TLS_PROTOCOL_VERSION_DTLS_1_2", "dtls-1-2" }, 7057+ { 0, NULL, NULL } 7058+ }; 7059+ GType g_define_type_id = 7060+ g_enum_register_static (g_intern_static_string ("GTlsProtocolVersion"), values); 7061+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 7062+ } 7063+ 7064+ return static_g_define_type_id; 7065+} 7066+GType 7067+g_io_module_scope_flags_get_type (void) 7068+{ 7069+ static gsize static_g_define_type_id = 0; 7070+ 7071+ if (g_once_init_enter (&static_g_define_type_id)) 7072+ { 7073+ static const GEnumValue values[] = { 7074+ { G_IO_MODULE_SCOPE_NONE, "G_IO_MODULE_SCOPE_NONE", "none" }, 7075+ { G_IO_MODULE_SCOPE_BLOCK_DUPLICATES, "G_IO_MODULE_SCOPE_BLOCK_DUPLICATES", "block-duplicates" }, 7076+ { 0, NULL, NULL } 7077+ }; 7078+ GType g_define_type_id = 7079+ g_enum_register_static (g_intern_static_string ("GIOModuleScopeFlags"), values); 7080+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 7081+ } 7082+ 7083+ return static_g_define_type_id; 7084+} 7085+GType 7086+g_socket_client_event_get_type (void) 7087+{ 7088+ static gsize static_g_define_type_id = 0; 7089+ 7090+ if (g_once_init_enter (&static_g_define_type_id)) 7091+ { 7092+ static const GEnumValue values[] = { 7093+ { G_SOCKET_CLIENT_RESOLVING, "G_SOCKET_CLIENT_RESOLVING", "resolving" }, 7094+ { G_SOCKET_CLIENT_RESOLVED, "G_SOCKET_CLIENT_RESOLVED", "resolved" }, 7095+ { G_SOCKET_CLIENT_CONNECTING, "G_SOCKET_CLIENT_CONNECTING", "connecting" }, 7096+ { G_SOCKET_CLIENT_CONNECTED, "G_SOCKET_CLIENT_CONNECTED", "connected" }, 7097+ { G_SOCKET_CLIENT_PROXY_NEGOTIATING, "G_SOCKET_CLIENT_PROXY_NEGOTIATING", "proxy-negotiating" }, 7098+ { G_SOCKET_CLIENT_PROXY_NEGOTIATED, "G_SOCKET_CLIENT_PROXY_NEGOTIATED", "proxy-negotiated" }, 7099+ { G_SOCKET_CLIENT_TLS_HANDSHAKING, "G_SOCKET_CLIENT_TLS_HANDSHAKING", "tls-handshaking" }, 7100+ { G_SOCKET_CLIENT_TLS_HANDSHAKED, "G_SOCKET_CLIENT_TLS_HANDSHAKED", "tls-handshaked" }, 7101+ { G_SOCKET_CLIENT_COMPLETE, "G_SOCKET_CLIENT_COMPLETE", "complete" }, 7102+ { 0, NULL, NULL } 7103+ }; 7104+ GType g_define_type_id = 7105+ g_enum_register_static (g_intern_static_string ("GSocketClientEvent"), values); 7106+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 7107+ } 7108+ 7109+ return static_g_define_type_id; 7110+} 7111+GType 7112+g_socket_listener_event_get_type (void) 7113+{ 7114+ static gsize static_g_define_type_id = 0; 7115+ 7116+ if (g_once_init_enter (&static_g_define_type_id)) 7117+ { 7118+ static const GEnumValue values[] = { 7119+ { G_SOCKET_LISTENER_BINDING, "G_SOCKET_LISTENER_BINDING", "binding" }, 7120+ { G_SOCKET_LISTENER_BOUND, "G_SOCKET_LISTENER_BOUND", "bound" }, 7121+ { G_SOCKET_LISTENER_LISTENING, "G_SOCKET_LISTENER_LISTENING", "listening" }, 7122+ { G_SOCKET_LISTENER_LISTENED, "G_SOCKET_LISTENER_LISTENED", "listened" }, 7123+ { 0, NULL, NULL } 7124+ }; 7125+ GType g_define_type_id = 7126+ g_enum_register_static (g_intern_static_string ("GSocketListenerEvent"), values); 7127+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 7128+ } 7129+ 7130+ return static_g_define_type_id; 7131+} 7132+GType 7133+g_test_dbus_flags_get_type (void) 7134+{ 7135+ static gsize static_g_define_type_id = 0; 7136+ 7137+ if (g_once_init_enter (&static_g_define_type_id)) 7138+ { 7139+ static const GFlagsValue values[] = { 7140+ { G_TEST_DBUS_NONE, "G_TEST_DBUS_NONE", "none" }, 7141+ { 0, NULL, NULL } 7142+ }; 7143+ GType g_define_type_id = 7144+ g_flags_register_static (g_intern_static_string ("GTestDBusFlags"), values); 7145+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 7146+ } 7147+ 7148+ return static_g_define_type_id; 7149+} 7150+GType 7151+g_subprocess_flags_get_type (void) 7152+{ 7153+ static gsize static_g_define_type_id = 0; 7154+ 7155+ if (g_once_init_enter (&static_g_define_type_id)) 7156+ { 7157+ static const GFlagsValue values[] = { 7158+ { G_SUBPROCESS_FLAGS_NONE, "G_SUBPROCESS_FLAGS_NONE", "none" }, 7159+ { G_SUBPROCESS_FLAGS_STDIN_PIPE, "G_SUBPROCESS_FLAGS_STDIN_PIPE", "stdin-pipe" }, 7160+ { G_SUBPROCESS_FLAGS_STDIN_INHERIT, "G_SUBPROCESS_FLAGS_STDIN_INHERIT", "stdin-inherit" }, 7161+ { G_SUBPROCESS_FLAGS_STDOUT_PIPE, "G_SUBPROCESS_FLAGS_STDOUT_PIPE", "stdout-pipe" }, 7162+ { G_SUBPROCESS_FLAGS_STDOUT_SILENCE, "G_SUBPROCESS_FLAGS_STDOUT_SILENCE", "stdout-silence" }, 7163+ { G_SUBPROCESS_FLAGS_STDERR_PIPE, "G_SUBPROCESS_FLAGS_STDERR_PIPE", "stderr-pipe" }, 7164+ { G_SUBPROCESS_FLAGS_STDERR_SILENCE, "G_SUBPROCESS_FLAGS_STDERR_SILENCE", "stderr-silence" }, 7165+ { G_SUBPROCESS_FLAGS_STDERR_MERGE, "G_SUBPROCESS_FLAGS_STDERR_MERGE", "stderr-merge" }, 7166+ { G_SUBPROCESS_FLAGS_INHERIT_FDS, "G_SUBPROCESS_FLAGS_INHERIT_FDS", "inherit-fds" }, 7167+ { G_SUBPROCESS_FLAGS_SEARCH_PATH_FROM_ENVP, "G_SUBPROCESS_FLAGS_SEARCH_PATH_FROM_ENVP", "search-path-from-envp" }, 7168+ { 0, NULL, NULL } 7169+ }; 7170+ GType g_define_type_id = 7171+ g_flags_register_static (g_intern_static_string ("GSubprocessFlags"), values); 7172+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 7173+ } 7174+ 7175+ return static_g_define_type_id; 7176+} 7177+GType 7178+g_notification_priority_get_type (void) 7179+{ 7180+ static gsize static_g_define_type_id = 0; 7181+ 7182+ if (g_once_init_enter (&static_g_define_type_id)) 7183+ { 7184+ static const GEnumValue values[] = { 7185+ { G_NOTIFICATION_PRIORITY_NORMAL, "G_NOTIFICATION_PRIORITY_NORMAL", "normal" }, 7186+ { G_NOTIFICATION_PRIORITY_LOW, "G_NOTIFICATION_PRIORITY_LOW", "low" }, 7187+ { G_NOTIFICATION_PRIORITY_HIGH, "G_NOTIFICATION_PRIORITY_HIGH", "high" }, 7188+ { G_NOTIFICATION_PRIORITY_URGENT, "G_NOTIFICATION_PRIORITY_URGENT", "urgent" }, 7189+ { 0, NULL, NULL } 7190+ }; 7191+ GType g_define_type_id = 7192+ g_enum_register_static (g_intern_static_string ("GNotificationPriority"), values); 7193+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 7194+ } 7195+ 7196+ return static_g_define_type_id; 7197+} 7198+GType 7199+g_network_connectivity_get_type (void) 7200+{ 7201+ static gsize static_g_define_type_id = 0; 7202+ 7203+ if (g_once_init_enter (&static_g_define_type_id)) 7204+ { 7205+ static const GEnumValue values[] = { 7206+ { G_NETWORK_CONNECTIVITY_LOCAL, "G_NETWORK_CONNECTIVITY_LOCAL", "local" }, 7207+ { G_NETWORK_CONNECTIVITY_LIMITED, "G_NETWORK_CONNECTIVITY_LIMITED", "limited" }, 7208+ { G_NETWORK_CONNECTIVITY_PORTAL, "G_NETWORK_CONNECTIVITY_PORTAL", "portal" }, 7209+ { G_NETWORK_CONNECTIVITY_FULL, "G_NETWORK_CONNECTIVITY_FULL", "full" }, 7210+ { 0, NULL, NULL } 7211+ }; 7212+ GType g_define_type_id = 7213+ g_enum_register_static (g_intern_static_string ("GNetworkConnectivity"), values); 7214+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 7215+ } 7216+ 7217+ return static_g_define_type_id; 7218+} 7219+GType 7220+g_pollable_return_get_type (void) 7221+{ 7222+ static gsize static_g_define_type_id = 0; 7223+ 7224+ if (g_once_init_enter (&static_g_define_type_id)) 7225+ { 7226+ static const GEnumValue values[] = { 7227+ { G_POLLABLE_RETURN_FAILED, "G_POLLABLE_RETURN_FAILED", "failed" }, 7228+ { G_POLLABLE_RETURN_OK, "G_POLLABLE_RETURN_OK", "ok" }, 7229+ { G_POLLABLE_RETURN_WOULD_BLOCK, "G_POLLABLE_RETURN_WOULD_BLOCK", "would-block" }, 7230+ { 0, NULL, NULL } 7231+ }; 7232+ GType g_define_type_id = 7233+ g_enum_register_static (g_intern_static_string ("GPollableReturn"), values); 7234+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 7235+ } 7236+ 7237+ return static_g_define_type_id; 7238+} 7239+GType 7240+g_memory_monitor_warning_level_get_type (void) 7241+{ 7242+ static gsize static_g_define_type_id = 0; 7243+ 7244+ if (g_once_init_enter (&static_g_define_type_id)) 7245+ { 7246+ static const GEnumValue values[] = { 7247+ { G_MEMORY_MONITOR_WARNING_LEVEL_LOW, "G_MEMORY_MONITOR_WARNING_LEVEL_LOW", "low" }, 7248+ { G_MEMORY_MONITOR_WARNING_LEVEL_MEDIUM, "G_MEMORY_MONITOR_WARNING_LEVEL_MEDIUM", "medium" }, 7249+ { G_MEMORY_MONITOR_WARNING_LEVEL_CRITICAL, "G_MEMORY_MONITOR_WARNING_LEVEL_CRITICAL", "critical" }, 7250+ { 0, NULL, NULL } 7251+ }; 7252+ GType g_define_type_id = 7253+ g_enum_register_static (g_intern_static_string ("GMemoryMonitorWarningLevel"), values); 7254+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 7255+ } 7256+ 7257+ return static_g_define_type_id; 7258+} 7259+/* enumerations from "../gio/gresolver.h" */ 7260+GType 7261+g_resolver_name_lookup_flags_get_type (void) 7262+{ 7263+ static gsize static_g_define_type_id = 0; 7264+ 7265+ if (g_once_init_enter (&static_g_define_type_id)) 7266+ { 7267+ static const GFlagsValue values[] = { 7268+ { G_RESOLVER_NAME_LOOKUP_FLAGS_DEFAULT, "G_RESOLVER_NAME_LOOKUP_FLAGS_DEFAULT", "default" }, 7269+ { G_RESOLVER_NAME_LOOKUP_FLAGS_IPV4_ONLY, "G_RESOLVER_NAME_LOOKUP_FLAGS_IPV4_ONLY", "ipv4-only" }, 7270+ { G_RESOLVER_NAME_LOOKUP_FLAGS_IPV6_ONLY, "G_RESOLVER_NAME_LOOKUP_FLAGS_IPV6_ONLY", "ipv6-only" }, 7271+ { 0, NULL, NULL } 7272+ }; 7273+ GType g_define_type_id = 7274+ g_flags_register_static (g_intern_static_string ("GResolverNameLookupFlags"), values); 7275+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 7276+ } 7277+ 7278+ return static_g_define_type_id; 7279+} 7280+/* enumerations from "../gio/gsettings.h" */ 7281+GType 7282+g_settings_bind_flags_get_type (void) 7283+{ 7284+ static gsize static_g_define_type_id = 0; 7285+ 7286+ if (g_once_init_enter (&static_g_define_type_id)) 7287+ { 7288+ static const GFlagsValue values[] = { 7289+ { G_SETTINGS_BIND_DEFAULT, "G_SETTINGS_BIND_DEFAULT", "default" }, 7290+ { G_SETTINGS_BIND_GET, "G_SETTINGS_BIND_GET", "get" }, 7291+ { G_SETTINGS_BIND_SET, "G_SETTINGS_BIND_SET", "set" }, 7292+ { G_SETTINGS_BIND_NO_SENSITIVITY, "G_SETTINGS_BIND_NO_SENSITIVITY", "no-sensitivity" }, 7293+ { G_SETTINGS_BIND_GET_NO_CHANGES, "G_SETTINGS_BIND_GET_NO_CHANGES", "get-no-changes" }, 7294+ { G_SETTINGS_BIND_INVERT_BOOLEAN, "G_SETTINGS_BIND_INVERT_BOOLEAN", "invert-boolean" }, 7295+ { 0, NULL, NULL } 7296+ }; 7297+ GType g_define_type_id = 7298+ g_flags_register_static (g_intern_static_string ("GSettingsBindFlags"), values); 7299+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 7300+ } 7301+ 7302+ return static_g_define_type_id; 7303+} 7304+ 7305+/* Generated data ends here */ 7306+ 7307diff --git a/gio/gioenumtypes.h b/gio/gioenumtypes.h 7308new file mode 100644 7309index 0000000..dd4e2c1 7310--- /dev/null 7311+++ b/gio/gioenumtypes.h 7312@@ -0,0 +1,185 @@ 7313+ 7314+/* This file is generated by glib-mkenums, do not modify it. This code is licensed under the same license as the containing project. Note that it links to GLib, so must comply with the LGPL linking clauses. */ 7315+ 7316+#ifndef __GIO_ENUM_TYPES_H__ 7317+#define __GIO_ENUM_TYPES_H__ 7318+ 7319+#include <glib-object.h> 7320+ 7321+G_BEGIN_DECLS 7322+ 7323+/* enumerations from "../gio/gioenums.h" */ 7324+GLIB_AVAILABLE_IN_ALL GType g_app_info_create_flags_get_type (void) G_GNUC_CONST; 7325+#define G_TYPE_APP_INFO_CREATE_FLAGS (g_app_info_create_flags_get_type ()) 7326+GLIB_AVAILABLE_IN_ALL GType g_converter_flags_get_type (void) G_GNUC_CONST; 7327+#define G_TYPE_CONVERTER_FLAGS (g_converter_flags_get_type ()) 7328+GLIB_AVAILABLE_IN_ALL GType g_converter_result_get_type (void) G_GNUC_CONST; 7329+#define G_TYPE_CONVERTER_RESULT (g_converter_result_get_type ()) 7330+GLIB_AVAILABLE_IN_ALL GType g_data_stream_byte_order_get_type (void) G_GNUC_CONST; 7331+#define G_TYPE_DATA_STREAM_BYTE_ORDER (g_data_stream_byte_order_get_type ()) 7332+GLIB_AVAILABLE_IN_ALL GType g_data_stream_newline_type_get_type (void) G_GNUC_CONST; 7333+#define G_TYPE_DATA_STREAM_NEWLINE_TYPE (g_data_stream_newline_type_get_type ()) 7334+GLIB_AVAILABLE_IN_ALL GType g_file_attribute_type_get_type (void) G_GNUC_CONST; 7335+#define G_TYPE_FILE_ATTRIBUTE_TYPE (g_file_attribute_type_get_type ()) 7336+GLIB_AVAILABLE_IN_ALL GType g_file_attribute_info_flags_get_type (void) G_GNUC_CONST; 7337+#define G_TYPE_FILE_ATTRIBUTE_INFO_FLAGS (g_file_attribute_info_flags_get_type ()) 7338+GLIB_AVAILABLE_IN_ALL GType g_file_attribute_status_get_type (void) G_GNUC_CONST; 7339+#define G_TYPE_FILE_ATTRIBUTE_STATUS (g_file_attribute_status_get_type ()) 7340+GLIB_AVAILABLE_IN_ALL GType g_file_query_info_flags_get_type (void) G_GNUC_CONST; 7341+#define G_TYPE_FILE_QUERY_INFO_FLAGS (g_file_query_info_flags_get_type ()) 7342+GLIB_AVAILABLE_IN_ALL GType g_file_create_flags_get_type (void) G_GNUC_CONST; 7343+#define G_TYPE_FILE_CREATE_FLAGS (g_file_create_flags_get_type ()) 7344+GLIB_AVAILABLE_IN_ALL GType g_file_measure_flags_get_type (void) G_GNUC_CONST; 7345+#define G_TYPE_FILE_MEASURE_FLAGS (g_file_measure_flags_get_type ()) 7346+GLIB_AVAILABLE_IN_ALL GType g_mount_mount_flags_get_type (void) G_GNUC_CONST; 7347+#define G_TYPE_MOUNT_MOUNT_FLAGS (g_mount_mount_flags_get_type ()) 7348+GLIB_AVAILABLE_IN_ALL GType g_mount_unmount_flags_get_type (void) G_GNUC_CONST; 7349+#define G_TYPE_MOUNT_UNMOUNT_FLAGS (g_mount_unmount_flags_get_type ()) 7350+GLIB_AVAILABLE_IN_ALL GType g_drive_start_flags_get_type (void) G_GNUC_CONST; 7351+#define G_TYPE_DRIVE_START_FLAGS (g_drive_start_flags_get_type ()) 7352+GLIB_AVAILABLE_IN_ALL GType g_drive_start_stop_type_get_type (void) G_GNUC_CONST; 7353+#define G_TYPE_DRIVE_START_STOP_TYPE (g_drive_start_stop_type_get_type ()) 7354+GLIB_AVAILABLE_IN_ALL GType g_file_copy_flags_get_type (void) G_GNUC_CONST; 7355+#define G_TYPE_FILE_COPY_FLAGS (g_file_copy_flags_get_type ()) 7356+GLIB_AVAILABLE_IN_ALL GType g_file_monitor_flags_get_type (void) G_GNUC_CONST; 7357+#define G_TYPE_FILE_MONITOR_FLAGS (g_file_monitor_flags_get_type ()) 7358+GLIB_AVAILABLE_IN_ALL GType g_file_type_get_type (void) G_GNUC_CONST; 7359+#define G_TYPE_FILE_TYPE (g_file_type_get_type ()) 7360+GLIB_AVAILABLE_IN_ALL GType g_filesystem_preview_type_get_type (void) G_GNUC_CONST; 7361+#define G_TYPE_FILESYSTEM_PREVIEW_TYPE (g_filesystem_preview_type_get_type ()) 7362+GLIB_AVAILABLE_IN_ALL GType g_file_monitor_event_get_type (void) G_GNUC_CONST; 7363+#define G_TYPE_FILE_MONITOR_EVENT (g_file_monitor_event_get_type ()) 7364+GLIB_AVAILABLE_IN_ALL GType g_io_error_enum_get_type (void) G_GNUC_CONST; 7365+#define G_TYPE_IO_ERROR_ENUM (g_io_error_enum_get_type ()) 7366+GLIB_AVAILABLE_IN_ALL GType g_ask_password_flags_get_type (void) G_GNUC_CONST; 7367+#define G_TYPE_ASK_PASSWORD_FLAGS (g_ask_password_flags_get_type ()) 7368+GLIB_AVAILABLE_IN_ALL GType g_password_save_get_type (void) G_GNUC_CONST; 7369+#define G_TYPE_PASSWORD_SAVE (g_password_save_get_type ()) 7370+GLIB_AVAILABLE_IN_ALL GType g_mount_operation_result_get_type (void) G_GNUC_CONST; 7371+#define G_TYPE_MOUNT_OPERATION_RESULT (g_mount_operation_result_get_type ()) 7372+GLIB_AVAILABLE_IN_ALL GType g_output_stream_splice_flags_get_type (void) G_GNUC_CONST; 7373+#define G_TYPE_OUTPUT_STREAM_SPLICE_FLAGS (g_output_stream_splice_flags_get_type ()) 7374+GLIB_AVAILABLE_IN_ALL GType g_io_stream_splice_flags_get_type (void) G_GNUC_CONST; 7375+#define G_TYPE_IO_STREAM_SPLICE_FLAGS (g_io_stream_splice_flags_get_type ()) 7376+GLIB_AVAILABLE_IN_ALL GType g_emblem_origin_get_type (void) G_GNUC_CONST; 7377+#define G_TYPE_EMBLEM_ORIGIN (g_emblem_origin_get_type ()) 7378+GLIB_AVAILABLE_IN_ALL GType g_resolver_error_get_type (void) G_GNUC_CONST; 7379+#define G_TYPE_RESOLVER_ERROR (g_resolver_error_get_type ()) 7380+GLIB_AVAILABLE_IN_ALL GType g_resolver_record_type_get_type (void) G_GNUC_CONST; 7381+#define G_TYPE_RESOLVER_RECORD_TYPE (g_resolver_record_type_get_type ()) 7382+GLIB_AVAILABLE_IN_ALL GType g_resource_error_get_type (void) G_GNUC_CONST; 7383+#define G_TYPE_RESOURCE_ERROR (g_resource_error_get_type ()) 7384+GLIB_AVAILABLE_IN_ALL GType g_resource_flags_get_type (void) G_GNUC_CONST; 7385+#define G_TYPE_RESOURCE_FLAGS (g_resource_flags_get_type ()) 7386+GLIB_AVAILABLE_IN_ALL GType g_resource_lookup_flags_get_type (void) G_GNUC_CONST; 7387+#define G_TYPE_RESOURCE_LOOKUP_FLAGS (g_resource_lookup_flags_get_type ()) 7388+GLIB_AVAILABLE_IN_ALL GType g_socket_family_get_type (void) G_GNUC_CONST; 7389+#define G_TYPE_SOCKET_FAMILY (g_socket_family_get_type ()) 7390+GLIB_AVAILABLE_IN_ALL GType g_socket_type_get_type (void) G_GNUC_CONST; 7391+#define G_TYPE_SOCKET_TYPE (g_socket_type_get_type ()) 7392+GLIB_AVAILABLE_IN_ALL GType g_socket_msg_flags_get_type (void) G_GNUC_CONST; 7393+#define G_TYPE_SOCKET_MSG_FLAGS (g_socket_msg_flags_get_type ()) 7394+GLIB_AVAILABLE_IN_ALL GType g_socket_protocol_get_type (void) G_GNUC_CONST; 7395+#define G_TYPE_SOCKET_PROTOCOL (g_socket_protocol_get_type ()) 7396+GLIB_AVAILABLE_IN_ALL GType g_zlib_compressor_format_get_type (void) G_GNUC_CONST; 7397+#define G_TYPE_ZLIB_COMPRESSOR_FORMAT (g_zlib_compressor_format_get_type ()) 7398+GLIB_AVAILABLE_IN_ALL GType g_unix_socket_address_type_get_type (void) G_GNUC_CONST; 7399+#define G_TYPE_UNIX_SOCKET_ADDRESS_TYPE (g_unix_socket_address_type_get_type ()) 7400+GLIB_AVAILABLE_IN_ALL GType g_bus_type_get_type (void) G_GNUC_CONST; 7401+#define G_TYPE_BUS_TYPE (g_bus_type_get_type ()) 7402+GLIB_AVAILABLE_IN_ALL GType g_bus_name_owner_flags_get_type (void) G_GNUC_CONST; 7403+#define G_TYPE_BUS_NAME_OWNER_FLAGS (g_bus_name_owner_flags_get_type ()) 7404+GLIB_AVAILABLE_IN_ALL GType g_bus_name_watcher_flags_get_type (void) G_GNUC_CONST; 7405+#define G_TYPE_BUS_NAME_WATCHER_FLAGS (g_bus_name_watcher_flags_get_type ()) 7406+GLIB_AVAILABLE_IN_ALL GType g_dbus_proxy_flags_get_type (void) G_GNUC_CONST; 7407+#define G_TYPE_DBUS_PROXY_FLAGS (g_dbus_proxy_flags_get_type ()) 7408+GLIB_AVAILABLE_IN_ALL GType g_dbus_error_get_type (void) G_GNUC_CONST; 7409+#define G_TYPE_DBUS_ERROR (g_dbus_error_get_type ()) 7410+GLIB_AVAILABLE_IN_ALL GType g_dbus_connection_flags_get_type (void) G_GNUC_CONST; 7411+#define G_TYPE_DBUS_CONNECTION_FLAGS (g_dbus_connection_flags_get_type ()) 7412+GLIB_AVAILABLE_IN_ALL GType g_dbus_capability_flags_get_type (void) G_GNUC_CONST; 7413+#define G_TYPE_DBUS_CAPABILITY_FLAGS (g_dbus_capability_flags_get_type ()) 7414+GLIB_AVAILABLE_IN_ALL GType g_dbus_call_flags_get_type (void) G_GNUC_CONST; 7415+#define G_TYPE_DBUS_CALL_FLAGS (g_dbus_call_flags_get_type ()) 7416+GLIB_AVAILABLE_IN_ALL GType g_dbus_message_type_get_type (void) G_GNUC_CONST; 7417+#define G_TYPE_DBUS_MESSAGE_TYPE (g_dbus_message_type_get_type ()) 7418+GLIB_AVAILABLE_IN_ALL GType g_dbus_message_flags_get_type (void) G_GNUC_CONST; 7419+#define G_TYPE_DBUS_MESSAGE_FLAGS (g_dbus_message_flags_get_type ()) 7420+GLIB_AVAILABLE_IN_ALL GType g_dbus_message_header_field_get_type (void) G_GNUC_CONST; 7421+#define G_TYPE_DBUS_MESSAGE_HEADER_FIELD (g_dbus_message_header_field_get_type ()) 7422+GLIB_AVAILABLE_IN_ALL GType g_dbus_property_info_flags_get_type (void) G_GNUC_CONST; 7423+#define G_TYPE_DBUS_PROPERTY_INFO_FLAGS (g_dbus_property_info_flags_get_type ()) 7424+GLIB_AVAILABLE_IN_ALL GType g_dbus_subtree_flags_get_type (void) G_GNUC_CONST; 7425+#define G_TYPE_DBUS_SUBTREE_FLAGS (g_dbus_subtree_flags_get_type ()) 7426+GLIB_AVAILABLE_IN_ALL GType g_dbus_server_flags_get_type (void) G_GNUC_CONST; 7427+#define G_TYPE_DBUS_SERVER_FLAGS (g_dbus_server_flags_get_type ()) 7428+GLIB_AVAILABLE_IN_ALL GType g_dbus_signal_flags_get_type (void) G_GNUC_CONST; 7429+#define G_TYPE_DBUS_SIGNAL_FLAGS (g_dbus_signal_flags_get_type ()) 7430+GLIB_AVAILABLE_IN_ALL GType g_dbus_send_message_flags_get_type (void) G_GNUC_CONST; 7431+#define G_TYPE_DBUS_SEND_MESSAGE_FLAGS (g_dbus_send_message_flags_get_type ()) 7432+GLIB_AVAILABLE_IN_ALL GType g_credentials_type_get_type (void) G_GNUC_CONST; 7433+#define G_TYPE_CREDENTIALS_TYPE (g_credentials_type_get_type ()) 7434+GLIB_AVAILABLE_IN_ALL GType g_dbus_message_byte_order_get_type (void) G_GNUC_CONST; 7435+#define G_TYPE_DBUS_MESSAGE_BYTE_ORDER (g_dbus_message_byte_order_get_type ()) 7436+GLIB_AVAILABLE_IN_ALL GType g_application_flags_get_type (void) G_GNUC_CONST; 7437+#define G_TYPE_APPLICATION_FLAGS (g_application_flags_get_type ()) 7438+GLIB_AVAILABLE_IN_ALL GType g_tls_error_get_type (void) G_GNUC_CONST; 7439+#define G_TYPE_TLS_ERROR (g_tls_error_get_type ()) 7440+GLIB_AVAILABLE_IN_ALL GType g_tls_certificate_flags_get_type (void) G_GNUC_CONST; 7441+#define G_TYPE_TLS_CERTIFICATE_FLAGS (g_tls_certificate_flags_get_type ()) 7442+GLIB_AVAILABLE_IN_ALL GType g_tls_authentication_mode_get_type (void) G_GNUC_CONST; 7443+#define G_TYPE_TLS_AUTHENTICATION_MODE (g_tls_authentication_mode_get_type ()) 7444+GLIB_AVAILABLE_IN_ALL GType g_tls_channel_binding_type_get_type (void) G_GNUC_CONST; 7445+#define G_TYPE_TLS_CHANNEL_BINDING_TYPE (g_tls_channel_binding_type_get_type ()) 7446+GLIB_AVAILABLE_IN_ALL GType g_tls_channel_binding_error_get_type (void) G_GNUC_CONST; 7447+#define G_TYPE_TLS_CHANNEL_BINDING_ERROR (g_tls_channel_binding_error_get_type ()) 7448+GLIB_AVAILABLE_IN_ALL GType g_tls_rehandshake_mode_get_type (void) G_GNUC_CONST; 7449+#define G_TYPE_TLS_REHANDSHAKE_MODE (g_tls_rehandshake_mode_get_type ()) 7450+GLIB_AVAILABLE_IN_ALL GType g_tls_password_flags_get_type (void) G_GNUC_CONST; 7451+#define G_TYPE_TLS_PASSWORD_FLAGS (g_tls_password_flags_get_type ()) 7452+GLIB_AVAILABLE_IN_ALL GType g_tls_interaction_result_get_type (void) G_GNUC_CONST; 7453+#define G_TYPE_TLS_INTERACTION_RESULT (g_tls_interaction_result_get_type ()) 7454+GLIB_AVAILABLE_IN_ALL GType g_dbus_interface_skeleton_flags_get_type (void) G_GNUC_CONST; 7455+#define G_TYPE_DBUS_INTERFACE_SKELETON_FLAGS (g_dbus_interface_skeleton_flags_get_type ()) 7456+GLIB_AVAILABLE_IN_ALL GType g_dbus_object_manager_client_flags_get_type (void) G_GNUC_CONST; 7457+#define G_TYPE_DBUS_OBJECT_MANAGER_CLIENT_FLAGS (g_dbus_object_manager_client_flags_get_type ()) 7458+GLIB_AVAILABLE_IN_ALL GType g_tls_database_verify_flags_get_type (void) G_GNUC_CONST; 7459+#define G_TYPE_TLS_DATABASE_VERIFY_FLAGS (g_tls_database_verify_flags_get_type ()) 7460+GLIB_AVAILABLE_IN_ALL GType g_tls_database_lookup_flags_get_type (void) G_GNUC_CONST; 7461+#define G_TYPE_TLS_DATABASE_LOOKUP_FLAGS (g_tls_database_lookup_flags_get_type ()) 7462+GLIB_AVAILABLE_IN_ALL GType g_tls_certificate_request_flags_get_type (void) G_GNUC_CONST; 7463+#define G_TYPE_TLS_CERTIFICATE_REQUEST_FLAGS (g_tls_certificate_request_flags_get_type ()) 7464+GLIB_AVAILABLE_IN_ALL GType g_tls_protocol_version_get_type (void) G_GNUC_CONST; 7465+#define G_TYPE_TLS_PROTOCOL_VERSION (g_tls_protocol_version_get_type ()) 7466+GLIB_AVAILABLE_IN_ALL GType g_io_module_scope_flags_get_type (void) G_GNUC_CONST; 7467+#define G_TYPE_IO_MODULE_SCOPE_FLAGS (g_io_module_scope_flags_get_type ()) 7468+GLIB_AVAILABLE_IN_ALL GType g_socket_client_event_get_type (void) G_GNUC_CONST; 7469+#define G_TYPE_SOCKET_CLIENT_EVENT (g_socket_client_event_get_type ()) 7470+GLIB_AVAILABLE_IN_ALL GType g_socket_listener_event_get_type (void) G_GNUC_CONST; 7471+#define G_TYPE_SOCKET_LISTENER_EVENT (g_socket_listener_event_get_type ()) 7472+GLIB_AVAILABLE_IN_ALL GType g_test_dbus_flags_get_type (void) G_GNUC_CONST; 7473+#define G_TYPE_TEST_DBUS_FLAGS (g_test_dbus_flags_get_type ()) 7474+GLIB_AVAILABLE_IN_ALL GType g_subprocess_flags_get_type (void) G_GNUC_CONST; 7475+#define G_TYPE_SUBPROCESS_FLAGS (g_subprocess_flags_get_type ()) 7476+GLIB_AVAILABLE_IN_ALL GType g_notification_priority_get_type (void) G_GNUC_CONST; 7477+#define G_TYPE_NOTIFICATION_PRIORITY (g_notification_priority_get_type ()) 7478+GLIB_AVAILABLE_IN_ALL GType g_network_connectivity_get_type (void) G_GNUC_CONST; 7479+#define G_TYPE_NETWORK_CONNECTIVITY (g_network_connectivity_get_type ()) 7480+GLIB_AVAILABLE_IN_ALL GType g_pollable_return_get_type (void) G_GNUC_CONST; 7481+#define G_TYPE_POLLABLE_RETURN (g_pollable_return_get_type ()) 7482+GLIB_AVAILABLE_IN_ALL GType g_memory_monitor_warning_level_get_type (void) G_GNUC_CONST; 7483+#define G_TYPE_MEMORY_MONITOR_WARNING_LEVEL (g_memory_monitor_warning_level_get_type ()) 7484+ 7485+/* enumerations from "../gio/gresolver.h" */ 7486+GLIB_AVAILABLE_IN_ALL GType g_resolver_name_lookup_flags_get_type (void) G_GNUC_CONST; 7487+#define G_TYPE_RESOLVER_NAME_LOOKUP_FLAGS (g_resolver_name_lookup_flags_get_type ()) 7488+ 7489+/* enumerations from "../gio/gsettings.h" */ 7490+GLIB_AVAILABLE_IN_ALL GType g_settings_bind_flags_get_type (void) G_GNUC_CONST; 7491+#define G_TYPE_SETTINGS_BIND_FLAGS (g_settings_bind_flags_get_type ()) 7492+G_END_DECLS 7493+ 7494+#endif /* __GIO_ENUM_TYPES_H__ */ 7495+ 7496+/* Generated data ends here */ 7497+ 7498diff --git a/gio/gnetworking.h b/gio/gnetworking.h 7499new file mode 100644 7500index 0000000..1f1124a 7501--- /dev/null 7502+++ b/gio/gnetworking.h 7503@@ -0,0 +1,78 @@ 7504+/* GIO - GLib Input, Output and Streaming Library 7505+ * 7506+ * Copyright (C) 2008-2011 Red Hat, Inc. 7507+ * 7508+ * This library is free software; you can redistribute it and/or 7509+ * modify it under the terms of the GNU Lesser General Public 7510+ * License as published by the Free Software Foundation; either 7511+ * version 2.1 of the License, or (at your option) any later version. 7512+ * 7513+ * This library is distributed in the hope that it will be useful, 7514+ * but WITHOUT ANY WARRANTY; without even the implied warranty of 7515+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 7516+ * Lesser General Public License for more details. 7517+ * 7518+ * You should have received a copy of the GNU Lesser General Public 7519+ * License along with this library; if not, see <http://www.gnu.org/licenses/>. 7520+ */ 7521+ 7522+#ifndef __G_NETWORKING_H__ 7523+#define __G_NETWORKING_H__ 7524+ 7525+#include <glib.h> 7526+ 7527+#ifdef G_OS_WIN32 7528+#include <winsock2.h> 7529+#include <ws2tcpip.h> 7530+#include <windns.h> 7531+#include <mswsock.h> 7532+#include <wspiapi.h> 7533+#include <iphlpapi.h> 7534+#undef interface 7535+ 7536+#else /* !G_OS_WIN32 */ 7537+ 7538+#include <sys/types.h> 7539+ 7540+#include <netdb.h> 7541+#include <netinet/in.h> 7542+#include <netinet/tcp.h> 7543+#include <resolv.h> 7544+#include <sys/socket.h> 7545+#include <sys/un.h> 7546+#include <net/if.h> 7547+ 7548+#include <arpa/inet.h> 7549+#include <arpa/nameser.h> 7550+ 7551+ 7552+#ifndef T_SRV 7553+#define T_SRV 33 7554+#endif 7555+ 7556+#ifndef _PATH_RESCONF 7557+#define _PATH_RESCONF "/etc/resolv.conf" 7558+#endif 7559+ 7560+#ifndef CMSG_LEN 7561+/* CMSG_LEN and CMSG_SPACE are defined by RFC 2292, but missing on 7562+ * some older platforms. 7563+ */ 7564+#define CMSG_LEN(len) ((size_t)CMSG_DATA((struct cmsghdr *)NULL) + (len)) 7565+ 7566+/* CMSG_SPACE must add at least as much padding as CMSG_NXTHDR() 7567+ * adds. We overestimate here. 7568+ */ 7569+#define GLIB_ALIGN_TO_SIZEOF(len, obj) (((len) + sizeof (obj) - 1) & ~(sizeof (obj) - 1)) 7570+#define CMSG_SPACE(len) GLIB_ALIGN_TO_SIZEOF (CMSG_LEN (len), struct cmsghdr) 7571+#endif 7572+#endif 7573+ 7574+G_BEGIN_DECLS 7575+ 7576+GLIB_AVAILABLE_IN_2_36 7577+void g_networking_init (void); 7578+ 7579+G_END_DECLS 7580+ 7581+#endif /* __G_NETWORKING_H__ */ 7582diff --git a/gio/xdp-dbus.c b/gio/xdp-dbus.c 7583new file mode 100644 7584index 0000000..3e9dbff 7585--- /dev/null 7586+++ b/gio/xdp-dbus.c 7587@@ -0,0 +1,7909 @@ 7588+/* 7589+ * This file is generated by gdbus-codegen, do not modify it. 7590+ * 7591+ * The license of this code is the same as for the D-Bus interface description 7592+ * it was derived from. Note that it links to GLib, so must comply with the 7593+ * LGPL linking clauses. 7594+ */ 7595+ 7596+#ifdef HAVE_CONFIG_H 7597+# include "config.h" 7598+#endif 7599+ 7600+#include "xdp-dbus.h" 7601+ 7602+#include <string.h> 7603+#ifdef G_OS_UNIX 7604+# include <gio/gunixfdlist.h> 7605+#endif 7606+ 7607+typedef struct 7608+{ 7609+ GDBusArgInfo parent_struct; 7610+ gboolean use_gvariant; 7611+} _ExtendedGDBusArgInfo; 7612+ 7613+typedef struct 7614+{ 7615+ GDBusMethodInfo parent_struct; 7616+ const gchar *signal_name; 7617+ gboolean pass_fdlist; 7618+} _ExtendedGDBusMethodInfo; 7619+ 7620+typedef struct 7621+{ 7622+ GDBusSignalInfo parent_struct; 7623+ const gchar *signal_name; 7624+} _ExtendedGDBusSignalInfo; 7625+ 7626+typedef struct 7627+{ 7628+ GDBusPropertyInfo parent_struct; 7629+ const gchar *hyphen_name; 7630+ guint use_gvariant : 1; 7631+ guint emits_changed_signal : 1; 7632+} _ExtendedGDBusPropertyInfo; 7633+ 7634+typedef struct 7635+{ 7636+ GDBusInterfaceInfo parent_struct; 7637+ const gchar *hyphen_name; 7638+} _ExtendedGDBusInterfaceInfo; 7639+ 7640+typedef struct 7641+{ 7642+ const _ExtendedGDBusPropertyInfo *info; 7643+ guint prop_id; 7644+ GValue orig_value; /* the value before the change */ 7645+} ChangedProperty; 7646+ 7647+static void 7648+_changed_property_free (ChangedProperty *data) 7649+{ 7650+ g_value_unset (&data->orig_value); 7651+ g_free (data); 7652+} 7653+ 7654+static gboolean 7655+_g_strv_equal0 (gchar **a, gchar **b) 7656+{ 7657+ gboolean ret = FALSE; 7658+ guint n; 7659+ if (a == NULL && b == NULL) 7660+ { 7661+ ret = TRUE; 7662+ goto out; 7663+ } 7664+ if (a == NULL || b == NULL) 7665+ goto out; 7666+ if (g_strv_length (a) != g_strv_length (b)) 7667+ goto out; 7668+ for (n = 0; a[n] != NULL; n++) 7669+ if (g_strcmp0 (a[n], b[n]) != 0) 7670+ goto out; 7671+ ret = TRUE; 7672+out: 7673+ return ret; 7674+} 7675+ 7676+static gboolean 7677+_g_variant_equal0 (GVariant *a, GVariant *b) 7678+{ 7679+ gboolean ret = FALSE; 7680+ if (a == NULL && b == NULL) 7681+ { 7682+ ret = TRUE; 7683+ goto out; 7684+ } 7685+ if (a == NULL || b == NULL) 7686+ goto out; 7687+ ret = g_variant_equal (a, b); 7688+out: 7689+ return ret; 7690+} 7691+ 7692+G_GNUC_UNUSED static gboolean 7693+_g_value_equal (const GValue *a, const GValue *b) 7694+{ 7695+ gboolean ret = FALSE; 7696+ g_assert (G_VALUE_TYPE (a) == G_VALUE_TYPE (b)); 7697+ switch (G_VALUE_TYPE (a)) 7698+ { 7699+ case G_TYPE_BOOLEAN: 7700+ ret = (g_value_get_boolean (a) == g_value_get_boolean (b)); 7701+ break; 7702+ case G_TYPE_UCHAR: 7703+ ret = (g_value_get_uchar (a) == g_value_get_uchar (b)); 7704+ break; 7705+ case G_TYPE_INT: 7706+ ret = (g_value_get_int (a) == g_value_get_int (b)); 7707+ break; 7708+ case G_TYPE_UINT: 7709+ ret = (g_value_get_uint (a) == g_value_get_uint (b)); 7710+ break; 7711+ case G_TYPE_INT64: 7712+ ret = (g_value_get_int64 (a) == g_value_get_int64 (b)); 7713+ break; 7714+ case G_TYPE_UINT64: 7715+ ret = (g_value_get_uint64 (a) == g_value_get_uint64 (b)); 7716+ break; 7717+ case G_TYPE_DOUBLE: 7718+ { 7719+ /* Avoid -Wfloat-equal warnings by doing a direct bit compare */ 7720+ gdouble da = g_value_get_double (a); 7721+ gdouble db = g_value_get_double (b); 7722+ ret = memcmp (&da, &db, sizeof (gdouble)) == 0; 7723+ } 7724+ break; 7725+ case G_TYPE_STRING: 7726+ ret = (g_strcmp0 (g_value_get_string (a), g_value_get_string (b)) == 0); 7727+ break; 7728+ case G_TYPE_VARIANT: 7729+ ret = _g_variant_equal0 (g_value_get_variant (a), g_value_get_variant (b)); 7730+ break; 7731+ default: 7732+ if (G_VALUE_TYPE (a) == G_TYPE_STRV) 7733+ ret = _g_strv_equal0 (g_value_get_boxed (a), g_value_get_boxed (b)); 7734+ else 7735+ g_critical ("_g_value_equal() does not handle type %s", g_type_name (G_VALUE_TYPE (a))); 7736+ break; 7737+ } 7738+ return ret; 7739+} 7740+ 7741+/* ------------------------------------------------------------------------ 7742+ * Code for interface org.freedesktop.portal.Documents 7743+ * ------------------------------------------------------------------------ 7744+ */ 7745+ 7746+/** 7747+ * SECTION:GXdpDocuments 7748+ * @title: GXdpDocuments 7749+ * @short_description: Generated C code for the org.freedesktop.portal.Documents D-Bus interface 7750+ * 7751+ * This section contains code for working with the <link linkend="gdbus-interface-org-freedesktop-portal-Documents.top_of_page">org.freedesktop.portal.Documents</link> D-Bus interface in C. 7752+ */ 7753+ 7754+/* ---- Introspection data for org.freedesktop.portal.Documents ---- */ 7755+ 7756+static const _ExtendedGDBusArgInfo _gxdp_documents_method_info_get_mount_point_OUT_ARG_path = 7757+{ 7758+ { 7759+ -1, 7760+ (gchar *) "path", 7761+ (gchar *) "ay", 7762+ NULL 7763+ }, 7764+ FALSE 7765+}; 7766+ 7767+static const GDBusArgInfo * const _gxdp_documents_method_info_get_mount_point_OUT_ARG_pointers[] = 7768+{ 7769+ &_gxdp_documents_method_info_get_mount_point_OUT_ARG_path.parent_struct, 7770+ NULL 7771+}; 7772+ 7773+static const _ExtendedGDBusMethodInfo _gxdp_documents_method_info_get_mount_point = 7774+{ 7775+ { 7776+ -1, 7777+ (gchar *) "GetMountPoint", 7778+ NULL, 7779+ (GDBusArgInfo **) &_gxdp_documents_method_info_get_mount_point_OUT_ARG_pointers, 7780+ NULL 7781+ }, 7782+ "handle-get-mount-point", 7783+ FALSE 7784+}; 7785+ 7786+static const _ExtendedGDBusArgInfo _gxdp_documents_method_info_add_IN_ARG_o_path_fd = 7787+{ 7788+ { 7789+ -1, 7790+ (gchar *) "o_path_fd", 7791+ (gchar *) "h", 7792+ NULL 7793+ }, 7794+ FALSE 7795+}; 7796+ 7797+static const _ExtendedGDBusArgInfo _gxdp_documents_method_info_add_IN_ARG_reuse_existing = 7798+{ 7799+ { 7800+ -1, 7801+ (gchar *) "reuse_existing", 7802+ (gchar *) "b", 7803+ NULL 7804+ }, 7805+ FALSE 7806+}; 7807+ 7808+static const _ExtendedGDBusArgInfo _gxdp_documents_method_info_add_IN_ARG_persistent = 7809+{ 7810+ { 7811+ -1, 7812+ (gchar *) "persistent", 7813+ (gchar *) "b", 7814+ NULL 7815+ }, 7816+ FALSE 7817+}; 7818+ 7819+static const GDBusArgInfo * const _gxdp_documents_method_info_add_IN_ARG_pointers[] = 7820+{ 7821+ &_gxdp_documents_method_info_add_IN_ARG_o_path_fd.parent_struct, 7822+ &_gxdp_documents_method_info_add_IN_ARG_reuse_existing.parent_struct, 7823+ &_gxdp_documents_method_info_add_IN_ARG_persistent.parent_struct, 7824+ NULL 7825+}; 7826+ 7827+static const _ExtendedGDBusArgInfo _gxdp_documents_method_info_add_OUT_ARG_doc_id = 7828+{ 7829+ { 7830+ -1, 7831+ (gchar *) "doc_id", 7832+ (gchar *) "s", 7833+ NULL 7834+ }, 7835+ FALSE 7836+}; 7837+ 7838+static const GDBusArgInfo * const _gxdp_documents_method_info_add_OUT_ARG_pointers[] = 7839+{ 7840+ &_gxdp_documents_method_info_add_OUT_ARG_doc_id.parent_struct, 7841+ NULL 7842+}; 7843+ 7844+static const _ExtendedGDBusMethodInfo _gxdp_documents_method_info_add = 7845+{ 7846+ { 7847+ -1, 7848+ (gchar *) "Add", 7849+ (GDBusArgInfo **) &_gxdp_documents_method_info_add_IN_ARG_pointers, 7850+ (GDBusArgInfo **) &_gxdp_documents_method_info_add_OUT_ARG_pointers, 7851+ NULL 7852+ }, 7853+ "handle-add", 7854+ TRUE 7855+}; 7856+ 7857+static const _ExtendedGDBusArgInfo _gxdp_documents_method_info_add_named_IN_ARG_o_path_parent_fd = 7858+{ 7859+ { 7860+ -1, 7861+ (gchar *) "o_path_parent_fd", 7862+ (gchar *) "h", 7863+ NULL 7864+ }, 7865+ FALSE 7866+}; 7867+ 7868+static const _ExtendedGDBusArgInfo _gxdp_documents_method_info_add_named_IN_ARG_filename = 7869+{ 7870+ { 7871+ -1, 7872+ (gchar *) "filename", 7873+ (gchar *) "ay", 7874+ NULL 7875+ }, 7876+ FALSE 7877+}; 7878+ 7879+static const _ExtendedGDBusArgInfo _gxdp_documents_method_info_add_named_IN_ARG_reuse_existing = 7880+{ 7881+ { 7882+ -1, 7883+ (gchar *) "reuse_existing", 7884+ (gchar *) "b", 7885+ NULL 7886+ }, 7887+ FALSE 7888+}; 7889+ 7890+static const _ExtendedGDBusArgInfo _gxdp_documents_method_info_add_named_IN_ARG_persistent = 7891+{ 7892+ { 7893+ -1, 7894+ (gchar *) "persistent", 7895+ (gchar *) "b", 7896+ NULL 7897+ }, 7898+ FALSE 7899+}; 7900+ 7901+static const GDBusArgInfo * const _gxdp_documents_method_info_add_named_IN_ARG_pointers[] = 7902+{ 7903+ &_gxdp_documents_method_info_add_named_IN_ARG_o_path_parent_fd.parent_struct, 7904+ &_gxdp_documents_method_info_add_named_IN_ARG_filename.parent_struct, 7905+ &_gxdp_documents_method_info_add_named_IN_ARG_reuse_existing.parent_struct, 7906+ &_gxdp_documents_method_info_add_named_IN_ARG_persistent.parent_struct, 7907+ NULL 7908+}; 7909+ 7910+static const _ExtendedGDBusArgInfo _gxdp_documents_method_info_add_named_OUT_ARG_doc_id = 7911+{ 7912+ { 7913+ -1, 7914+ (gchar *) "doc_id", 7915+ (gchar *) "s", 7916+ NULL 7917+ }, 7918+ FALSE 7919+}; 7920+ 7921+static const GDBusArgInfo * const _gxdp_documents_method_info_add_named_OUT_ARG_pointers[] = 7922+{ 7923+ &_gxdp_documents_method_info_add_named_OUT_ARG_doc_id.parent_struct, 7924+ NULL 7925+}; 7926+ 7927+static const _ExtendedGDBusMethodInfo _gxdp_documents_method_info_add_named = 7928+{ 7929+ { 7930+ -1, 7931+ (gchar *) "AddNamed", 7932+ (GDBusArgInfo **) &_gxdp_documents_method_info_add_named_IN_ARG_pointers, 7933+ (GDBusArgInfo **) &_gxdp_documents_method_info_add_named_OUT_ARG_pointers, 7934+ NULL 7935+ }, 7936+ "handle-add-named", 7937+ TRUE 7938+}; 7939+ 7940+static const _ExtendedGDBusArgInfo _gxdp_documents_method_info_add_full_IN_ARG_o_path_fds = 7941+{ 7942+ { 7943+ -1, 7944+ (gchar *) "o_path_fds", 7945+ (gchar *) "ah", 7946+ NULL 7947+ }, 7948+ FALSE 7949+}; 7950+ 7951+static const _ExtendedGDBusArgInfo _gxdp_documents_method_info_add_full_IN_ARG_flags = 7952+{ 7953+ { 7954+ -1, 7955+ (gchar *) "flags", 7956+ (gchar *) "u", 7957+ NULL 7958+ }, 7959+ FALSE 7960+}; 7961+ 7962+static const _ExtendedGDBusArgInfo _gxdp_documents_method_info_add_full_IN_ARG_app_id = 7963+{ 7964+ { 7965+ -1, 7966+ (gchar *) "app_id", 7967+ (gchar *) "s", 7968+ NULL 7969+ }, 7970+ FALSE 7971+}; 7972+ 7973+static const _ExtendedGDBusArgInfo _gxdp_documents_method_info_add_full_IN_ARG_permissions = 7974+{ 7975+ { 7976+ -1, 7977+ (gchar *) "permissions", 7978+ (gchar *) "as", 7979+ NULL 7980+ }, 7981+ FALSE 7982+}; 7983+ 7984+static const GDBusArgInfo * const _gxdp_documents_method_info_add_full_IN_ARG_pointers[] = 7985+{ 7986+ &_gxdp_documents_method_info_add_full_IN_ARG_o_path_fds.parent_struct, 7987+ &_gxdp_documents_method_info_add_full_IN_ARG_flags.parent_struct, 7988+ &_gxdp_documents_method_info_add_full_IN_ARG_app_id.parent_struct, 7989+ &_gxdp_documents_method_info_add_full_IN_ARG_permissions.parent_struct, 7990+ NULL 7991+}; 7992+ 7993+static const _ExtendedGDBusArgInfo _gxdp_documents_method_info_add_full_OUT_ARG_doc_ids = 7994+{ 7995+ { 7996+ -1, 7997+ (gchar *) "doc_ids", 7998+ (gchar *) "as", 7999+ NULL 8000+ }, 8001+ FALSE 8002+}; 8003+ 8004+static const _ExtendedGDBusArgInfo _gxdp_documents_method_info_add_full_OUT_ARG_extra_out = 8005+{ 8006+ { 8007+ -1, 8008+ (gchar *) "extra_out", 8009+ (gchar *) "a{sv}", 8010+ NULL 8011+ }, 8012+ FALSE 8013+}; 8014+ 8015+static const GDBusArgInfo * const _gxdp_documents_method_info_add_full_OUT_ARG_pointers[] = 8016+{ 8017+ &_gxdp_documents_method_info_add_full_OUT_ARG_doc_ids.parent_struct, 8018+ &_gxdp_documents_method_info_add_full_OUT_ARG_extra_out.parent_struct, 8019+ NULL 8020+}; 8021+ 8022+static const _ExtendedGDBusMethodInfo _gxdp_documents_method_info_add_full = 8023+{ 8024+ { 8025+ -1, 8026+ (gchar *) "AddFull", 8027+ (GDBusArgInfo **) &_gxdp_documents_method_info_add_full_IN_ARG_pointers, 8028+ (GDBusArgInfo **) &_gxdp_documents_method_info_add_full_OUT_ARG_pointers, 8029+ NULL 8030+ }, 8031+ "handle-add-full", 8032+ TRUE 8033+}; 8034+ 8035+static const _ExtendedGDBusArgInfo _gxdp_documents_method_info_add_named_full_IN_ARG_o_path_fd = 8036+{ 8037+ { 8038+ -1, 8039+ (gchar *) "o_path_fd", 8040+ (gchar *) "h", 8041+ NULL 8042+ }, 8043+ FALSE 8044+}; 8045+ 8046+static const _ExtendedGDBusArgInfo _gxdp_documents_method_info_add_named_full_IN_ARG_filename = 8047+{ 8048+ { 8049+ -1, 8050+ (gchar *) "filename", 8051+ (gchar *) "ay", 8052+ NULL 8053+ }, 8054+ FALSE 8055+}; 8056+ 8057+static const _ExtendedGDBusArgInfo _gxdp_documents_method_info_add_named_full_IN_ARG_flags = 8058+{ 8059+ { 8060+ -1, 8061+ (gchar *) "flags", 8062+ (gchar *) "u", 8063+ NULL 8064+ }, 8065+ FALSE 8066+}; 8067+ 8068+static const _ExtendedGDBusArgInfo _gxdp_documents_method_info_add_named_full_IN_ARG_app_id = 8069+{ 8070+ { 8071+ -1, 8072+ (gchar *) "app_id", 8073+ (gchar *) "s", 8074+ NULL 8075+ }, 8076+ FALSE 8077+}; 8078+ 8079+static const _ExtendedGDBusArgInfo _gxdp_documents_method_info_add_named_full_IN_ARG_permissions = 8080+{ 8081+ { 8082+ -1, 8083+ (gchar *) "permissions", 8084+ (gchar *) "as", 8085+ NULL 8086+ }, 8087+ FALSE 8088+}; 8089+ 8090+static const GDBusArgInfo * const _gxdp_documents_method_info_add_named_full_IN_ARG_pointers[] = 8091+{ 8092+ &_gxdp_documents_method_info_add_named_full_IN_ARG_o_path_fd.parent_struct, 8093+ &_gxdp_documents_method_info_add_named_full_IN_ARG_filename.parent_struct, 8094+ &_gxdp_documents_method_info_add_named_full_IN_ARG_flags.parent_struct, 8095+ &_gxdp_documents_method_info_add_named_full_IN_ARG_app_id.parent_struct, 8096+ &_gxdp_documents_method_info_add_named_full_IN_ARG_permissions.parent_struct, 8097+ NULL 8098+}; 8099+ 8100+static const _ExtendedGDBusArgInfo _gxdp_documents_method_info_add_named_full_OUT_ARG_doc_id = 8101+{ 8102+ { 8103+ -1, 8104+ (gchar *) "doc_id", 8105+ (gchar *) "s", 8106+ NULL 8107+ }, 8108+ FALSE 8109+}; 8110+ 8111+static const _ExtendedGDBusArgInfo _gxdp_documents_method_info_add_named_full_OUT_ARG_extra_out = 8112+{ 8113+ { 8114+ -1, 8115+ (gchar *) "extra_out", 8116+ (gchar *) "a{sv}", 8117+ NULL 8118+ }, 8119+ FALSE 8120+}; 8121+ 8122+static const GDBusArgInfo * const _gxdp_documents_method_info_add_named_full_OUT_ARG_pointers[] = 8123+{ 8124+ &_gxdp_documents_method_info_add_named_full_OUT_ARG_doc_id.parent_struct, 8125+ &_gxdp_documents_method_info_add_named_full_OUT_ARG_extra_out.parent_struct, 8126+ NULL 8127+}; 8128+ 8129+static const _ExtendedGDBusMethodInfo _gxdp_documents_method_info_add_named_full = 8130+{ 8131+ { 8132+ -1, 8133+ (gchar *) "AddNamedFull", 8134+ (GDBusArgInfo **) &_gxdp_documents_method_info_add_named_full_IN_ARG_pointers, 8135+ (GDBusArgInfo **) &_gxdp_documents_method_info_add_named_full_OUT_ARG_pointers, 8136+ NULL 8137+ }, 8138+ "handle-add-named-full", 8139+ TRUE 8140+}; 8141+ 8142+static const _ExtendedGDBusArgInfo _gxdp_documents_method_info_grant_permissions_IN_ARG_doc_id = 8143+{ 8144+ { 8145+ -1, 8146+ (gchar *) "doc_id", 8147+ (gchar *) "s", 8148+ NULL 8149+ }, 8150+ FALSE 8151+}; 8152+ 8153+static const _ExtendedGDBusArgInfo _gxdp_documents_method_info_grant_permissions_IN_ARG_app_id = 8154+{ 8155+ { 8156+ -1, 8157+ (gchar *) "app_id", 8158+ (gchar *) "s", 8159+ NULL 8160+ }, 8161+ FALSE 8162+}; 8163+ 8164+static const _ExtendedGDBusArgInfo _gxdp_documents_method_info_grant_permissions_IN_ARG_permissions = 8165+{ 8166+ { 8167+ -1, 8168+ (gchar *) "permissions", 8169+ (gchar *) "as", 8170+ NULL 8171+ }, 8172+ FALSE 8173+}; 8174+ 8175+static const GDBusArgInfo * const _gxdp_documents_method_info_grant_permissions_IN_ARG_pointers[] = 8176+{ 8177+ &_gxdp_documents_method_info_grant_permissions_IN_ARG_doc_id.parent_struct, 8178+ &_gxdp_documents_method_info_grant_permissions_IN_ARG_app_id.parent_struct, 8179+ &_gxdp_documents_method_info_grant_permissions_IN_ARG_permissions.parent_struct, 8180+ NULL 8181+}; 8182+ 8183+static const _ExtendedGDBusMethodInfo _gxdp_documents_method_info_grant_permissions = 8184+{ 8185+ { 8186+ -1, 8187+ (gchar *) "GrantPermissions", 8188+ (GDBusArgInfo **) &_gxdp_documents_method_info_grant_permissions_IN_ARG_pointers, 8189+ NULL, 8190+ NULL 8191+ }, 8192+ "handle-grant-permissions", 8193+ FALSE 8194+}; 8195+ 8196+static const _ExtendedGDBusArgInfo _gxdp_documents_method_info_revoke_permissions_IN_ARG_doc_id = 8197+{ 8198+ { 8199+ -1, 8200+ (gchar *) "doc_id", 8201+ (gchar *) "s", 8202+ NULL 8203+ }, 8204+ FALSE 8205+}; 8206+ 8207+static const _ExtendedGDBusArgInfo _gxdp_documents_method_info_revoke_permissions_IN_ARG_app_id = 8208+{ 8209+ { 8210+ -1, 8211+ (gchar *) "app_id", 8212+ (gchar *) "s", 8213+ NULL 8214+ }, 8215+ FALSE 8216+}; 8217+ 8218+static const _ExtendedGDBusArgInfo _gxdp_documents_method_info_revoke_permissions_IN_ARG_permissions = 8219+{ 8220+ { 8221+ -1, 8222+ (gchar *) "permissions", 8223+ (gchar *) "as", 8224+ NULL 8225+ }, 8226+ FALSE 8227+}; 8228+ 8229+static const GDBusArgInfo * const _gxdp_documents_method_info_revoke_permissions_IN_ARG_pointers[] = 8230+{ 8231+ &_gxdp_documents_method_info_revoke_permissions_IN_ARG_doc_id.parent_struct, 8232+ &_gxdp_documents_method_info_revoke_permissions_IN_ARG_app_id.parent_struct, 8233+ &_gxdp_documents_method_info_revoke_permissions_IN_ARG_permissions.parent_struct, 8234+ NULL 8235+}; 8236+ 8237+static const _ExtendedGDBusMethodInfo _gxdp_documents_method_info_revoke_permissions = 8238+{ 8239+ { 8240+ -1, 8241+ (gchar *) "RevokePermissions", 8242+ (GDBusArgInfo **) &_gxdp_documents_method_info_revoke_permissions_IN_ARG_pointers, 8243+ NULL, 8244+ NULL 8245+ }, 8246+ "handle-revoke-permissions", 8247+ FALSE 8248+}; 8249+ 8250+static const _ExtendedGDBusArgInfo _gxdp_documents_method_info_delete_IN_ARG_doc_id = 8251+{ 8252+ { 8253+ -1, 8254+ (gchar *) "doc_id", 8255+ (gchar *) "s", 8256+ NULL 8257+ }, 8258+ FALSE 8259+}; 8260+ 8261+static const GDBusArgInfo * const _gxdp_documents_method_info_delete_IN_ARG_pointers[] = 8262+{ 8263+ &_gxdp_documents_method_info_delete_IN_ARG_doc_id.parent_struct, 8264+ NULL 8265+}; 8266+ 8267+static const _ExtendedGDBusMethodInfo _gxdp_documents_method_info_delete = 8268+{ 8269+ { 8270+ -1, 8271+ (gchar *) "Delete", 8272+ (GDBusArgInfo **) &_gxdp_documents_method_info_delete_IN_ARG_pointers, 8273+ NULL, 8274+ NULL 8275+ }, 8276+ "handle-delete", 8277+ FALSE 8278+}; 8279+ 8280+static const _ExtendedGDBusArgInfo _gxdp_documents_method_info_lookup_IN_ARG_filename = 8281+{ 8282+ { 8283+ -1, 8284+ (gchar *) "filename", 8285+ (gchar *) "ay", 8286+ NULL 8287+ }, 8288+ FALSE 8289+}; 8290+ 8291+static const GDBusArgInfo * const _gxdp_documents_method_info_lookup_IN_ARG_pointers[] = 8292+{ 8293+ &_gxdp_documents_method_info_lookup_IN_ARG_filename.parent_struct, 8294+ NULL 8295+}; 8296+ 8297+static const _ExtendedGDBusArgInfo _gxdp_documents_method_info_lookup_OUT_ARG_doc_id = 8298+{ 8299+ { 8300+ -1, 8301+ (gchar *) "doc_id", 8302+ (gchar *) "s", 8303+ NULL 8304+ }, 8305+ FALSE 8306+}; 8307+ 8308+static const GDBusArgInfo * const _gxdp_documents_method_info_lookup_OUT_ARG_pointers[] = 8309+{ 8310+ &_gxdp_documents_method_info_lookup_OUT_ARG_doc_id.parent_struct, 8311+ NULL 8312+}; 8313+ 8314+static const _ExtendedGDBusMethodInfo _gxdp_documents_method_info_lookup = 8315+{ 8316+ { 8317+ -1, 8318+ (gchar *) "Lookup", 8319+ (GDBusArgInfo **) &_gxdp_documents_method_info_lookup_IN_ARG_pointers, 8320+ (GDBusArgInfo **) &_gxdp_documents_method_info_lookup_OUT_ARG_pointers, 8321+ NULL 8322+ }, 8323+ "handle-lookup", 8324+ FALSE 8325+}; 8326+ 8327+static const _ExtendedGDBusArgInfo _gxdp_documents_method_info_info_IN_ARG_doc_id = 8328+{ 8329+ { 8330+ -1, 8331+ (gchar *) "doc_id", 8332+ (gchar *) "s", 8333+ NULL 8334+ }, 8335+ FALSE 8336+}; 8337+ 8338+static const GDBusArgInfo * const _gxdp_documents_method_info_info_IN_ARG_pointers[] = 8339+{ 8340+ &_gxdp_documents_method_info_info_IN_ARG_doc_id.parent_struct, 8341+ NULL 8342+}; 8343+ 8344+static const _ExtendedGDBusArgInfo _gxdp_documents_method_info_info_OUT_ARG_path = 8345+{ 8346+ { 8347+ -1, 8348+ (gchar *) "path", 8349+ (gchar *) "ay", 8350+ NULL 8351+ }, 8352+ FALSE 8353+}; 8354+ 8355+static const _ExtendedGDBusArgInfo _gxdp_documents_method_info_info_OUT_ARG_apps = 8356+{ 8357+ { 8358+ -1, 8359+ (gchar *) "apps", 8360+ (gchar *) "a{sas}", 8361+ NULL 8362+ }, 8363+ FALSE 8364+}; 8365+ 8366+static const GDBusArgInfo * const _gxdp_documents_method_info_info_OUT_ARG_pointers[] = 8367+{ 8368+ &_gxdp_documents_method_info_info_OUT_ARG_path.parent_struct, 8369+ &_gxdp_documents_method_info_info_OUT_ARG_apps.parent_struct, 8370+ NULL 8371+}; 8372+ 8373+static const _ExtendedGDBusMethodInfo _gxdp_documents_method_info_info = 8374+{ 8375+ { 8376+ -1, 8377+ (gchar *) "Info", 8378+ (GDBusArgInfo **) &_gxdp_documents_method_info_info_IN_ARG_pointers, 8379+ (GDBusArgInfo **) &_gxdp_documents_method_info_info_OUT_ARG_pointers, 8380+ NULL 8381+ }, 8382+ "handle-info", 8383+ FALSE 8384+}; 8385+ 8386+static const _ExtendedGDBusArgInfo _gxdp_documents_method_info_list_IN_ARG_app_id = 8387+{ 8388+ { 8389+ -1, 8390+ (gchar *) "app_id", 8391+ (gchar *) "s", 8392+ NULL 8393+ }, 8394+ FALSE 8395+}; 8396+ 8397+static const GDBusArgInfo * const _gxdp_documents_method_info_list_IN_ARG_pointers[] = 8398+{ 8399+ &_gxdp_documents_method_info_list_IN_ARG_app_id.parent_struct, 8400+ NULL 8401+}; 8402+ 8403+static const _ExtendedGDBusArgInfo _gxdp_documents_method_info_list_OUT_ARG_docs = 8404+{ 8405+ { 8406+ -1, 8407+ (gchar *) "docs", 8408+ (gchar *) "a{say}", 8409+ NULL 8410+ }, 8411+ FALSE 8412+}; 8413+ 8414+static const GDBusArgInfo * const _gxdp_documents_method_info_list_OUT_ARG_pointers[] = 8415+{ 8416+ &_gxdp_documents_method_info_list_OUT_ARG_docs.parent_struct, 8417+ NULL 8418+}; 8419+ 8420+static const _ExtendedGDBusMethodInfo _gxdp_documents_method_info_list = 8421+{ 8422+ { 8423+ -1, 8424+ (gchar *) "List", 8425+ (GDBusArgInfo **) &_gxdp_documents_method_info_list_IN_ARG_pointers, 8426+ (GDBusArgInfo **) &_gxdp_documents_method_info_list_OUT_ARG_pointers, 8427+ NULL 8428+ }, 8429+ "handle-list", 8430+ FALSE 8431+}; 8432+ 8433+static const GDBusMethodInfo * const _gxdp_documents_method_info_pointers[] = 8434+{ 8435+ &_gxdp_documents_method_info_get_mount_point.parent_struct, 8436+ &_gxdp_documents_method_info_add.parent_struct, 8437+ &_gxdp_documents_method_info_add_named.parent_struct, 8438+ &_gxdp_documents_method_info_add_full.parent_struct, 8439+ &_gxdp_documents_method_info_add_named_full.parent_struct, 8440+ &_gxdp_documents_method_info_grant_permissions.parent_struct, 8441+ &_gxdp_documents_method_info_revoke_permissions.parent_struct, 8442+ &_gxdp_documents_method_info_delete.parent_struct, 8443+ &_gxdp_documents_method_info_lookup.parent_struct, 8444+ &_gxdp_documents_method_info_info.parent_struct, 8445+ &_gxdp_documents_method_info_list.parent_struct, 8446+ NULL 8447+}; 8448+ 8449+static const _ExtendedGDBusPropertyInfo _gxdp_documents_property_info_version = 8450+{ 8451+ { 8452+ -1, 8453+ (gchar *) "version", 8454+ (gchar *) "u", 8455+ G_DBUS_PROPERTY_INFO_FLAGS_READABLE, 8456+ NULL 8457+ }, 8458+ "version", 8459+ FALSE, 8460+ TRUE 8461+}; 8462+ 8463+static const GDBusPropertyInfo * const _gxdp_documents_property_info_pointers[] = 8464+{ 8465+ &_gxdp_documents_property_info_version.parent_struct, 8466+ NULL 8467+}; 8468+ 8469+static const _ExtendedGDBusInterfaceInfo _gxdp_documents_interface_info = 8470+{ 8471+ { 8472+ -1, 8473+ (gchar *) "org.freedesktop.portal.Documents", 8474+ (GDBusMethodInfo **) &_gxdp_documents_method_info_pointers, 8475+ NULL, 8476+ (GDBusPropertyInfo **) &_gxdp_documents_property_info_pointers, 8477+ NULL 8478+ }, 8479+ "documents", 8480+}; 8481+ 8482+ 8483+/** 8484+ * gxdp_documents_interface_info: 8485+ * 8486+ * Gets a machine-readable description of the <link linkend="gdbus-interface-org-freedesktop-portal-Documents.top_of_page">org.freedesktop.portal.Documents</link> D-Bus interface. 8487+ * 8488+ * Returns: (transfer none): A #GDBusInterfaceInfo. Do not free. 8489+ */ 8490+GDBusInterfaceInfo * 8491+gxdp_documents_interface_info (void) 8492+{ 8493+ return (GDBusInterfaceInfo *) &_gxdp_documents_interface_info.parent_struct; 8494+} 8495+ 8496+/** 8497+ * gxdp_documents_override_properties: 8498+ * @klass: The class structure for a #GObject derived class. 8499+ * @property_id_begin: The property id to assign to the first overridden property. 8500+ * 8501+ * Overrides all #GObject properties in the #GXdpDocuments interface for a concrete class. 8502+ * The properties are overridden in the order they are defined. 8503+ * 8504+ * Returns: The last property id. 8505+ */ 8506+guint 8507+gxdp_documents_override_properties (GObjectClass *klass, guint property_id_begin) 8508+{ 8509+ g_object_class_override_property (klass, property_id_begin++, "version"); 8510+ return property_id_begin - 1; 8511+} 8512+ 8513+ 8514+ 8515+/** 8516+ * GXdpDocuments: 8517+ * 8518+ * Abstract interface type for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-portal-Documents.top_of_page">org.freedesktop.portal.Documents</link>. 8519+ */ 8520+ 8521+/** 8522+ * GXdpDocumentsIface: 8523+ * @parent_iface: The parent interface. 8524+ * @handle_add: Handler for the #GXdpDocuments::handle-add signal. 8525+ * @handle_add_full: Handler for the #GXdpDocuments::handle-add-full signal. 8526+ * @handle_add_named: Handler for the #GXdpDocuments::handle-add-named signal. 8527+ * @handle_add_named_full: Handler for the #GXdpDocuments::handle-add-named-full signal. 8528+ * @handle_delete: Handler for the #GXdpDocuments::handle-delete signal. 8529+ * @handle_get_mount_point: Handler for the #GXdpDocuments::handle-get-mount-point signal. 8530+ * @handle_grant_permissions: Handler for the #GXdpDocuments::handle-grant-permissions signal. 8531+ * @handle_info: Handler for the #GXdpDocuments::handle-info signal. 8532+ * @handle_list: Handler for the #GXdpDocuments::handle-list signal. 8533+ * @handle_lookup: Handler for the #GXdpDocuments::handle-lookup signal. 8534+ * @handle_revoke_permissions: Handler for the #GXdpDocuments::handle-revoke-permissions signal. 8535+ * @get_version: Getter for the #GXdpDocuments:version property. 8536+ * 8537+ * Virtual table for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-portal-Documents.top_of_page">org.freedesktop.portal.Documents</link>. 8538+ */ 8539+ 8540+typedef GXdpDocumentsIface GXdpDocumentsInterface; 8541+G_DEFINE_INTERFACE (GXdpDocuments, gxdp_documents, G_TYPE_OBJECT) 8542+ 8543+static void 8544+gxdp_documents_default_init (GXdpDocumentsIface *iface) 8545+{ 8546+ /* GObject signals for incoming D-Bus method calls: */ 8547+ /** 8548+ * GXdpDocuments::handle-get-mount-point: 8549+ * @object: A #GXdpDocuments. 8550+ * @invocation: A #GDBusMethodInvocation. 8551+ * 8552+ * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-portal-Documents.GetMountPoint">GetMountPoint()</link> D-Bus method. 8553+ * 8554+ * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call gxdp_documents_complete_get_mount_point() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. 8555+ * 8556+ * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run. 8557+ */ 8558+ g_signal_new ("handle-get-mount-point", 8559+ G_TYPE_FROM_INTERFACE (iface), 8560+ G_SIGNAL_RUN_LAST, 8561+ G_STRUCT_OFFSET (GXdpDocumentsIface, handle_get_mount_point), 8562+ g_signal_accumulator_true_handled, 8563+ NULL, 8564+ g_cclosure_marshal_generic, 8565+ G_TYPE_BOOLEAN, 8566+ 1, 8567+ G_TYPE_DBUS_METHOD_INVOCATION); 8568+ 8569+ /** 8570+ * GXdpDocuments::handle-add: 8571+ * @object: A #GXdpDocuments. 8572+ * @invocation: A #GDBusMethodInvocation. 8573+ * @fd_list: (nullable): A #GUnixFDList or %NULL. 8574+ * @arg_o_path_fd: Argument passed by remote caller. 8575+ * @arg_reuse_existing: Argument passed by remote caller. 8576+ * @arg_persistent: Argument passed by remote caller. 8577+ * 8578+ * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-portal-Documents.Add">Add()</link> D-Bus method. 8579+ * 8580+ * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call gxdp_documents_complete_add() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. 8581+ * 8582+ * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run. 8583+ */ 8584+ g_signal_new ("handle-add", 8585+ G_TYPE_FROM_INTERFACE (iface), 8586+ G_SIGNAL_RUN_LAST, 8587+ G_STRUCT_OFFSET (GXdpDocumentsIface, handle_add), 8588+ g_signal_accumulator_true_handled, 8589+ NULL, 8590+ g_cclosure_marshal_generic, 8591+ G_TYPE_BOOLEAN, 8592+ 5, 8593+ G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_UNIX_FD_LIST, G_TYPE_VARIANT, G_TYPE_BOOLEAN, G_TYPE_BOOLEAN); 8594+ 8595+ /** 8596+ * GXdpDocuments::handle-add-named: 8597+ * @object: A #GXdpDocuments. 8598+ * @invocation: A #GDBusMethodInvocation. 8599+ * @fd_list: (nullable): A #GUnixFDList or %NULL. 8600+ * @arg_o_path_parent_fd: Argument passed by remote caller. 8601+ * @arg_filename: Argument passed by remote caller. 8602+ * @arg_reuse_existing: Argument passed by remote caller. 8603+ * @arg_persistent: Argument passed by remote caller. 8604+ * 8605+ * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-portal-Documents.AddNamed">AddNamed()</link> D-Bus method. 8606+ * 8607+ * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call gxdp_documents_complete_add_named() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. 8608+ * 8609+ * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run. 8610+ */ 8611+ g_signal_new ("handle-add-named", 8612+ G_TYPE_FROM_INTERFACE (iface), 8613+ G_SIGNAL_RUN_LAST, 8614+ G_STRUCT_OFFSET (GXdpDocumentsIface, handle_add_named), 8615+ g_signal_accumulator_true_handled, 8616+ NULL, 8617+ g_cclosure_marshal_generic, 8618+ G_TYPE_BOOLEAN, 8619+ 6, 8620+ G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_UNIX_FD_LIST, G_TYPE_VARIANT, G_TYPE_STRING, G_TYPE_BOOLEAN, G_TYPE_BOOLEAN); 8621+ 8622+ /** 8623+ * GXdpDocuments::handle-add-full: 8624+ * @object: A #GXdpDocuments. 8625+ * @invocation: A #GDBusMethodInvocation. 8626+ * @fd_list: (nullable): A #GUnixFDList or %NULL. 8627+ * @arg_o_path_fds: Argument passed by remote caller. 8628+ * @arg_flags: Argument passed by remote caller. 8629+ * @arg_app_id: Argument passed by remote caller. 8630+ * @arg_permissions: Argument passed by remote caller. 8631+ * 8632+ * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-portal-Documents.AddFull">AddFull()</link> D-Bus method. 8633+ * 8634+ * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call gxdp_documents_complete_add_full() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. 8635+ * 8636+ * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run. 8637+ */ 8638+ g_signal_new ("handle-add-full", 8639+ G_TYPE_FROM_INTERFACE (iface), 8640+ G_SIGNAL_RUN_LAST, 8641+ G_STRUCT_OFFSET (GXdpDocumentsIface, handle_add_full), 8642+ g_signal_accumulator_true_handled, 8643+ NULL, 8644+ g_cclosure_marshal_generic, 8645+ G_TYPE_BOOLEAN, 8646+ 6, 8647+ G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_UNIX_FD_LIST, G_TYPE_VARIANT, G_TYPE_UINT, G_TYPE_STRING, G_TYPE_STRV); 8648+ 8649+ /** 8650+ * GXdpDocuments::handle-add-named-full: 8651+ * @object: A #GXdpDocuments. 8652+ * @invocation: A #GDBusMethodInvocation. 8653+ * @fd_list: (nullable): A #GUnixFDList or %NULL. 8654+ * @arg_o_path_fd: Argument passed by remote caller. 8655+ * @arg_filename: Argument passed by remote caller. 8656+ * @arg_flags: Argument passed by remote caller. 8657+ * @arg_app_id: Argument passed by remote caller. 8658+ * @arg_permissions: Argument passed by remote caller. 8659+ * 8660+ * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-portal-Documents.AddNamedFull">AddNamedFull()</link> D-Bus method. 8661+ * 8662+ * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call gxdp_documents_complete_add_named_full() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. 8663+ * 8664+ * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run. 8665+ */ 8666+ g_signal_new ("handle-add-named-full", 8667+ G_TYPE_FROM_INTERFACE (iface), 8668+ G_SIGNAL_RUN_LAST, 8669+ G_STRUCT_OFFSET (GXdpDocumentsIface, handle_add_named_full), 8670+ g_signal_accumulator_true_handled, 8671+ NULL, 8672+ g_cclosure_marshal_generic, 8673+ G_TYPE_BOOLEAN, 8674+ 7, 8675+ G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_UNIX_FD_LIST, G_TYPE_VARIANT, G_TYPE_STRING, G_TYPE_UINT, G_TYPE_STRING, G_TYPE_STRV); 8676+ 8677+ /** 8678+ * GXdpDocuments::handle-grant-permissions: 8679+ * @object: A #GXdpDocuments. 8680+ * @invocation: A #GDBusMethodInvocation. 8681+ * @arg_doc_id: Argument passed by remote caller. 8682+ * @arg_app_id: Argument passed by remote caller. 8683+ * @arg_permissions: Argument passed by remote caller. 8684+ * 8685+ * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-portal-Documents.GrantPermissions">GrantPermissions()</link> D-Bus method. 8686+ * 8687+ * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call gxdp_documents_complete_grant_permissions() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. 8688+ * 8689+ * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run. 8690+ */ 8691+ g_signal_new ("handle-grant-permissions", 8692+ G_TYPE_FROM_INTERFACE (iface), 8693+ G_SIGNAL_RUN_LAST, 8694+ G_STRUCT_OFFSET (GXdpDocumentsIface, handle_grant_permissions), 8695+ g_signal_accumulator_true_handled, 8696+ NULL, 8697+ g_cclosure_marshal_generic, 8698+ G_TYPE_BOOLEAN, 8699+ 4, 8700+ G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRV); 8701+ 8702+ /** 8703+ * GXdpDocuments::handle-revoke-permissions: 8704+ * @object: A #GXdpDocuments. 8705+ * @invocation: A #GDBusMethodInvocation. 8706+ * @arg_doc_id: Argument passed by remote caller. 8707+ * @arg_app_id: Argument passed by remote caller. 8708+ * @arg_permissions: Argument passed by remote caller. 8709+ * 8710+ * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-portal-Documents.RevokePermissions">RevokePermissions()</link> D-Bus method. 8711+ * 8712+ * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call gxdp_documents_complete_revoke_permissions() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. 8713+ * 8714+ * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run. 8715+ */ 8716+ g_signal_new ("handle-revoke-permissions", 8717+ G_TYPE_FROM_INTERFACE (iface), 8718+ G_SIGNAL_RUN_LAST, 8719+ G_STRUCT_OFFSET (GXdpDocumentsIface, handle_revoke_permissions), 8720+ g_signal_accumulator_true_handled, 8721+ NULL, 8722+ g_cclosure_marshal_generic, 8723+ G_TYPE_BOOLEAN, 8724+ 4, 8725+ G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRV); 8726+ 8727+ /** 8728+ * GXdpDocuments::handle-delete: 8729+ * @object: A #GXdpDocuments. 8730+ * @invocation: A #GDBusMethodInvocation. 8731+ * @arg_doc_id: Argument passed by remote caller. 8732+ * 8733+ * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-portal-Documents.Delete">Delete()</link> D-Bus method. 8734+ * 8735+ * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call gxdp_documents_complete_delete() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. 8736+ * 8737+ * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run. 8738+ */ 8739+ g_signal_new ("handle-delete", 8740+ G_TYPE_FROM_INTERFACE (iface), 8741+ G_SIGNAL_RUN_LAST, 8742+ G_STRUCT_OFFSET (GXdpDocumentsIface, handle_delete), 8743+ g_signal_accumulator_true_handled, 8744+ NULL, 8745+ g_cclosure_marshal_generic, 8746+ G_TYPE_BOOLEAN, 8747+ 2, 8748+ G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING); 8749+ 8750+ /** 8751+ * GXdpDocuments::handle-lookup: 8752+ * @object: A #GXdpDocuments. 8753+ * @invocation: A #GDBusMethodInvocation. 8754+ * @arg_filename: Argument passed by remote caller. 8755+ * 8756+ * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-portal-Documents.Lookup">Lookup()</link> D-Bus method. 8757+ * 8758+ * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call gxdp_documents_complete_lookup() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. 8759+ * 8760+ * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run. 8761+ */ 8762+ g_signal_new ("handle-lookup", 8763+ G_TYPE_FROM_INTERFACE (iface), 8764+ G_SIGNAL_RUN_LAST, 8765+ G_STRUCT_OFFSET (GXdpDocumentsIface, handle_lookup), 8766+ g_signal_accumulator_true_handled, 8767+ NULL, 8768+ g_cclosure_marshal_generic, 8769+ G_TYPE_BOOLEAN, 8770+ 2, 8771+ G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING); 8772+ 8773+ /** 8774+ * GXdpDocuments::handle-info: 8775+ * @object: A #GXdpDocuments. 8776+ * @invocation: A #GDBusMethodInvocation. 8777+ * @arg_doc_id: Argument passed by remote caller. 8778+ * 8779+ * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-portal-Documents.Info">Info()</link> D-Bus method. 8780+ * 8781+ * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call gxdp_documents_complete_info() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. 8782+ * 8783+ * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run. 8784+ */ 8785+ g_signal_new ("handle-info", 8786+ G_TYPE_FROM_INTERFACE (iface), 8787+ G_SIGNAL_RUN_LAST, 8788+ G_STRUCT_OFFSET (GXdpDocumentsIface, handle_info), 8789+ g_signal_accumulator_true_handled, 8790+ NULL, 8791+ g_cclosure_marshal_generic, 8792+ G_TYPE_BOOLEAN, 8793+ 2, 8794+ G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING); 8795+ 8796+ /** 8797+ * GXdpDocuments::handle-list: 8798+ * @object: A #GXdpDocuments. 8799+ * @invocation: A #GDBusMethodInvocation. 8800+ * @arg_app_id: Argument passed by remote caller. 8801+ * 8802+ * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-portal-Documents.List">List()</link> D-Bus method. 8803+ * 8804+ * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call gxdp_documents_complete_list() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. 8805+ * 8806+ * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run. 8807+ */ 8808+ g_signal_new ("handle-list", 8809+ G_TYPE_FROM_INTERFACE (iface), 8810+ G_SIGNAL_RUN_LAST, 8811+ G_STRUCT_OFFSET (GXdpDocumentsIface, handle_list), 8812+ g_signal_accumulator_true_handled, 8813+ NULL, 8814+ g_cclosure_marshal_generic, 8815+ G_TYPE_BOOLEAN, 8816+ 2, 8817+ G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING); 8818+ 8819+ /* GObject properties for D-Bus properties: */ 8820+ /** 8821+ * GXdpDocuments:version: 8822+ * 8823+ * Represents the D-Bus property <link linkend="gdbus-property-org-freedesktop-portal-Documents.version">"version"</link>. 8824+ * 8825+ * Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side. 8826+ */ 8827+ g_object_interface_install_property (iface, 8828+ g_param_spec_uint ("version", "version", "version", 0, G_MAXUINT32, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); 8829+} 8830+ 8831+/** 8832+ * gxdp_documents_get_version: (skip) 8833+ * @object: A #GXdpDocuments. 8834+ * 8835+ * Gets the value of the <link linkend="gdbus-property-org-freedesktop-portal-Documents.version">"version"</link> D-Bus property. 8836+ * 8837+ * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side. 8838+ * 8839+ * Returns: The property value. 8840+ */ 8841+guint 8842+gxdp_documents_get_version (GXdpDocuments *object) 8843+{ 8844+ return GXDP_DOCUMENTS_GET_IFACE (object)->get_version (object); 8845+} 8846+ 8847+/** 8848+ * gxdp_documents_set_version: (skip) 8849+ * @object: A #GXdpDocuments. 8850+ * @value: The value to set. 8851+ * 8852+ * Sets the <link linkend="gdbus-property-org-freedesktop-portal-Documents.version">"version"</link> D-Bus property to @value. 8853+ * 8854+ * Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side. 8855+ */ 8856+void 8857+gxdp_documents_set_version (GXdpDocuments *object, guint value) 8858+{ 8859+ g_object_set (G_OBJECT (object), "version", value, NULL); 8860+} 8861+ 8862+/** 8863+ * gxdp_documents_call_get_mount_point: 8864+ * @proxy: A #GXdpDocumentsProxy. 8865+ * @cancellable: (nullable): A #GCancellable or %NULL. 8866+ * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. 8867+ * @user_data: User data to pass to @callback. 8868+ * 8869+ * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-portal-Documents.GetMountPoint">GetMountPoint()</link> D-Bus method on @proxy. 8870+ * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). 8871+ * You can then call gxdp_documents_call_get_mount_point_finish() to get the result of the operation. 8872+ * 8873+ * See gxdp_documents_call_get_mount_point_sync() for the synchronous, blocking version of this method. 8874+ */ 8875+void 8876+gxdp_documents_call_get_mount_point ( 8877+ GXdpDocuments *proxy, 8878+ GCancellable *cancellable, 8879+ GAsyncReadyCallback callback, 8880+ gpointer user_data) 8881+{ 8882+ g_dbus_proxy_call (G_DBUS_PROXY (proxy), 8883+ "GetMountPoint", 8884+ g_variant_new ("()"), 8885+ G_DBUS_CALL_FLAGS_NONE, 8886+ -1, 8887+ cancellable, 8888+ callback, 8889+ user_data); 8890+} 8891+ 8892+/** 8893+ * gxdp_documents_call_get_mount_point_finish: 8894+ * @proxy: A #GXdpDocumentsProxy. 8895+ * @out_path: (out) (optional): Return location for return parameter or %NULL to ignore. 8896+ * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gxdp_documents_call_get_mount_point(). 8897+ * @error: Return location for error or %NULL. 8898+ * 8899+ * Finishes an operation started with gxdp_documents_call_get_mount_point(). 8900+ * 8901+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 8902+ */ 8903+gboolean 8904+gxdp_documents_call_get_mount_point_finish ( 8905+ GXdpDocuments *proxy, 8906+ gchar **out_path, 8907+ GAsyncResult *res, 8908+ GError **error) 8909+{ 8910+ GVariant *_ret; 8911+ _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error); 8912+ if (_ret == NULL) 8913+ goto _out; 8914+ g_variant_get (_ret, 8915+ "(^ay)", 8916+ out_path); 8917+ g_variant_unref (_ret); 8918+_out: 8919+ return _ret != NULL; 8920+} 8921+ 8922+/** 8923+ * gxdp_documents_call_get_mount_point_sync: 8924+ * @proxy: A #GXdpDocumentsProxy. 8925+ * @out_path: (out) (optional): Return location for return parameter or %NULL to ignore. 8926+ * @cancellable: (nullable): A #GCancellable or %NULL. 8927+ * @error: Return location for error or %NULL. 8928+ * 8929+ * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-portal-Documents.GetMountPoint">GetMountPoint()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received. 8930+ * 8931+ * See gxdp_documents_call_get_mount_point() for the asynchronous version of this method. 8932+ * 8933+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 8934+ */ 8935+gboolean 8936+gxdp_documents_call_get_mount_point_sync ( 8937+ GXdpDocuments *proxy, 8938+ gchar **out_path, 8939+ GCancellable *cancellable, 8940+ GError **error) 8941+{ 8942+ GVariant *_ret; 8943+ _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy), 8944+ "GetMountPoint", 8945+ g_variant_new ("()"), 8946+ G_DBUS_CALL_FLAGS_NONE, 8947+ -1, 8948+ cancellable, 8949+ error); 8950+ if (_ret == NULL) 8951+ goto _out; 8952+ g_variant_get (_ret, 8953+ "(^ay)", 8954+ out_path); 8955+ g_variant_unref (_ret); 8956+_out: 8957+ return _ret != NULL; 8958+} 8959+ 8960+/** 8961+ * gxdp_documents_call_add: 8962+ * @proxy: A #GXdpDocumentsProxy. 8963+ * @arg_o_path_fd: Argument to pass with the method invocation. 8964+ * @arg_reuse_existing: Argument to pass with the method invocation. 8965+ * @arg_persistent: Argument to pass with the method invocation. 8966+ * @fd_list: (nullable): A #GUnixFDList or %NULL. 8967+ * @cancellable: (nullable): A #GCancellable or %NULL. 8968+ * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. 8969+ * @user_data: User data to pass to @callback. 8970+ * 8971+ * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-portal-Documents.Add">Add()</link> D-Bus method on @proxy. 8972+ * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). 8973+ * You can then call gxdp_documents_call_add_finish() to get the result of the operation. 8974+ * 8975+ * See gxdp_documents_call_add_sync() for the synchronous, blocking version of this method. 8976+ */ 8977+void 8978+gxdp_documents_call_add ( 8979+ GXdpDocuments *proxy, 8980+ GVariant *arg_o_path_fd, 8981+ gboolean arg_reuse_existing, 8982+ gboolean arg_persistent, 8983+ GUnixFDList *fd_list, 8984+ GCancellable *cancellable, 8985+ GAsyncReadyCallback callback, 8986+ gpointer user_data) 8987+{ 8988+ g_dbus_proxy_call_with_unix_fd_list (G_DBUS_PROXY (proxy), 8989+ "Add", 8990+ g_variant_new ("(@hbb)", 8991+ arg_o_path_fd, 8992+ arg_reuse_existing, 8993+ arg_persistent), 8994+ G_DBUS_CALL_FLAGS_NONE, 8995+ -1, 8996+ fd_list, 8997+ cancellable, 8998+ callback, 8999+ user_data); 9000+} 9001+ 9002+/** 9003+ * gxdp_documents_call_add_finish: 9004+ * @proxy: A #GXdpDocumentsProxy. 9005+ * @out_doc_id: (out) (optional): Return location for return parameter or %NULL to ignore. 9006+ * @out_fd_list: (out) (optional): Return location for a #GUnixFDList or %NULL to ignore. 9007+ * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gxdp_documents_call_add(). 9008+ * @error: Return location for error or %NULL. 9009+ * 9010+ * Finishes an operation started with gxdp_documents_call_add(). 9011+ * 9012+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 9013+ */ 9014+gboolean 9015+gxdp_documents_call_add_finish ( 9016+ GXdpDocuments *proxy, 9017+ gchar **out_doc_id, 9018+ GUnixFDList **out_fd_list, 9019+ GAsyncResult *res, 9020+ GError **error) 9021+{ 9022+ GVariant *_ret; 9023+ _ret = g_dbus_proxy_call_with_unix_fd_list_finish (G_DBUS_PROXY (proxy), out_fd_list, res, error); 9024+ if (_ret == NULL) 9025+ goto _out; 9026+ g_variant_get (_ret, 9027+ "(s)", 9028+ out_doc_id); 9029+ g_variant_unref (_ret); 9030+_out: 9031+ return _ret != NULL; 9032+} 9033+ 9034+/** 9035+ * gxdp_documents_call_add_sync: 9036+ * @proxy: A #GXdpDocumentsProxy. 9037+ * @arg_o_path_fd: Argument to pass with the method invocation. 9038+ * @arg_reuse_existing: Argument to pass with the method invocation. 9039+ * @arg_persistent: Argument to pass with the method invocation. 9040+ * @fd_list: (nullable): A #GUnixFDList or %NULL. 9041+ * @out_doc_id: (out) (optional): Return location for return parameter or %NULL to ignore. 9042+ * @out_fd_list: (out): Return location for a #GUnixFDList or %NULL. 9043+ * @cancellable: (nullable): A #GCancellable or %NULL. 9044+ * @error: Return location for error or %NULL. 9045+ * 9046+ * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-portal-Documents.Add">Add()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received. 9047+ * 9048+ * See gxdp_documents_call_add() for the asynchronous version of this method. 9049+ * 9050+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 9051+ */ 9052+gboolean 9053+gxdp_documents_call_add_sync ( 9054+ GXdpDocuments *proxy, 9055+ GVariant *arg_o_path_fd, 9056+ gboolean arg_reuse_existing, 9057+ gboolean arg_persistent, 9058+ GUnixFDList *fd_list, 9059+ gchar **out_doc_id, 9060+ GUnixFDList **out_fd_list, 9061+ GCancellable *cancellable, 9062+ GError **error) 9063+{ 9064+ GVariant *_ret; 9065+ _ret = g_dbus_proxy_call_with_unix_fd_list_sync (G_DBUS_PROXY (proxy), 9066+ "Add", 9067+ g_variant_new ("(@hbb)", 9068+ arg_o_path_fd, 9069+ arg_reuse_existing, 9070+ arg_persistent), 9071+ G_DBUS_CALL_FLAGS_NONE, 9072+ -1, 9073+ fd_list, 9074+ out_fd_list, 9075+ cancellable, 9076+ error); 9077+ if (_ret == NULL) 9078+ goto _out; 9079+ g_variant_get (_ret, 9080+ "(s)", 9081+ out_doc_id); 9082+ g_variant_unref (_ret); 9083+_out: 9084+ return _ret != NULL; 9085+} 9086+ 9087+/** 9088+ * gxdp_documents_call_add_named: 9089+ * @proxy: A #GXdpDocumentsProxy. 9090+ * @arg_o_path_parent_fd: Argument to pass with the method invocation. 9091+ * @arg_filename: Argument to pass with the method invocation. 9092+ * @arg_reuse_existing: Argument to pass with the method invocation. 9093+ * @arg_persistent: Argument to pass with the method invocation. 9094+ * @fd_list: (nullable): A #GUnixFDList or %NULL. 9095+ * @cancellable: (nullable): A #GCancellable or %NULL. 9096+ * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. 9097+ * @user_data: User data to pass to @callback. 9098+ * 9099+ * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-portal-Documents.AddNamed">AddNamed()</link> D-Bus method on @proxy. 9100+ * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). 9101+ * You can then call gxdp_documents_call_add_named_finish() to get the result of the operation. 9102+ * 9103+ * See gxdp_documents_call_add_named_sync() for the synchronous, blocking version of this method. 9104+ */ 9105+void 9106+gxdp_documents_call_add_named ( 9107+ GXdpDocuments *proxy, 9108+ GVariant *arg_o_path_parent_fd, 9109+ const gchar *arg_filename, 9110+ gboolean arg_reuse_existing, 9111+ gboolean arg_persistent, 9112+ GUnixFDList *fd_list, 9113+ GCancellable *cancellable, 9114+ GAsyncReadyCallback callback, 9115+ gpointer user_data) 9116+{ 9117+ g_dbus_proxy_call_with_unix_fd_list (G_DBUS_PROXY (proxy), 9118+ "AddNamed", 9119+ g_variant_new ("(@h^aybb)", 9120+ arg_o_path_parent_fd, 9121+ arg_filename, 9122+ arg_reuse_existing, 9123+ arg_persistent), 9124+ G_DBUS_CALL_FLAGS_NONE, 9125+ -1, 9126+ fd_list, 9127+ cancellable, 9128+ callback, 9129+ user_data); 9130+} 9131+ 9132+/** 9133+ * gxdp_documents_call_add_named_finish: 9134+ * @proxy: A #GXdpDocumentsProxy. 9135+ * @out_doc_id: (out) (optional): Return location for return parameter or %NULL to ignore. 9136+ * @out_fd_list: (out) (optional): Return location for a #GUnixFDList or %NULL to ignore. 9137+ * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gxdp_documents_call_add_named(). 9138+ * @error: Return location for error or %NULL. 9139+ * 9140+ * Finishes an operation started with gxdp_documents_call_add_named(). 9141+ * 9142+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 9143+ */ 9144+gboolean 9145+gxdp_documents_call_add_named_finish ( 9146+ GXdpDocuments *proxy, 9147+ gchar **out_doc_id, 9148+ GUnixFDList **out_fd_list, 9149+ GAsyncResult *res, 9150+ GError **error) 9151+{ 9152+ GVariant *_ret; 9153+ _ret = g_dbus_proxy_call_with_unix_fd_list_finish (G_DBUS_PROXY (proxy), out_fd_list, res, error); 9154+ if (_ret == NULL) 9155+ goto _out; 9156+ g_variant_get (_ret, 9157+ "(s)", 9158+ out_doc_id); 9159+ g_variant_unref (_ret); 9160+_out: 9161+ return _ret != NULL; 9162+} 9163+ 9164+/** 9165+ * gxdp_documents_call_add_named_sync: 9166+ * @proxy: A #GXdpDocumentsProxy. 9167+ * @arg_o_path_parent_fd: Argument to pass with the method invocation. 9168+ * @arg_filename: Argument to pass with the method invocation. 9169+ * @arg_reuse_existing: Argument to pass with the method invocation. 9170+ * @arg_persistent: Argument to pass with the method invocation. 9171+ * @fd_list: (nullable): A #GUnixFDList or %NULL. 9172+ * @out_doc_id: (out) (optional): Return location for return parameter or %NULL to ignore. 9173+ * @out_fd_list: (out): Return location for a #GUnixFDList or %NULL. 9174+ * @cancellable: (nullable): A #GCancellable or %NULL. 9175+ * @error: Return location for error or %NULL. 9176+ * 9177+ * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-portal-Documents.AddNamed">AddNamed()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received. 9178+ * 9179+ * See gxdp_documents_call_add_named() for the asynchronous version of this method. 9180+ * 9181+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 9182+ */ 9183+gboolean 9184+gxdp_documents_call_add_named_sync ( 9185+ GXdpDocuments *proxy, 9186+ GVariant *arg_o_path_parent_fd, 9187+ const gchar *arg_filename, 9188+ gboolean arg_reuse_existing, 9189+ gboolean arg_persistent, 9190+ GUnixFDList *fd_list, 9191+ gchar **out_doc_id, 9192+ GUnixFDList **out_fd_list, 9193+ GCancellable *cancellable, 9194+ GError **error) 9195+{ 9196+ GVariant *_ret; 9197+ _ret = g_dbus_proxy_call_with_unix_fd_list_sync (G_DBUS_PROXY (proxy), 9198+ "AddNamed", 9199+ g_variant_new ("(@h^aybb)", 9200+ arg_o_path_parent_fd, 9201+ arg_filename, 9202+ arg_reuse_existing, 9203+ arg_persistent), 9204+ G_DBUS_CALL_FLAGS_NONE, 9205+ -1, 9206+ fd_list, 9207+ out_fd_list, 9208+ cancellable, 9209+ error); 9210+ if (_ret == NULL) 9211+ goto _out; 9212+ g_variant_get (_ret, 9213+ "(s)", 9214+ out_doc_id); 9215+ g_variant_unref (_ret); 9216+_out: 9217+ return _ret != NULL; 9218+} 9219+ 9220+/** 9221+ * gxdp_documents_call_add_full: 9222+ * @proxy: A #GXdpDocumentsProxy. 9223+ * @arg_o_path_fds: Argument to pass with the method invocation. 9224+ * @arg_flags: Argument to pass with the method invocation. 9225+ * @arg_app_id: Argument to pass with the method invocation. 9226+ * @arg_permissions: Argument to pass with the method invocation. 9227+ * @fd_list: (nullable): A #GUnixFDList or %NULL. 9228+ * @cancellable: (nullable): A #GCancellable or %NULL. 9229+ * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. 9230+ * @user_data: User data to pass to @callback. 9231+ * 9232+ * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-portal-Documents.AddFull">AddFull()</link> D-Bus method on @proxy. 9233+ * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). 9234+ * You can then call gxdp_documents_call_add_full_finish() to get the result of the operation. 9235+ * 9236+ * See gxdp_documents_call_add_full_sync() for the synchronous, blocking version of this method. 9237+ */ 9238+void 9239+gxdp_documents_call_add_full ( 9240+ GXdpDocuments *proxy, 9241+ GVariant *arg_o_path_fds, 9242+ guint arg_flags, 9243+ const gchar *arg_app_id, 9244+ const gchar *const *arg_permissions, 9245+ GUnixFDList *fd_list, 9246+ GCancellable *cancellable, 9247+ GAsyncReadyCallback callback, 9248+ gpointer user_data) 9249+{ 9250+ g_dbus_proxy_call_with_unix_fd_list (G_DBUS_PROXY (proxy), 9251+ "AddFull", 9252+ g_variant_new ("(@ahus^as)", 9253+ arg_o_path_fds, 9254+ arg_flags, 9255+ arg_app_id, 9256+ arg_permissions), 9257+ G_DBUS_CALL_FLAGS_NONE, 9258+ -1, 9259+ fd_list, 9260+ cancellable, 9261+ callback, 9262+ user_data); 9263+} 9264+ 9265+/** 9266+ * gxdp_documents_call_add_full_finish: 9267+ * @proxy: A #GXdpDocumentsProxy. 9268+ * @out_doc_ids: (out) (optional) (array zero-terminated=1): Return location for return parameter or %NULL to ignore. 9269+ * @out_extra_out: (out) (optional): Return location for return parameter or %NULL to ignore. 9270+ * @out_fd_list: (out) (optional): Return location for a #GUnixFDList or %NULL to ignore. 9271+ * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gxdp_documents_call_add_full(). 9272+ * @error: Return location for error or %NULL. 9273+ * 9274+ * Finishes an operation started with gxdp_documents_call_add_full(). 9275+ * 9276+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 9277+ */ 9278+gboolean 9279+gxdp_documents_call_add_full_finish ( 9280+ GXdpDocuments *proxy, 9281+ gchar ***out_doc_ids, 9282+ GVariant **out_extra_out, 9283+ GUnixFDList **out_fd_list, 9284+ GAsyncResult *res, 9285+ GError **error) 9286+{ 9287+ GVariant *_ret; 9288+ _ret = g_dbus_proxy_call_with_unix_fd_list_finish (G_DBUS_PROXY (proxy), out_fd_list, res, error); 9289+ if (_ret == NULL) 9290+ goto _out; 9291+ g_variant_get (_ret, 9292+ "(^as@a{sv})", 9293+ out_doc_ids, 9294+ out_extra_out); 9295+ g_variant_unref (_ret); 9296+_out: 9297+ return _ret != NULL; 9298+} 9299+ 9300+/** 9301+ * gxdp_documents_call_add_full_sync: 9302+ * @proxy: A #GXdpDocumentsProxy. 9303+ * @arg_o_path_fds: Argument to pass with the method invocation. 9304+ * @arg_flags: Argument to pass with the method invocation. 9305+ * @arg_app_id: Argument to pass with the method invocation. 9306+ * @arg_permissions: Argument to pass with the method invocation. 9307+ * @fd_list: (nullable): A #GUnixFDList or %NULL. 9308+ * @out_doc_ids: (out) (optional) (array zero-terminated=1): Return location for return parameter or %NULL to ignore. 9309+ * @out_extra_out: (out) (optional): Return location for return parameter or %NULL to ignore. 9310+ * @out_fd_list: (out): Return location for a #GUnixFDList or %NULL. 9311+ * @cancellable: (nullable): A #GCancellable or %NULL. 9312+ * @error: Return location for error or %NULL. 9313+ * 9314+ * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-portal-Documents.AddFull">AddFull()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received. 9315+ * 9316+ * See gxdp_documents_call_add_full() for the asynchronous version of this method. 9317+ * 9318+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 9319+ */ 9320+gboolean 9321+gxdp_documents_call_add_full_sync ( 9322+ GXdpDocuments *proxy, 9323+ GVariant *arg_o_path_fds, 9324+ guint arg_flags, 9325+ const gchar *arg_app_id, 9326+ const gchar *const *arg_permissions, 9327+ GUnixFDList *fd_list, 9328+ gchar ***out_doc_ids, 9329+ GVariant **out_extra_out, 9330+ GUnixFDList **out_fd_list, 9331+ GCancellable *cancellable, 9332+ GError **error) 9333+{ 9334+ GVariant *_ret; 9335+ _ret = g_dbus_proxy_call_with_unix_fd_list_sync (G_DBUS_PROXY (proxy), 9336+ "AddFull", 9337+ g_variant_new ("(@ahus^as)", 9338+ arg_o_path_fds, 9339+ arg_flags, 9340+ arg_app_id, 9341+ arg_permissions), 9342+ G_DBUS_CALL_FLAGS_NONE, 9343+ -1, 9344+ fd_list, 9345+ out_fd_list, 9346+ cancellable, 9347+ error); 9348+ if (_ret == NULL) 9349+ goto _out; 9350+ g_variant_get (_ret, 9351+ "(^as@a{sv})", 9352+ out_doc_ids, 9353+ out_extra_out); 9354+ g_variant_unref (_ret); 9355+_out: 9356+ return _ret != NULL; 9357+} 9358+ 9359+/** 9360+ * gxdp_documents_call_add_named_full: 9361+ * @proxy: A #GXdpDocumentsProxy. 9362+ * @arg_o_path_fd: Argument to pass with the method invocation. 9363+ * @arg_filename: Argument to pass with the method invocation. 9364+ * @arg_flags: Argument to pass with the method invocation. 9365+ * @arg_app_id: Argument to pass with the method invocation. 9366+ * @arg_permissions: Argument to pass with the method invocation. 9367+ * @fd_list: (nullable): A #GUnixFDList or %NULL. 9368+ * @cancellable: (nullable): A #GCancellable or %NULL. 9369+ * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. 9370+ * @user_data: User data to pass to @callback. 9371+ * 9372+ * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-portal-Documents.AddNamedFull">AddNamedFull()</link> D-Bus method on @proxy. 9373+ * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). 9374+ * You can then call gxdp_documents_call_add_named_full_finish() to get the result of the operation. 9375+ * 9376+ * See gxdp_documents_call_add_named_full_sync() for the synchronous, blocking version of this method. 9377+ */ 9378+void 9379+gxdp_documents_call_add_named_full ( 9380+ GXdpDocuments *proxy, 9381+ GVariant *arg_o_path_fd, 9382+ const gchar *arg_filename, 9383+ guint arg_flags, 9384+ const gchar *arg_app_id, 9385+ const gchar *const *arg_permissions, 9386+ GUnixFDList *fd_list, 9387+ GCancellable *cancellable, 9388+ GAsyncReadyCallback callback, 9389+ gpointer user_data) 9390+{ 9391+ g_dbus_proxy_call_with_unix_fd_list (G_DBUS_PROXY (proxy), 9392+ "AddNamedFull", 9393+ g_variant_new ("(@h^ayus^as)", 9394+ arg_o_path_fd, 9395+ arg_filename, 9396+ arg_flags, 9397+ arg_app_id, 9398+ arg_permissions), 9399+ G_DBUS_CALL_FLAGS_NONE, 9400+ -1, 9401+ fd_list, 9402+ cancellable, 9403+ callback, 9404+ user_data); 9405+} 9406+ 9407+/** 9408+ * gxdp_documents_call_add_named_full_finish: 9409+ * @proxy: A #GXdpDocumentsProxy. 9410+ * @out_doc_id: (out) (optional): Return location for return parameter or %NULL to ignore. 9411+ * @out_extra_out: (out) (optional): Return location for return parameter or %NULL to ignore. 9412+ * @out_fd_list: (out) (optional): Return location for a #GUnixFDList or %NULL to ignore. 9413+ * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gxdp_documents_call_add_named_full(). 9414+ * @error: Return location for error or %NULL. 9415+ * 9416+ * Finishes an operation started with gxdp_documents_call_add_named_full(). 9417+ * 9418+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 9419+ */ 9420+gboolean 9421+gxdp_documents_call_add_named_full_finish ( 9422+ GXdpDocuments *proxy, 9423+ gchar **out_doc_id, 9424+ GVariant **out_extra_out, 9425+ GUnixFDList **out_fd_list, 9426+ GAsyncResult *res, 9427+ GError **error) 9428+{ 9429+ GVariant *_ret; 9430+ _ret = g_dbus_proxy_call_with_unix_fd_list_finish (G_DBUS_PROXY (proxy), out_fd_list, res, error); 9431+ if (_ret == NULL) 9432+ goto _out; 9433+ g_variant_get (_ret, 9434+ "(s@a{sv})", 9435+ out_doc_id, 9436+ out_extra_out); 9437+ g_variant_unref (_ret); 9438+_out: 9439+ return _ret != NULL; 9440+} 9441+ 9442+/** 9443+ * gxdp_documents_call_add_named_full_sync: 9444+ * @proxy: A #GXdpDocumentsProxy. 9445+ * @arg_o_path_fd: Argument to pass with the method invocation. 9446+ * @arg_filename: Argument to pass with the method invocation. 9447+ * @arg_flags: Argument to pass with the method invocation. 9448+ * @arg_app_id: Argument to pass with the method invocation. 9449+ * @arg_permissions: Argument to pass with the method invocation. 9450+ * @fd_list: (nullable): A #GUnixFDList or %NULL. 9451+ * @out_doc_id: (out) (optional): Return location for return parameter or %NULL to ignore. 9452+ * @out_extra_out: (out) (optional): Return location for return parameter or %NULL to ignore. 9453+ * @out_fd_list: (out): Return location for a #GUnixFDList or %NULL. 9454+ * @cancellable: (nullable): A #GCancellable or %NULL. 9455+ * @error: Return location for error or %NULL. 9456+ * 9457+ * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-portal-Documents.AddNamedFull">AddNamedFull()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received. 9458+ * 9459+ * See gxdp_documents_call_add_named_full() for the asynchronous version of this method. 9460+ * 9461+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 9462+ */ 9463+gboolean 9464+gxdp_documents_call_add_named_full_sync ( 9465+ GXdpDocuments *proxy, 9466+ GVariant *arg_o_path_fd, 9467+ const gchar *arg_filename, 9468+ guint arg_flags, 9469+ const gchar *arg_app_id, 9470+ const gchar *const *arg_permissions, 9471+ GUnixFDList *fd_list, 9472+ gchar **out_doc_id, 9473+ GVariant **out_extra_out, 9474+ GUnixFDList **out_fd_list, 9475+ GCancellable *cancellable, 9476+ GError **error) 9477+{ 9478+ GVariant *_ret; 9479+ _ret = g_dbus_proxy_call_with_unix_fd_list_sync (G_DBUS_PROXY (proxy), 9480+ "AddNamedFull", 9481+ g_variant_new ("(@h^ayus^as)", 9482+ arg_o_path_fd, 9483+ arg_filename, 9484+ arg_flags, 9485+ arg_app_id, 9486+ arg_permissions), 9487+ G_DBUS_CALL_FLAGS_NONE, 9488+ -1, 9489+ fd_list, 9490+ out_fd_list, 9491+ cancellable, 9492+ error); 9493+ if (_ret == NULL) 9494+ goto _out; 9495+ g_variant_get (_ret, 9496+ "(s@a{sv})", 9497+ out_doc_id, 9498+ out_extra_out); 9499+ g_variant_unref (_ret); 9500+_out: 9501+ return _ret != NULL; 9502+} 9503+ 9504+/** 9505+ * gxdp_documents_call_grant_permissions: 9506+ * @proxy: A #GXdpDocumentsProxy. 9507+ * @arg_doc_id: Argument to pass with the method invocation. 9508+ * @arg_app_id: Argument to pass with the method invocation. 9509+ * @arg_permissions: Argument to pass with the method invocation. 9510+ * @cancellable: (nullable): A #GCancellable or %NULL. 9511+ * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. 9512+ * @user_data: User data to pass to @callback. 9513+ * 9514+ * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-portal-Documents.GrantPermissions">GrantPermissions()</link> D-Bus method on @proxy. 9515+ * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). 9516+ * You can then call gxdp_documents_call_grant_permissions_finish() to get the result of the operation. 9517+ * 9518+ * See gxdp_documents_call_grant_permissions_sync() for the synchronous, blocking version of this method. 9519+ */ 9520+void 9521+gxdp_documents_call_grant_permissions ( 9522+ GXdpDocuments *proxy, 9523+ const gchar *arg_doc_id, 9524+ const gchar *arg_app_id, 9525+ const gchar *const *arg_permissions, 9526+ GCancellable *cancellable, 9527+ GAsyncReadyCallback callback, 9528+ gpointer user_data) 9529+{ 9530+ g_dbus_proxy_call (G_DBUS_PROXY (proxy), 9531+ "GrantPermissions", 9532+ g_variant_new ("(ss^as)", 9533+ arg_doc_id, 9534+ arg_app_id, 9535+ arg_permissions), 9536+ G_DBUS_CALL_FLAGS_NONE, 9537+ -1, 9538+ cancellable, 9539+ callback, 9540+ user_data); 9541+} 9542+ 9543+/** 9544+ * gxdp_documents_call_grant_permissions_finish: 9545+ * @proxy: A #GXdpDocumentsProxy. 9546+ * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gxdp_documents_call_grant_permissions(). 9547+ * @error: Return location for error or %NULL. 9548+ * 9549+ * Finishes an operation started with gxdp_documents_call_grant_permissions(). 9550+ * 9551+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 9552+ */ 9553+gboolean 9554+gxdp_documents_call_grant_permissions_finish ( 9555+ GXdpDocuments *proxy, 9556+ GAsyncResult *res, 9557+ GError **error) 9558+{ 9559+ GVariant *_ret; 9560+ _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error); 9561+ if (_ret == NULL) 9562+ goto _out; 9563+ g_variant_get (_ret, 9564+ "()"); 9565+ g_variant_unref (_ret); 9566+_out: 9567+ return _ret != NULL; 9568+} 9569+ 9570+/** 9571+ * gxdp_documents_call_grant_permissions_sync: 9572+ * @proxy: A #GXdpDocumentsProxy. 9573+ * @arg_doc_id: Argument to pass with the method invocation. 9574+ * @arg_app_id: Argument to pass with the method invocation. 9575+ * @arg_permissions: Argument to pass with the method invocation. 9576+ * @cancellable: (nullable): A #GCancellable or %NULL. 9577+ * @error: Return location for error or %NULL. 9578+ * 9579+ * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-portal-Documents.GrantPermissions">GrantPermissions()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received. 9580+ * 9581+ * See gxdp_documents_call_grant_permissions() for the asynchronous version of this method. 9582+ * 9583+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 9584+ */ 9585+gboolean 9586+gxdp_documents_call_grant_permissions_sync ( 9587+ GXdpDocuments *proxy, 9588+ const gchar *arg_doc_id, 9589+ const gchar *arg_app_id, 9590+ const gchar *const *arg_permissions, 9591+ GCancellable *cancellable, 9592+ GError **error) 9593+{ 9594+ GVariant *_ret; 9595+ _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy), 9596+ "GrantPermissions", 9597+ g_variant_new ("(ss^as)", 9598+ arg_doc_id, 9599+ arg_app_id, 9600+ arg_permissions), 9601+ G_DBUS_CALL_FLAGS_NONE, 9602+ -1, 9603+ cancellable, 9604+ error); 9605+ if (_ret == NULL) 9606+ goto _out; 9607+ g_variant_get (_ret, 9608+ "()"); 9609+ g_variant_unref (_ret); 9610+_out: 9611+ return _ret != NULL; 9612+} 9613+ 9614+/** 9615+ * gxdp_documents_call_revoke_permissions: 9616+ * @proxy: A #GXdpDocumentsProxy. 9617+ * @arg_doc_id: Argument to pass with the method invocation. 9618+ * @arg_app_id: Argument to pass with the method invocation. 9619+ * @arg_permissions: Argument to pass with the method invocation. 9620+ * @cancellable: (nullable): A #GCancellable or %NULL. 9621+ * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. 9622+ * @user_data: User data to pass to @callback. 9623+ * 9624+ * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-portal-Documents.RevokePermissions">RevokePermissions()</link> D-Bus method on @proxy. 9625+ * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). 9626+ * You can then call gxdp_documents_call_revoke_permissions_finish() to get the result of the operation. 9627+ * 9628+ * See gxdp_documents_call_revoke_permissions_sync() for the synchronous, blocking version of this method. 9629+ */ 9630+void 9631+gxdp_documents_call_revoke_permissions ( 9632+ GXdpDocuments *proxy, 9633+ const gchar *arg_doc_id, 9634+ const gchar *arg_app_id, 9635+ const gchar *const *arg_permissions, 9636+ GCancellable *cancellable, 9637+ GAsyncReadyCallback callback, 9638+ gpointer user_data) 9639+{ 9640+ g_dbus_proxy_call (G_DBUS_PROXY (proxy), 9641+ "RevokePermissions", 9642+ g_variant_new ("(ss^as)", 9643+ arg_doc_id, 9644+ arg_app_id, 9645+ arg_permissions), 9646+ G_DBUS_CALL_FLAGS_NONE, 9647+ -1, 9648+ cancellable, 9649+ callback, 9650+ user_data); 9651+} 9652+ 9653+/** 9654+ * gxdp_documents_call_revoke_permissions_finish: 9655+ * @proxy: A #GXdpDocumentsProxy. 9656+ * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gxdp_documents_call_revoke_permissions(). 9657+ * @error: Return location for error or %NULL. 9658+ * 9659+ * Finishes an operation started with gxdp_documents_call_revoke_permissions(). 9660+ * 9661+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 9662+ */ 9663+gboolean 9664+gxdp_documents_call_revoke_permissions_finish ( 9665+ GXdpDocuments *proxy, 9666+ GAsyncResult *res, 9667+ GError **error) 9668+{ 9669+ GVariant *_ret; 9670+ _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error); 9671+ if (_ret == NULL) 9672+ goto _out; 9673+ g_variant_get (_ret, 9674+ "()"); 9675+ g_variant_unref (_ret); 9676+_out: 9677+ return _ret != NULL; 9678+} 9679+ 9680+/** 9681+ * gxdp_documents_call_revoke_permissions_sync: 9682+ * @proxy: A #GXdpDocumentsProxy. 9683+ * @arg_doc_id: Argument to pass with the method invocation. 9684+ * @arg_app_id: Argument to pass with the method invocation. 9685+ * @arg_permissions: Argument to pass with the method invocation. 9686+ * @cancellable: (nullable): A #GCancellable or %NULL. 9687+ * @error: Return location for error or %NULL. 9688+ * 9689+ * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-portal-Documents.RevokePermissions">RevokePermissions()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received. 9690+ * 9691+ * See gxdp_documents_call_revoke_permissions() for the asynchronous version of this method. 9692+ * 9693+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 9694+ */ 9695+gboolean 9696+gxdp_documents_call_revoke_permissions_sync ( 9697+ GXdpDocuments *proxy, 9698+ const gchar *arg_doc_id, 9699+ const gchar *arg_app_id, 9700+ const gchar *const *arg_permissions, 9701+ GCancellable *cancellable, 9702+ GError **error) 9703+{ 9704+ GVariant *_ret; 9705+ _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy), 9706+ "RevokePermissions", 9707+ g_variant_new ("(ss^as)", 9708+ arg_doc_id, 9709+ arg_app_id, 9710+ arg_permissions), 9711+ G_DBUS_CALL_FLAGS_NONE, 9712+ -1, 9713+ cancellable, 9714+ error); 9715+ if (_ret == NULL) 9716+ goto _out; 9717+ g_variant_get (_ret, 9718+ "()"); 9719+ g_variant_unref (_ret); 9720+_out: 9721+ return _ret != NULL; 9722+} 9723+ 9724+/** 9725+ * gxdp_documents_call_delete: 9726+ * @proxy: A #GXdpDocumentsProxy. 9727+ * @arg_doc_id: Argument to pass with the method invocation. 9728+ * @cancellable: (nullable): A #GCancellable or %NULL. 9729+ * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. 9730+ * @user_data: User data to pass to @callback. 9731+ * 9732+ * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-portal-Documents.Delete">Delete()</link> D-Bus method on @proxy. 9733+ * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). 9734+ * You can then call gxdp_documents_call_delete_finish() to get the result of the operation. 9735+ * 9736+ * See gxdp_documents_call_delete_sync() for the synchronous, blocking version of this method. 9737+ */ 9738+void 9739+gxdp_documents_call_delete ( 9740+ GXdpDocuments *proxy, 9741+ const gchar *arg_doc_id, 9742+ GCancellable *cancellable, 9743+ GAsyncReadyCallback callback, 9744+ gpointer user_data) 9745+{ 9746+ g_dbus_proxy_call (G_DBUS_PROXY (proxy), 9747+ "Delete", 9748+ g_variant_new ("(s)", 9749+ arg_doc_id), 9750+ G_DBUS_CALL_FLAGS_NONE, 9751+ -1, 9752+ cancellable, 9753+ callback, 9754+ user_data); 9755+} 9756+ 9757+/** 9758+ * gxdp_documents_call_delete_finish: 9759+ * @proxy: A #GXdpDocumentsProxy. 9760+ * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gxdp_documents_call_delete(). 9761+ * @error: Return location for error or %NULL. 9762+ * 9763+ * Finishes an operation started with gxdp_documents_call_delete(). 9764+ * 9765+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 9766+ */ 9767+gboolean 9768+gxdp_documents_call_delete_finish ( 9769+ GXdpDocuments *proxy, 9770+ GAsyncResult *res, 9771+ GError **error) 9772+{ 9773+ GVariant *_ret; 9774+ _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error); 9775+ if (_ret == NULL) 9776+ goto _out; 9777+ g_variant_get (_ret, 9778+ "()"); 9779+ g_variant_unref (_ret); 9780+_out: 9781+ return _ret != NULL; 9782+} 9783+ 9784+/** 9785+ * gxdp_documents_call_delete_sync: 9786+ * @proxy: A #GXdpDocumentsProxy. 9787+ * @arg_doc_id: Argument to pass with the method invocation. 9788+ * @cancellable: (nullable): A #GCancellable or %NULL. 9789+ * @error: Return location for error or %NULL. 9790+ * 9791+ * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-portal-Documents.Delete">Delete()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received. 9792+ * 9793+ * See gxdp_documents_call_delete() for the asynchronous version of this method. 9794+ * 9795+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 9796+ */ 9797+gboolean 9798+gxdp_documents_call_delete_sync ( 9799+ GXdpDocuments *proxy, 9800+ const gchar *arg_doc_id, 9801+ GCancellable *cancellable, 9802+ GError **error) 9803+{ 9804+ GVariant *_ret; 9805+ _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy), 9806+ "Delete", 9807+ g_variant_new ("(s)", 9808+ arg_doc_id), 9809+ G_DBUS_CALL_FLAGS_NONE, 9810+ -1, 9811+ cancellable, 9812+ error); 9813+ if (_ret == NULL) 9814+ goto _out; 9815+ g_variant_get (_ret, 9816+ "()"); 9817+ g_variant_unref (_ret); 9818+_out: 9819+ return _ret != NULL; 9820+} 9821+ 9822+/** 9823+ * gxdp_documents_call_lookup: 9824+ * @proxy: A #GXdpDocumentsProxy. 9825+ * @arg_filename: Argument to pass with the method invocation. 9826+ * @cancellable: (nullable): A #GCancellable or %NULL. 9827+ * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. 9828+ * @user_data: User data to pass to @callback. 9829+ * 9830+ * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-portal-Documents.Lookup">Lookup()</link> D-Bus method on @proxy. 9831+ * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). 9832+ * You can then call gxdp_documents_call_lookup_finish() to get the result of the operation. 9833+ * 9834+ * See gxdp_documents_call_lookup_sync() for the synchronous, blocking version of this method. 9835+ */ 9836+void 9837+gxdp_documents_call_lookup ( 9838+ GXdpDocuments *proxy, 9839+ const gchar *arg_filename, 9840+ GCancellable *cancellable, 9841+ GAsyncReadyCallback callback, 9842+ gpointer user_data) 9843+{ 9844+ g_dbus_proxy_call (G_DBUS_PROXY (proxy), 9845+ "Lookup", 9846+ g_variant_new ("(^ay)", 9847+ arg_filename), 9848+ G_DBUS_CALL_FLAGS_NONE, 9849+ -1, 9850+ cancellable, 9851+ callback, 9852+ user_data); 9853+} 9854+ 9855+/** 9856+ * gxdp_documents_call_lookup_finish: 9857+ * @proxy: A #GXdpDocumentsProxy. 9858+ * @out_doc_id: (out) (optional): Return location for return parameter or %NULL to ignore. 9859+ * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gxdp_documents_call_lookup(). 9860+ * @error: Return location for error or %NULL. 9861+ * 9862+ * Finishes an operation started with gxdp_documents_call_lookup(). 9863+ * 9864+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 9865+ */ 9866+gboolean 9867+gxdp_documents_call_lookup_finish ( 9868+ GXdpDocuments *proxy, 9869+ gchar **out_doc_id, 9870+ GAsyncResult *res, 9871+ GError **error) 9872+{ 9873+ GVariant *_ret; 9874+ _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error); 9875+ if (_ret == NULL) 9876+ goto _out; 9877+ g_variant_get (_ret, 9878+ "(s)", 9879+ out_doc_id); 9880+ g_variant_unref (_ret); 9881+_out: 9882+ return _ret != NULL; 9883+} 9884+ 9885+/** 9886+ * gxdp_documents_call_lookup_sync: 9887+ * @proxy: A #GXdpDocumentsProxy. 9888+ * @arg_filename: Argument to pass with the method invocation. 9889+ * @out_doc_id: (out) (optional): Return location for return parameter or %NULL to ignore. 9890+ * @cancellable: (nullable): A #GCancellable or %NULL. 9891+ * @error: Return location for error or %NULL. 9892+ * 9893+ * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-portal-Documents.Lookup">Lookup()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received. 9894+ * 9895+ * See gxdp_documents_call_lookup() for the asynchronous version of this method. 9896+ * 9897+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 9898+ */ 9899+gboolean 9900+gxdp_documents_call_lookup_sync ( 9901+ GXdpDocuments *proxy, 9902+ const gchar *arg_filename, 9903+ gchar **out_doc_id, 9904+ GCancellable *cancellable, 9905+ GError **error) 9906+{ 9907+ GVariant *_ret; 9908+ _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy), 9909+ "Lookup", 9910+ g_variant_new ("(^ay)", 9911+ arg_filename), 9912+ G_DBUS_CALL_FLAGS_NONE, 9913+ -1, 9914+ cancellable, 9915+ error); 9916+ if (_ret == NULL) 9917+ goto _out; 9918+ g_variant_get (_ret, 9919+ "(s)", 9920+ out_doc_id); 9921+ g_variant_unref (_ret); 9922+_out: 9923+ return _ret != NULL; 9924+} 9925+ 9926+/** 9927+ * gxdp_documents_call_info: 9928+ * @proxy: A #GXdpDocumentsProxy. 9929+ * @arg_doc_id: Argument to pass with the method invocation. 9930+ * @cancellable: (nullable): A #GCancellable or %NULL. 9931+ * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. 9932+ * @user_data: User data to pass to @callback. 9933+ * 9934+ * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-portal-Documents.Info">Info()</link> D-Bus method on @proxy. 9935+ * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). 9936+ * You can then call gxdp_documents_call_info_finish() to get the result of the operation. 9937+ * 9938+ * See gxdp_documents_call_info_sync() for the synchronous, blocking version of this method. 9939+ */ 9940+void 9941+gxdp_documents_call_info ( 9942+ GXdpDocuments *proxy, 9943+ const gchar *arg_doc_id, 9944+ GCancellable *cancellable, 9945+ GAsyncReadyCallback callback, 9946+ gpointer user_data) 9947+{ 9948+ g_dbus_proxy_call (G_DBUS_PROXY (proxy), 9949+ "Info", 9950+ g_variant_new ("(s)", 9951+ arg_doc_id), 9952+ G_DBUS_CALL_FLAGS_NONE, 9953+ -1, 9954+ cancellable, 9955+ callback, 9956+ user_data); 9957+} 9958+ 9959+/** 9960+ * gxdp_documents_call_info_finish: 9961+ * @proxy: A #GXdpDocumentsProxy. 9962+ * @out_path: (out) (optional): Return location for return parameter or %NULL to ignore. 9963+ * @out_apps: (out) (optional): Return location for return parameter or %NULL to ignore. 9964+ * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gxdp_documents_call_info(). 9965+ * @error: Return location for error or %NULL. 9966+ * 9967+ * Finishes an operation started with gxdp_documents_call_info(). 9968+ * 9969+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 9970+ */ 9971+gboolean 9972+gxdp_documents_call_info_finish ( 9973+ GXdpDocuments *proxy, 9974+ gchar **out_path, 9975+ GVariant **out_apps, 9976+ GAsyncResult *res, 9977+ GError **error) 9978+{ 9979+ GVariant *_ret; 9980+ _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error); 9981+ if (_ret == NULL) 9982+ goto _out; 9983+ g_variant_get (_ret, 9984+ "(^ay@a{sas})", 9985+ out_path, 9986+ out_apps); 9987+ g_variant_unref (_ret); 9988+_out: 9989+ return _ret != NULL; 9990+} 9991+ 9992+/** 9993+ * gxdp_documents_call_info_sync: 9994+ * @proxy: A #GXdpDocumentsProxy. 9995+ * @arg_doc_id: Argument to pass with the method invocation. 9996+ * @out_path: (out) (optional): Return location for return parameter or %NULL to ignore. 9997+ * @out_apps: (out) (optional): Return location for return parameter or %NULL to ignore. 9998+ * @cancellable: (nullable): A #GCancellable or %NULL. 9999+ * @error: Return location for error or %NULL. 10000+ * 10001+ * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-portal-Documents.Info">Info()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received. 10002+ * 10003+ * See gxdp_documents_call_info() for the asynchronous version of this method. 10004+ * 10005+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 10006+ */ 10007+gboolean 10008+gxdp_documents_call_info_sync ( 10009+ GXdpDocuments *proxy, 10010+ const gchar *arg_doc_id, 10011+ gchar **out_path, 10012+ GVariant **out_apps, 10013+ GCancellable *cancellable, 10014+ GError **error) 10015+{ 10016+ GVariant *_ret; 10017+ _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy), 10018+ "Info", 10019+ g_variant_new ("(s)", 10020+ arg_doc_id), 10021+ G_DBUS_CALL_FLAGS_NONE, 10022+ -1, 10023+ cancellable, 10024+ error); 10025+ if (_ret == NULL) 10026+ goto _out; 10027+ g_variant_get (_ret, 10028+ "(^ay@a{sas})", 10029+ out_path, 10030+ out_apps); 10031+ g_variant_unref (_ret); 10032+_out: 10033+ return _ret != NULL; 10034+} 10035+ 10036+/** 10037+ * gxdp_documents_call_list: 10038+ * @proxy: A #GXdpDocumentsProxy. 10039+ * @arg_app_id: Argument to pass with the method invocation. 10040+ * @cancellable: (nullable): A #GCancellable or %NULL. 10041+ * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. 10042+ * @user_data: User data to pass to @callback. 10043+ * 10044+ * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-portal-Documents.List">List()</link> D-Bus method on @proxy. 10045+ * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). 10046+ * You can then call gxdp_documents_call_list_finish() to get the result of the operation. 10047+ * 10048+ * See gxdp_documents_call_list_sync() for the synchronous, blocking version of this method. 10049+ */ 10050+void 10051+gxdp_documents_call_list ( 10052+ GXdpDocuments *proxy, 10053+ const gchar *arg_app_id, 10054+ GCancellable *cancellable, 10055+ GAsyncReadyCallback callback, 10056+ gpointer user_data) 10057+{ 10058+ g_dbus_proxy_call (G_DBUS_PROXY (proxy), 10059+ "List", 10060+ g_variant_new ("(s)", 10061+ arg_app_id), 10062+ G_DBUS_CALL_FLAGS_NONE, 10063+ -1, 10064+ cancellable, 10065+ callback, 10066+ user_data); 10067+} 10068+ 10069+/** 10070+ * gxdp_documents_call_list_finish: 10071+ * @proxy: A #GXdpDocumentsProxy. 10072+ * @out_docs: (out) (optional): Return location for return parameter or %NULL to ignore. 10073+ * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gxdp_documents_call_list(). 10074+ * @error: Return location for error or %NULL. 10075+ * 10076+ * Finishes an operation started with gxdp_documents_call_list(). 10077+ * 10078+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 10079+ */ 10080+gboolean 10081+gxdp_documents_call_list_finish ( 10082+ GXdpDocuments *proxy, 10083+ GVariant **out_docs, 10084+ GAsyncResult *res, 10085+ GError **error) 10086+{ 10087+ GVariant *_ret; 10088+ _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error); 10089+ if (_ret == NULL) 10090+ goto _out; 10091+ g_variant_get (_ret, 10092+ "(@a{say})", 10093+ out_docs); 10094+ g_variant_unref (_ret); 10095+_out: 10096+ return _ret != NULL; 10097+} 10098+ 10099+/** 10100+ * gxdp_documents_call_list_sync: 10101+ * @proxy: A #GXdpDocumentsProxy. 10102+ * @arg_app_id: Argument to pass with the method invocation. 10103+ * @out_docs: (out) (optional): Return location for return parameter or %NULL to ignore. 10104+ * @cancellable: (nullable): A #GCancellable or %NULL. 10105+ * @error: Return location for error or %NULL. 10106+ * 10107+ * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-portal-Documents.List">List()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received. 10108+ * 10109+ * See gxdp_documents_call_list() for the asynchronous version of this method. 10110+ * 10111+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 10112+ */ 10113+gboolean 10114+gxdp_documents_call_list_sync ( 10115+ GXdpDocuments *proxy, 10116+ const gchar *arg_app_id, 10117+ GVariant **out_docs, 10118+ GCancellable *cancellable, 10119+ GError **error) 10120+{ 10121+ GVariant *_ret; 10122+ _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy), 10123+ "List", 10124+ g_variant_new ("(s)", 10125+ arg_app_id), 10126+ G_DBUS_CALL_FLAGS_NONE, 10127+ -1, 10128+ cancellable, 10129+ error); 10130+ if (_ret == NULL) 10131+ goto _out; 10132+ g_variant_get (_ret, 10133+ "(@a{say})", 10134+ out_docs); 10135+ g_variant_unref (_ret); 10136+_out: 10137+ return _ret != NULL; 10138+} 10139+ 10140+/** 10141+ * gxdp_documents_complete_get_mount_point: 10142+ * @object: A #GXdpDocuments. 10143+ * @invocation: (transfer full): A #GDBusMethodInvocation. 10144+ * @path: Parameter to return. 10145+ * 10146+ * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-portal-Documents.GetMountPoint">GetMountPoint()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar. 10147+ * 10148+ * This method will free @invocation, you cannot use it afterwards. 10149+ */ 10150+void 10151+gxdp_documents_complete_get_mount_point ( 10152+ GXdpDocuments *object G_GNUC_UNUSED, 10153+ GDBusMethodInvocation *invocation, 10154+ const gchar *path) 10155+{ 10156+ g_dbus_method_invocation_return_value (invocation, 10157+ g_variant_new ("(^ay)", 10158+ path)); 10159+} 10160+ 10161+/** 10162+ * gxdp_documents_complete_add: 10163+ * @object: A #GXdpDocuments. 10164+ * @invocation: (transfer full): A #GDBusMethodInvocation. 10165+ * @fd_list: (nullable): A #GUnixFDList or %NULL. 10166+ * @doc_id: Parameter to return. 10167+ * 10168+ * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-portal-Documents.Add">Add()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar. 10169+ * 10170+ * This method will free @invocation, you cannot use it afterwards. 10171+ */ 10172+void 10173+gxdp_documents_complete_add ( 10174+ GXdpDocuments *object G_GNUC_UNUSED, 10175+ GDBusMethodInvocation *invocation, 10176+ GUnixFDList *fd_list, 10177+ const gchar *doc_id) 10178+{ 10179+ g_dbus_method_invocation_return_value_with_unix_fd_list (invocation, 10180+ g_variant_new ("(s)", 10181+ doc_id), 10182+ fd_list); 10183+} 10184+ 10185+/** 10186+ * gxdp_documents_complete_add_named: 10187+ * @object: A #GXdpDocuments. 10188+ * @invocation: (transfer full): A #GDBusMethodInvocation. 10189+ * @fd_list: (nullable): A #GUnixFDList or %NULL. 10190+ * @doc_id: Parameter to return. 10191+ * 10192+ * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-portal-Documents.AddNamed">AddNamed()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar. 10193+ * 10194+ * This method will free @invocation, you cannot use it afterwards. 10195+ */ 10196+void 10197+gxdp_documents_complete_add_named ( 10198+ GXdpDocuments *object G_GNUC_UNUSED, 10199+ GDBusMethodInvocation *invocation, 10200+ GUnixFDList *fd_list, 10201+ const gchar *doc_id) 10202+{ 10203+ g_dbus_method_invocation_return_value_with_unix_fd_list (invocation, 10204+ g_variant_new ("(s)", 10205+ doc_id), 10206+ fd_list); 10207+} 10208+ 10209+/** 10210+ * gxdp_documents_complete_add_full: 10211+ * @object: A #GXdpDocuments. 10212+ * @invocation: (transfer full): A #GDBusMethodInvocation. 10213+ * @fd_list: (nullable): A #GUnixFDList or %NULL. 10214+ * @doc_ids: Parameter to return. 10215+ * @extra_out: Parameter to return. 10216+ * 10217+ * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-portal-Documents.AddFull">AddFull()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar. 10218+ * 10219+ * This method will free @invocation, you cannot use it afterwards. 10220+ */ 10221+void 10222+gxdp_documents_complete_add_full ( 10223+ GXdpDocuments *object G_GNUC_UNUSED, 10224+ GDBusMethodInvocation *invocation, 10225+ GUnixFDList *fd_list, 10226+ const gchar *const *doc_ids, 10227+ GVariant *extra_out) 10228+{ 10229+ g_dbus_method_invocation_return_value_with_unix_fd_list (invocation, 10230+ g_variant_new ("(^as@a{sv})", 10231+ doc_ids, 10232+ extra_out), 10233+ fd_list); 10234+} 10235+ 10236+/** 10237+ * gxdp_documents_complete_add_named_full: 10238+ * @object: A #GXdpDocuments. 10239+ * @invocation: (transfer full): A #GDBusMethodInvocation. 10240+ * @fd_list: (nullable): A #GUnixFDList or %NULL. 10241+ * @doc_id: Parameter to return. 10242+ * @extra_out: Parameter to return. 10243+ * 10244+ * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-portal-Documents.AddNamedFull">AddNamedFull()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar. 10245+ * 10246+ * This method will free @invocation, you cannot use it afterwards. 10247+ */ 10248+void 10249+gxdp_documents_complete_add_named_full ( 10250+ GXdpDocuments *object G_GNUC_UNUSED, 10251+ GDBusMethodInvocation *invocation, 10252+ GUnixFDList *fd_list, 10253+ const gchar *doc_id, 10254+ GVariant *extra_out) 10255+{ 10256+ g_dbus_method_invocation_return_value_with_unix_fd_list (invocation, 10257+ g_variant_new ("(s@a{sv})", 10258+ doc_id, 10259+ extra_out), 10260+ fd_list); 10261+} 10262+ 10263+/** 10264+ * gxdp_documents_complete_grant_permissions: 10265+ * @object: A #GXdpDocuments. 10266+ * @invocation: (transfer full): A #GDBusMethodInvocation. 10267+ * 10268+ * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-portal-Documents.GrantPermissions">GrantPermissions()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar. 10269+ * 10270+ * This method will free @invocation, you cannot use it afterwards. 10271+ */ 10272+void 10273+gxdp_documents_complete_grant_permissions ( 10274+ GXdpDocuments *object G_GNUC_UNUSED, 10275+ GDBusMethodInvocation *invocation) 10276+{ 10277+ g_dbus_method_invocation_return_value (invocation, 10278+ g_variant_new ("()")); 10279+} 10280+ 10281+/** 10282+ * gxdp_documents_complete_revoke_permissions: 10283+ * @object: A #GXdpDocuments. 10284+ * @invocation: (transfer full): A #GDBusMethodInvocation. 10285+ * 10286+ * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-portal-Documents.RevokePermissions">RevokePermissions()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar. 10287+ * 10288+ * This method will free @invocation, you cannot use it afterwards. 10289+ */ 10290+void 10291+gxdp_documents_complete_revoke_permissions ( 10292+ GXdpDocuments *object G_GNUC_UNUSED, 10293+ GDBusMethodInvocation *invocation) 10294+{ 10295+ g_dbus_method_invocation_return_value (invocation, 10296+ g_variant_new ("()")); 10297+} 10298+ 10299+/** 10300+ * gxdp_documents_complete_delete: 10301+ * @object: A #GXdpDocuments. 10302+ * @invocation: (transfer full): A #GDBusMethodInvocation. 10303+ * 10304+ * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-portal-Documents.Delete">Delete()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar. 10305+ * 10306+ * This method will free @invocation, you cannot use it afterwards. 10307+ */ 10308+void 10309+gxdp_documents_complete_delete ( 10310+ GXdpDocuments *object G_GNUC_UNUSED, 10311+ GDBusMethodInvocation *invocation) 10312+{ 10313+ g_dbus_method_invocation_return_value (invocation, 10314+ g_variant_new ("()")); 10315+} 10316+ 10317+/** 10318+ * gxdp_documents_complete_lookup: 10319+ * @object: A #GXdpDocuments. 10320+ * @invocation: (transfer full): A #GDBusMethodInvocation. 10321+ * @doc_id: Parameter to return. 10322+ * 10323+ * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-portal-Documents.Lookup">Lookup()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar. 10324+ * 10325+ * This method will free @invocation, you cannot use it afterwards. 10326+ */ 10327+void 10328+gxdp_documents_complete_lookup ( 10329+ GXdpDocuments *object G_GNUC_UNUSED, 10330+ GDBusMethodInvocation *invocation, 10331+ const gchar *doc_id) 10332+{ 10333+ g_dbus_method_invocation_return_value (invocation, 10334+ g_variant_new ("(s)", 10335+ doc_id)); 10336+} 10337+ 10338+/** 10339+ * gxdp_documents_complete_info: 10340+ * @object: A #GXdpDocuments. 10341+ * @invocation: (transfer full): A #GDBusMethodInvocation. 10342+ * @path: Parameter to return. 10343+ * @apps: Parameter to return. 10344+ * 10345+ * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-portal-Documents.Info">Info()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar. 10346+ * 10347+ * This method will free @invocation, you cannot use it afterwards. 10348+ */ 10349+void 10350+gxdp_documents_complete_info ( 10351+ GXdpDocuments *object G_GNUC_UNUSED, 10352+ GDBusMethodInvocation *invocation, 10353+ const gchar *path, 10354+ GVariant *apps) 10355+{ 10356+ g_dbus_method_invocation_return_value (invocation, 10357+ g_variant_new ("(^ay@a{sas})", 10358+ path, 10359+ apps)); 10360+} 10361+ 10362+/** 10363+ * gxdp_documents_complete_list: 10364+ * @object: A #GXdpDocuments. 10365+ * @invocation: (transfer full): A #GDBusMethodInvocation. 10366+ * @docs: Parameter to return. 10367+ * 10368+ * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-portal-Documents.List">List()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar. 10369+ * 10370+ * This method will free @invocation, you cannot use it afterwards. 10371+ */ 10372+void 10373+gxdp_documents_complete_list ( 10374+ GXdpDocuments *object G_GNUC_UNUSED, 10375+ GDBusMethodInvocation *invocation, 10376+ GVariant *docs) 10377+{ 10378+ g_dbus_method_invocation_return_value (invocation, 10379+ g_variant_new ("(@a{say})", 10380+ docs)); 10381+} 10382+ 10383+/* ------------------------------------------------------------------------ */ 10384+ 10385+/** 10386+ * GXdpDocumentsProxy: 10387+ * 10388+ * The #GXdpDocumentsProxy structure contains only private data and should only be accessed using the provided API. 10389+ */ 10390+ 10391+/** 10392+ * GXdpDocumentsProxyClass: 10393+ * @parent_class: The parent class. 10394+ * 10395+ * Class structure for #GXdpDocumentsProxy. 10396+ */ 10397+ 10398+struct _GXdpDocumentsProxyPrivate 10399+{ 10400+ GData *qdata; 10401+}; 10402+ 10403+static void gxdp_documents_proxy_iface_init (GXdpDocumentsIface *iface); 10404+ 10405+#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38 10406+G_DEFINE_TYPE_WITH_CODE (GXdpDocumentsProxy, gxdp_documents_proxy, G_TYPE_DBUS_PROXY, 10407+ G_ADD_PRIVATE (GXdpDocumentsProxy) 10408+ G_IMPLEMENT_INTERFACE (GXDP_TYPE_DOCUMENTS, gxdp_documents_proxy_iface_init)) 10409+ 10410+#else 10411+G_DEFINE_TYPE_WITH_CODE (GXdpDocumentsProxy, gxdp_documents_proxy, G_TYPE_DBUS_PROXY, 10412+ G_IMPLEMENT_INTERFACE (GXDP_TYPE_DOCUMENTS, gxdp_documents_proxy_iface_init)) 10413+ 10414+#endif 10415+static void 10416+gxdp_documents_proxy_finalize (GObject *object) 10417+{ 10418+ GXdpDocumentsProxy *proxy = GXDP_DOCUMENTS_PROXY (object); 10419+ g_datalist_clear (&proxy->priv->qdata); 10420+ G_OBJECT_CLASS (gxdp_documents_proxy_parent_class)->finalize (object); 10421+} 10422+ 10423+static void 10424+gxdp_documents_proxy_get_property (GObject *object, 10425+ guint prop_id, 10426+ GValue *value, 10427+ GParamSpec *pspec G_GNUC_UNUSED) 10428+{ 10429+ const _ExtendedGDBusPropertyInfo *info; 10430+ GVariant *variant; 10431+ g_assert (prop_id != 0 && prop_id - 1 < 1); 10432+ info = (const _ExtendedGDBusPropertyInfo *) _gxdp_documents_property_info_pointers[prop_id - 1]; 10433+ variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (object), info->parent_struct.name); 10434+ if (info->use_gvariant) 10435+ { 10436+ g_value_set_variant (value, variant); 10437+ } 10438+ else 10439+ { 10440+ if (variant != NULL) 10441+ g_dbus_gvariant_to_gvalue (variant, value); 10442+ } 10443+ if (variant != NULL) 10444+ g_variant_unref (variant); 10445+} 10446+ 10447+static void 10448+gxdp_documents_proxy_set_property_cb (GDBusProxy *proxy, 10449+ GAsyncResult *res, 10450+ gpointer user_data) 10451+{ 10452+ const _ExtendedGDBusPropertyInfo *info = user_data; 10453+ GError *error; 10454+ GVariant *_ret; 10455+ error = NULL; 10456+ _ret = g_dbus_proxy_call_finish (proxy, res, &error); 10457+ if (!_ret) 10458+ { 10459+ g_warning ("Error setting property '%s' on interface org.freedesktop.portal.Documents: %s (%s, %d)", 10460+ info->parent_struct.name, 10461+ error->message, g_quark_to_string (error->domain), error->code); 10462+ g_error_free (error); 10463+ } 10464+ else 10465+ { 10466+ g_variant_unref (_ret); 10467+ } 10468+} 10469+ 10470+static void 10471+gxdp_documents_proxy_set_property (GObject *object, 10472+ guint prop_id, 10473+ const GValue *value, 10474+ GParamSpec *pspec G_GNUC_UNUSED) 10475+{ 10476+ const _ExtendedGDBusPropertyInfo *info; 10477+ GVariant *variant; 10478+ g_assert (prop_id != 0 && prop_id - 1 < 1); 10479+ info = (const _ExtendedGDBusPropertyInfo *) _gxdp_documents_property_info_pointers[prop_id - 1]; 10480+ variant = g_dbus_gvalue_to_gvariant (value, G_VARIANT_TYPE (info->parent_struct.signature)); 10481+ g_dbus_proxy_call (G_DBUS_PROXY (object), 10482+ "org.freedesktop.DBus.Properties.Set", 10483+ g_variant_new ("(ssv)", "org.freedesktop.portal.Documents", info->parent_struct.name, variant), 10484+ G_DBUS_CALL_FLAGS_NONE, 10485+ -1, 10486+ NULL, (GAsyncReadyCallback) gxdp_documents_proxy_set_property_cb, (GDBusPropertyInfo *) &info->parent_struct); 10487+ g_variant_unref (variant); 10488+} 10489+ 10490+static void 10491+gxdp_documents_proxy_g_signal (GDBusProxy *proxy, 10492+ const gchar *sender_name G_GNUC_UNUSED, 10493+ const gchar *signal_name, 10494+ GVariant *parameters) 10495+{ 10496+ _ExtendedGDBusSignalInfo *info; 10497+ GVariantIter iter; 10498+ GVariant *child; 10499+ GValue *paramv; 10500+ gsize num_params; 10501+ gsize n; 10502+ guint signal_id; 10503+ info = (_ExtendedGDBusSignalInfo *) g_dbus_interface_info_lookup_signal ((GDBusInterfaceInfo *) &_gxdp_documents_interface_info.parent_struct, signal_name); 10504+ if (info == NULL) 10505+ return; 10506+ num_params = g_variant_n_children (parameters); 10507+ paramv = g_new0 (GValue, num_params + 1); 10508+ g_value_init (¶mv[0], GXDP_TYPE_DOCUMENTS); 10509+ g_value_set_object (¶mv[0], proxy); 10510+ g_variant_iter_init (&iter, parameters); 10511+ n = 1; 10512+ while ((child = g_variant_iter_next_value (&iter)) != NULL) 10513+ { 10514+ _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info->parent_struct.args[n - 1]; 10515+ if (arg_info->use_gvariant) 10516+ { 10517+ g_value_init (¶mv[n], G_TYPE_VARIANT); 10518+ g_value_set_variant (¶mv[n], child); 10519+ n++; 10520+ } 10521+ else 10522+ g_dbus_gvariant_to_gvalue (child, ¶mv[n++]); 10523+ g_variant_unref (child); 10524+ } 10525+ signal_id = g_signal_lookup (info->signal_name, GXDP_TYPE_DOCUMENTS); 10526+ g_signal_emitv (paramv, signal_id, 0, NULL); 10527+ for (n = 0; n < num_params + 1; n++) 10528+ g_value_unset (¶mv[n]); 10529+ g_free (paramv); 10530+} 10531+ 10532+static void 10533+gxdp_documents_proxy_g_properties_changed (GDBusProxy *_proxy, 10534+ GVariant *changed_properties, 10535+ const gchar *const *invalidated_properties) 10536+{ 10537+ GXdpDocumentsProxy *proxy = GXDP_DOCUMENTS_PROXY (_proxy); 10538+ guint n; 10539+ const gchar *key; 10540+ GVariantIter *iter; 10541+ _ExtendedGDBusPropertyInfo *info; 10542+ g_variant_get (changed_properties, "a{sv}", &iter); 10543+ while (g_variant_iter_next (iter, "{&sv}", &key, NULL)) 10544+ { 10545+ info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_gxdp_documents_interface_info.parent_struct, key); 10546+ g_datalist_remove_data (&proxy->priv->qdata, key); 10547+ if (info != NULL) 10548+ g_object_notify (G_OBJECT (proxy), info->hyphen_name); 10549+ } 10550+ g_variant_iter_free (iter); 10551+ for (n = 0; invalidated_properties[n] != NULL; n++) 10552+ { 10553+ info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_gxdp_documents_interface_info.parent_struct, invalidated_properties[n]); 10554+ g_datalist_remove_data (&proxy->priv->qdata, invalidated_properties[n]); 10555+ if (info != NULL) 10556+ g_object_notify (G_OBJECT (proxy), info->hyphen_name); 10557+ } 10558+} 10559+ 10560+static guint 10561+gxdp_documents_proxy_get_version (GXdpDocuments *object) 10562+{ 10563+ GXdpDocumentsProxy *proxy = GXDP_DOCUMENTS_PROXY (object); 10564+ GVariant *variant; 10565+ guint value = 0; 10566+ variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "version"); 10567+ if (variant != NULL) 10568+ { 10569+ value = g_variant_get_uint32 (variant); 10570+ g_variant_unref (variant); 10571+ } 10572+ return value; 10573+} 10574+ 10575+static void 10576+gxdp_documents_proxy_init (GXdpDocumentsProxy *proxy) 10577+{ 10578+#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38 10579+ proxy->priv = gxdp_documents_proxy_get_instance_private (proxy); 10580+#else 10581+ proxy->priv = G_TYPE_INSTANCE_GET_PRIVATE (proxy, GXDP_TYPE_DOCUMENTS_PROXY, GXdpDocumentsProxyPrivate); 10582+#endif 10583+ 10584+ g_dbus_proxy_set_interface_info (G_DBUS_PROXY (proxy), gxdp_documents_interface_info ()); 10585+} 10586+ 10587+static void 10588+gxdp_documents_proxy_class_init (GXdpDocumentsProxyClass *klass) 10589+{ 10590+ GObjectClass *gobject_class; 10591+ GDBusProxyClass *proxy_class; 10592+ 10593+ gobject_class = G_OBJECT_CLASS (klass); 10594+ gobject_class->finalize = gxdp_documents_proxy_finalize; 10595+ gobject_class->get_property = gxdp_documents_proxy_get_property; 10596+ gobject_class->set_property = gxdp_documents_proxy_set_property; 10597+ 10598+ proxy_class = G_DBUS_PROXY_CLASS (klass); 10599+ proxy_class->g_signal = gxdp_documents_proxy_g_signal; 10600+ proxy_class->g_properties_changed = gxdp_documents_proxy_g_properties_changed; 10601+ 10602+ gxdp_documents_override_properties (gobject_class, 1); 10603+ 10604+#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_38 10605+ g_type_class_add_private (klass, sizeof (GXdpDocumentsProxyPrivate)); 10606+#endif 10607+} 10608+ 10609+static void 10610+gxdp_documents_proxy_iface_init (GXdpDocumentsIface *iface) 10611+{ 10612+ iface->get_version = gxdp_documents_proxy_get_version; 10613+} 10614+ 10615+/** 10616+ * gxdp_documents_proxy_new: 10617+ * @connection: A #GDBusConnection. 10618+ * @flags: Flags from the #GDBusProxyFlags enumeration. 10619+ * @name: (nullable): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection. 10620+ * @object_path: An object path. 10621+ * @cancellable: (nullable): A #GCancellable or %NULL. 10622+ * @callback: A #GAsyncReadyCallback to call when the request is satisfied. 10623+ * @user_data: User data to pass to @callback. 10624+ * 10625+ * Asynchronously creates a proxy for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-portal-Documents.top_of_page">org.freedesktop.portal.Documents</link>. See g_dbus_proxy_new() for more details. 10626+ * 10627+ * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). 10628+ * You can then call gxdp_documents_proxy_new_finish() to get the result of the operation. 10629+ * 10630+ * See gxdp_documents_proxy_new_sync() for the synchronous, blocking version of this constructor. 10631+ */ 10632+void 10633+gxdp_documents_proxy_new ( 10634+ GDBusConnection *connection, 10635+ GDBusProxyFlags flags, 10636+ const gchar *name, 10637+ const gchar *object_path, 10638+ GCancellable *cancellable, 10639+ GAsyncReadyCallback callback, 10640+ gpointer user_data) 10641+{ 10642+ g_async_initable_new_async (GXDP_TYPE_DOCUMENTS_PROXY, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "g-flags", flags, "g-name", name, "g-connection", connection, "g-object-path", object_path, "g-interface-name", "org.freedesktop.portal.Documents", NULL); 10643+} 10644+ 10645+/** 10646+ * gxdp_documents_proxy_new_finish: 10647+ * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gxdp_documents_proxy_new(). 10648+ * @error: Return location for error or %NULL 10649+ * 10650+ * Finishes an operation started with gxdp_documents_proxy_new(). 10651+ * 10652+ * Returns: (transfer full) (type GXdpDocumentsProxy): The constructed proxy object or %NULL if @error is set. 10653+ */ 10654+GXdpDocuments * 10655+gxdp_documents_proxy_new_finish ( 10656+ GAsyncResult *res, 10657+ GError **error) 10658+{ 10659+ GObject *ret; 10660+ GObject *source_object; 10661+ source_object = g_async_result_get_source_object (res); 10662+ ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error); 10663+ g_object_unref (source_object); 10664+ if (ret != NULL) 10665+ return GXDP_DOCUMENTS (ret); 10666+ else 10667+ return NULL; 10668+} 10669+ 10670+/** 10671+ * gxdp_documents_proxy_new_sync: 10672+ * @connection: A #GDBusConnection. 10673+ * @flags: Flags from the #GDBusProxyFlags enumeration. 10674+ * @name: (nullable): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection. 10675+ * @object_path: An object path. 10676+ * @cancellable: (nullable): A #GCancellable or %NULL. 10677+ * @error: Return location for error or %NULL 10678+ * 10679+ * Synchronously creates a proxy for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-portal-Documents.top_of_page">org.freedesktop.portal.Documents</link>. See g_dbus_proxy_new_sync() for more details. 10680+ * 10681+ * The calling thread is blocked until a reply is received. 10682+ * 10683+ * See gxdp_documents_proxy_new() for the asynchronous version of this constructor. 10684+ * 10685+ * Returns: (transfer full) (type GXdpDocumentsProxy): The constructed proxy object or %NULL if @error is set. 10686+ */ 10687+GXdpDocuments * 10688+gxdp_documents_proxy_new_sync ( 10689+ GDBusConnection *connection, 10690+ GDBusProxyFlags flags, 10691+ const gchar *name, 10692+ const gchar *object_path, 10693+ GCancellable *cancellable, 10694+ GError **error) 10695+{ 10696+ GInitable *ret; 10697+ ret = g_initable_new (GXDP_TYPE_DOCUMENTS_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-connection", connection, "g-object-path", object_path, "g-interface-name", "org.freedesktop.portal.Documents", NULL); 10698+ if (ret != NULL) 10699+ return GXDP_DOCUMENTS (ret); 10700+ else 10701+ return NULL; 10702+} 10703+ 10704+ 10705+/** 10706+ * gxdp_documents_proxy_new_for_bus: 10707+ * @bus_type: A #GBusType. 10708+ * @flags: Flags from the #GDBusProxyFlags enumeration. 10709+ * @name: A bus name (well-known or unique). 10710+ * @object_path: An object path. 10711+ * @cancellable: (nullable): A #GCancellable or %NULL. 10712+ * @callback: A #GAsyncReadyCallback to call when the request is satisfied. 10713+ * @user_data: User data to pass to @callback. 10714+ * 10715+ * Like gxdp_documents_proxy_new() but takes a #GBusType instead of a #GDBusConnection. 10716+ * 10717+ * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). 10718+ * You can then call gxdp_documents_proxy_new_for_bus_finish() to get the result of the operation. 10719+ * 10720+ * See gxdp_documents_proxy_new_for_bus_sync() for the synchronous, blocking version of this constructor. 10721+ */ 10722+void 10723+gxdp_documents_proxy_new_for_bus ( 10724+ GBusType bus_type, 10725+ GDBusProxyFlags flags, 10726+ const gchar *name, 10727+ const gchar *object_path, 10728+ GCancellable *cancellable, 10729+ GAsyncReadyCallback callback, 10730+ gpointer user_data) 10731+{ 10732+ g_async_initable_new_async (GXDP_TYPE_DOCUMENTS_PROXY, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "g-flags", flags, "g-name", name, "g-bus-type", bus_type, "g-object-path", object_path, "g-interface-name", "org.freedesktop.portal.Documents", NULL); 10733+} 10734+ 10735+/** 10736+ * gxdp_documents_proxy_new_for_bus_finish: 10737+ * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gxdp_documents_proxy_new_for_bus(). 10738+ * @error: Return location for error or %NULL 10739+ * 10740+ * Finishes an operation started with gxdp_documents_proxy_new_for_bus(). 10741+ * 10742+ * Returns: (transfer full) (type GXdpDocumentsProxy): The constructed proxy object or %NULL if @error is set. 10743+ */ 10744+GXdpDocuments * 10745+gxdp_documents_proxy_new_for_bus_finish ( 10746+ GAsyncResult *res, 10747+ GError **error) 10748+{ 10749+ GObject *ret; 10750+ GObject *source_object; 10751+ source_object = g_async_result_get_source_object (res); 10752+ ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error); 10753+ g_object_unref (source_object); 10754+ if (ret != NULL) 10755+ return GXDP_DOCUMENTS (ret); 10756+ else 10757+ return NULL; 10758+} 10759+ 10760+/** 10761+ * gxdp_documents_proxy_new_for_bus_sync: 10762+ * @bus_type: A #GBusType. 10763+ * @flags: Flags from the #GDBusProxyFlags enumeration. 10764+ * @name: A bus name (well-known or unique). 10765+ * @object_path: An object path. 10766+ * @cancellable: (nullable): A #GCancellable or %NULL. 10767+ * @error: Return location for error or %NULL 10768+ * 10769+ * Like gxdp_documents_proxy_new_sync() but takes a #GBusType instead of a #GDBusConnection. 10770+ * 10771+ * The calling thread is blocked until a reply is received. 10772+ * 10773+ * See gxdp_documents_proxy_new_for_bus() for the asynchronous version of this constructor. 10774+ * 10775+ * Returns: (transfer full) (type GXdpDocumentsProxy): The constructed proxy object or %NULL if @error is set. 10776+ */ 10777+GXdpDocuments * 10778+gxdp_documents_proxy_new_for_bus_sync ( 10779+ GBusType bus_type, 10780+ GDBusProxyFlags flags, 10781+ const gchar *name, 10782+ const gchar *object_path, 10783+ GCancellable *cancellable, 10784+ GError **error) 10785+{ 10786+ GInitable *ret; 10787+ ret = g_initable_new (GXDP_TYPE_DOCUMENTS_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-bus-type", bus_type, "g-object-path", object_path, "g-interface-name", "org.freedesktop.portal.Documents", NULL); 10788+ if (ret != NULL) 10789+ return GXDP_DOCUMENTS (ret); 10790+ else 10791+ return NULL; 10792+} 10793+ 10794+ 10795+/* ------------------------------------------------------------------------ */ 10796+ 10797+/** 10798+ * GXdpDocumentsSkeleton: 10799+ * 10800+ * The #GXdpDocumentsSkeleton structure contains only private data and should only be accessed using the provided API. 10801+ */ 10802+ 10803+/** 10804+ * GXdpDocumentsSkeletonClass: 10805+ * @parent_class: The parent class. 10806+ * 10807+ * Class structure for #GXdpDocumentsSkeleton. 10808+ */ 10809+ 10810+struct _GXdpDocumentsSkeletonPrivate 10811+{ 10812+ GValue *properties; 10813+ GList *changed_properties; 10814+ GSource *changed_properties_idle_source; 10815+ GMainContext *context; 10816+ GMutex lock; 10817+}; 10818+ 10819+static void 10820+_gxdp_documents_skeleton_handle_method_call ( 10821+ GDBusConnection *connection G_GNUC_UNUSED, 10822+ const gchar *sender G_GNUC_UNUSED, 10823+ const gchar *object_path G_GNUC_UNUSED, 10824+ const gchar *interface_name, 10825+ const gchar *method_name, 10826+ GVariant *parameters, 10827+ GDBusMethodInvocation *invocation, 10828+ gpointer user_data) 10829+{ 10830+ GXdpDocumentsSkeleton *skeleton = GXDP_DOCUMENTS_SKELETON (user_data); 10831+ _ExtendedGDBusMethodInfo *info; 10832+ GVariantIter iter; 10833+ GVariant *child; 10834+ GValue *paramv; 10835+ gsize num_params; 10836+ guint num_extra; 10837+ gsize n; 10838+ guint signal_id; 10839+ GValue return_value = G_VALUE_INIT; 10840+ info = (_ExtendedGDBusMethodInfo *) g_dbus_method_invocation_get_method_info (invocation); 10841+ g_assert (info != NULL); 10842+ num_params = g_variant_n_children (parameters); 10843+ num_extra = info->pass_fdlist ? 3 : 2; paramv = g_new0 (GValue, num_params + num_extra); 10844+ n = 0; 10845+ g_value_init (¶mv[n], GXDP_TYPE_DOCUMENTS); 10846+ g_value_set_object (¶mv[n++], skeleton); 10847+ g_value_init (¶mv[n], G_TYPE_DBUS_METHOD_INVOCATION); 10848+ g_value_set_object (¶mv[n++], invocation); 10849+ if (info->pass_fdlist) 10850+ { 10851+#ifdef G_OS_UNIX 10852+ g_value_init (¶mv[n], G_TYPE_UNIX_FD_LIST); 10853+ g_value_set_object (¶mv[n++], g_dbus_message_get_unix_fd_list (g_dbus_method_invocation_get_message (invocation))); 10854+#else 10855+ g_assert_not_reached (); 10856+#endif 10857+ } 10858+ g_variant_iter_init (&iter, parameters); 10859+ while ((child = g_variant_iter_next_value (&iter)) != NULL) 10860+ { 10861+ _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info->parent_struct.in_args[n - num_extra]; 10862+ if (arg_info->use_gvariant) 10863+ { 10864+ g_value_init (¶mv[n], G_TYPE_VARIANT); 10865+ g_value_set_variant (¶mv[n], child); 10866+ n++; 10867+ } 10868+ else 10869+ g_dbus_gvariant_to_gvalue (child, ¶mv[n++]); 10870+ g_variant_unref (child); 10871+ } 10872+ signal_id = g_signal_lookup (info->signal_name, GXDP_TYPE_DOCUMENTS); 10873+ g_value_init (&return_value, G_TYPE_BOOLEAN); 10874+ g_signal_emitv (paramv, signal_id, 0, &return_value); 10875+ if (!g_value_get_boolean (&return_value)) 10876+ g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, G_DBUS_ERROR_UNKNOWN_METHOD, "Method %s is not implemented on interface %s", method_name, interface_name); 10877+ g_value_unset (&return_value); 10878+ for (n = 0; n < num_params + num_extra; n++) 10879+ g_value_unset (¶mv[n]); 10880+ g_free (paramv); 10881+} 10882+ 10883+static GVariant * 10884+_gxdp_documents_skeleton_handle_get_property ( 10885+ GDBusConnection *connection G_GNUC_UNUSED, 10886+ const gchar *sender G_GNUC_UNUSED, 10887+ const gchar *object_path G_GNUC_UNUSED, 10888+ const gchar *interface_name G_GNUC_UNUSED, 10889+ const gchar *property_name, 10890+ GError **error, 10891+ gpointer user_data) 10892+{ 10893+ GXdpDocumentsSkeleton *skeleton = GXDP_DOCUMENTS_SKELETON (user_data); 10894+ GValue value = G_VALUE_INIT; 10895+ GParamSpec *pspec; 10896+ _ExtendedGDBusPropertyInfo *info; 10897+ GVariant *ret; 10898+ ret = NULL; 10899+ info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_gxdp_documents_interface_info.parent_struct, property_name); 10900+ g_assert (info != NULL); 10901+ pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (skeleton), info->hyphen_name); 10902+ if (pspec == NULL) 10903+ { 10904+ g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "No property with name %s", property_name); 10905+ } 10906+ else 10907+ { 10908+ g_value_init (&value, pspec->value_type); 10909+ g_object_get_property (G_OBJECT (skeleton), info->hyphen_name, &value); 10910+ ret = g_dbus_gvalue_to_gvariant (&value, G_VARIANT_TYPE (info->parent_struct.signature)); 10911+ g_value_unset (&value); 10912+ } 10913+ return ret; 10914+} 10915+ 10916+static gboolean 10917+_gxdp_documents_skeleton_handle_set_property ( 10918+ GDBusConnection *connection G_GNUC_UNUSED, 10919+ const gchar *sender G_GNUC_UNUSED, 10920+ const gchar *object_path G_GNUC_UNUSED, 10921+ const gchar *interface_name G_GNUC_UNUSED, 10922+ const gchar *property_name, 10923+ GVariant *variant, 10924+ GError **error, 10925+ gpointer user_data) 10926+{ 10927+ GXdpDocumentsSkeleton *skeleton = GXDP_DOCUMENTS_SKELETON (user_data); 10928+ GValue value = G_VALUE_INIT; 10929+ GParamSpec *pspec; 10930+ _ExtendedGDBusPropertyInfo *info; 10931+ gboolean ret; 10932+ ret = FALSE; 10933+ info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_gxdp_documents_interface_info.parent_struct, property_name); 10934+ g_assert (info != NULL); 10935+ pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (skeleton), info->hyphen_name); 10936+ if (pspec == NULL) 10937+ { 10938+ g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "No property with name %s", property_name); 10939+ } 10940+ else 10941+ { 10942+ if (info->use_gvariant) 10943+ g_value_set_variant (&value, variant); 10944+ else 10945+ g_dbus_gvariant_to_gvalue (variant, &value); 10946+ g_object_set_property (G_OBJECT (skeleton), info->hyphen_name, &value); 10947+ g_value_unset (&value); 10948+ ret = TRUE; 10949+ } 10950+ return ret; 10951+} 10952+ 10953+static const GDBusInterfaceVTable _gxdp_documents_skeleton_vtable = 10954+{ 10955+ _gxdp_documents_skeleton_handle_method_call, 10956+ _gxdp_documents_skeleton_handle_get_property, 10957+ _gxdp_documents_skeleton_handle_set_property, 10958+ {NULL} 10959+}; 10960+ 10961+static GDBusInterfaceInfo * 10962+gxdp_documents_skeleton_dbus_interface_get_info (GDBusInterfaceSkeleton *skeleton G_GNUC_UNUSED) 10963+{ 10964+ return gxdp_documents_interface_info (); 10965+} 10966+ 10967+static GDBusInterfaceVTable * 10968+gxdp_documents_skeleton_dbus_interface_get_vtable (GDBusInterfaceSkeleton *skeleton G_GNUC_UNUSED) 10969+{ 10970+ return (GDBusInterfaceVTable *) &_gxdp_documents_skeleton_vtable; 10971+} 10972+ 10973+static GVariant * 10974+gxdp_documents_skeleton_dbus_interface_get_properties (GDBusInterfaceSkeleton *_skeleton) 10975+{ 10976+ GXdpDocumentsSkeleton *skeleton = GXDP_DOCUMENTS_SKELETON (_skeleton); 10977+ 10978+ GVariantBuilder builder; 10979+ guint n; 10980+ g_variant_builder_init (&builder, G_VARIANT_TYPE ("a{sv}")); 10981+ if (_gxdp_documents_interface_info.parent_struct.properties == NULL) 10982+ goto out; 10983+ for (n = 0; _gxdp_documents_interface_info.parent_struct.properties[n] != NULL; n++) 10984+ { 10985+ GDBusPropertyInfo *info = _gxdp_documents_interface_info.parent_struct.properties[n]; 10986+ if (info->flags & G_DBUS_PROPERTY_INFO_FLAGS_READABLE) 10987+ { 10988+ GVariant *value; 10989+ value = _gxdp_documents_skeleton_handle_get_property (g_dbus_interface_skeleton_get_connection (G_DBUS_INTERFACE_SKELETON (skeleton)), NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "org.freedesktop.portal.Documents", info->name, NULL, skeleton); 10990+ if (value != NULL) 10991+ { 10992+ g_variant_take_ref (value); 10993+ g_variant_builder_add (&builder, "{sv}", info->name, value); 10994+ g_variant_unref (value); 10995+ } 10996+ } 10997+ } 10998+out: 10999+ return g_variant_builder_end (&builder); 11000+} 11001+ 11002+static gboolean _gxdp_documents_emit_changed (gpointer user_data); 11003+ 11004+static void 11005+gxdp_documents_skeleton_dbus_interface_flush (GDBusInterfaceSkeleton *_skeleton) 11006+{ 11007+ GXdpDocumentsSkeleton *skeleton = GXDP_DOCUMENTS_SKELETON (_skeleton); 11008+ gboolean emit_changed = FALSE; 11009+ 11010+ g_mutex_lock (&skeleton->priv->lock); 11011+ if (skeleton->priv->changed_properties_idle_source != NULL) 11012+ { 11013+ g_source_destroy (skeleton->priv->changed_properties_idle_source); 11014+ skeleton->priv->changed_properties_idle_source = NULL; 11015+ emit_changed = TRUE; 11016+ } 11017+ g_mutex_unlock (&skeleton->priv->lock); 11018+ 11019+ if (emit_changed) 11020+ _gxdp_documents_emit_changed (skeleton); 11021+} 11022+ 11023+static void gxdp_documents_skeleton_iface_init (GXdpDocumentsIface *iface); 11024+#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38 11025+G_DEFINE_TYPE_WITH_CODE (GXdpDocumentsSkeleton, gxdp_documents_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON, 11026+ G_ADD_PRIVATE (GXdpDocumentsSkeleton) 11027+ G_IMPLEMENT_INTERFACE (GXDP_TYPE_DOCUMENTS, gxdp_documents_skeleton_iface_init)) 11028+ 11029+#else 11030+G_DEFINE_TYPE_WITH_CODE (GXdpDocumentsSkeleton, gxdp_documents_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON, 11031+ G_IMPLEMENT_INTERFACE (GXDP_TYPE_DOCUMENTS, gxdp_documents_skeleton_iface_init)) 11032+ 11033+#endif 11034+static void 11035+gxdp_documents_skeleton_finalize (GObject *object) 11036+{ 11037+ GXdpDocumentsSkeleton *skeleton = GXDP_DOCUMENTS_SKELETON (object); 11038+ guint n; 11039+ for (n = 0; n < 1; n++) 11040+ g_value_unset (&skeleton->priv->properties[n]); 11041+ g_free (skeleton->priv->properties); 11042+ g_list_free_full (skeleton->priv->changed_properties, (GDestroyNotify) _changed_property_free); 11043+ if (skeleton->priv->changed_properties_idle_source != NULL) 11044+ g_source_destroy (skeleton->priv->changed_properties_idle_source); 11045+ g_main_context_unref (skeleton->priv->context); 11046+ g_mutex_clear (&skeleton->priv->lock); 11047+ G_OBJECT_CLASS (gxdp_documents_skeleton_parent_class)->finalize (object); 11048+} 11049+ 11050+static void 11051+gxdp_documents_skeleton_get_property (GObject *object, 11052+ guint prop_id, 11053+ GValue *value, 11054+ GParamSpec *pspec G_GNUC_UNUSED) 11055+{ 11056+ GXdpDocumentsSkeleton *skeleton = GXDP_DOCUMENTS_SKELETON (object); 11057+ g_assert (prop_id != 0 && prop_id - 1 < 1); 11058+ g_mutex_lock (&skeleton->priv->lock); 11059+ g_value_copy (&skeleton->priv->properties[prop_id - 1], value); 11060+ g_mutex_unlock (&skeleton->priv->lock); 11061+} 11062+ 11063+static gboolean 11064+_gxdp_documents_emit_changed (gpointer user_data) 11065+{ 11066+ GXdpDocumentsSkeleton *skeleton = GXDP_DOCUMENTS_SKELETON (user_data); 11067+ GList *l; 11068+ GVariantBuilder builder; 11069+ GVariantBuilder invalidated_builder; 11070+ guint num_changes; 11071+ 11072+ g_mutex_lock (&skeleton->priv->lock); 11073+ g_variant_builder_init (&builder, G_VARIANT_TYPE ("a{sv}")); 11074+ g_variant_builder_init (&invalidated_builder, G_VARIANT_TYPE ("as")); 11075+ for (l = skeleton->priv->changed_properties, num_changes = 0; l != NULL; l = l->next) 11076+ { 11077+ ChangedProperty *cp = l->data; 11078+ GVariant *variant; 11079+ const GValue *cur_value; 11080+ 11081+ cur_value = &skeleton->priv->properties[cp->prop_id - 1]; 11082+ if (!_g_value_equal (cur_value, &cp->orig_value)) 11083+ { 11084+ variant = g_dbus_gvalue_to_gvariant (cur_value, G_VARIANT_TYPE (cp->info->parent_struct.signature)); 11085+ g_variant_builder_add (&builder, "{sv}", cp->info->parent_struct.name, variant); 11086+ g_variant_unref (variant); 11087+ num_changes++; 11088+ } 11089+ } 11090+ if (num_changes > 0) 11091+ { 11092+ GList *connections, *ll; 11093+ GVariant *signal_variant; 11094+ signal_variant = g_variant_ref_sink (g_variant_new ("(sa{sv}as)", "org.freedesktop.portal.Documents", 11095+ &builder, &invalidated_builder)); 11096+ connections = g_dbus_interface_skeleton_get_connections (G_DBUS_INTERFACE_SKELETON (skeleton)); 11097+ for (ll = connections; ll != NULL; ll = ll->next) 11098+ { 11099+ GDBusConnection *connection = ll->data; 11100+ 11101+ g_dbus_connection_emit_signal (connection, 11102+ NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), 11103+ "org.freedesktop.DBus.Properties", 11104+ "PropertiesChanged", 11105+ signal_variant, 11106+ NULL); 11107+ } 11108+ g_variant_unref (signal_variant); 11109+ g_list_free_full (connections, g_object_unref); 11110+ } 11111+ else 11112+ { 11113+ g_variant_builder_clear (&builder); 11114+ g_variant_builder_clear (&invalidated_builder); 11115+ } 11116+ g_list_free_full (skeleton->priv->changed_properties, (GDestroyNotify) _changed_property_free); 11117+ skeleton->priv->changed_properties = NULL; 11118+ skeleton->priv->changed_properties_idle_source = NULL; 11119+ g_mutex_unlock (&skeleton->priv->lock); 11120+ return FALSE; 11121+} 11122+ 11123+static void 11124+_gxdp_documents_schedule_emit_changed (GXdpDocumentsSkeleton *skeleton, const _ExtendedGDBusPropertyInfo *info, guint prop_id, const GValue *orig_value) 11125+{ 11126+ ChangedProperty *cp; 11127+ GList *l; 11128+ cp = NULL; 11129+ for (l = skeleton->priv->changed_properties; l != NULL; l = l->next) 11130+ { 11131+ ChangedProperty *i_cp = l->data; 11132+ if (i_cp->info == info) 11133+ { 11134+ cp = i_cp; 11135+ break; 11136+ } 11137+ } 11138+ if (cp == NULL) 11139+ { 11140+ cp = g_new0 (ChangedProperty, 1); 11141+ cp->prop_id = prop_id; 11142+ cp->info = info; 11143+ skeleton->priv->changed_properties = g_list_prepend (skeleton->priv->changed_properties, cp); 11144+ g_value_init (&cp->orig_value, G_VALUE_TYPE (orig_value)); 11145+ g_value_copy (orig_value, &cp->orig_value); 11146+ } 11147+} 11148+ 11149+static void 11150+gxdp_documents_skeleton_notify (GObject *object, 11151+ GParamSpec *pspec G_GNUC_UNUSED) 11152+{ 11153+ GXdpDocumentsSkeleton *skeleton = GXDP_DOCUMENTS_SKELETON (object); 11154+ g_mutex_lock (&skeleton->priv->lock); 11155+ if (skeleton->priv->changed_properties != NULL && 11156+ skeleton->priv->changed_properties_idle_source == NULL) 11157+ { 11158+ skeleton->priv->changed_properties_idle_source = g_idle_source_new (); 11159+ g_source_set_priority (skeleton->priv->changed_properties_idle_source, G_PRIORITY_DEFAULT); 11160+ g_source_set_callback (skeleton->priv->changed_properties_idle_source, _gxdp_documents_emit_changed, g_object_ref (skeleton), (GDestroyNotify) g_object_unref); 11161+ g_source_set_name (skeleton->priv->changed_properties_idle_source, "[generated] _gxdp_documents_emit_changed"); 11162+ g_source_attach (skeleton->priv->changed_properties_idle_source, skeleton->priv->context); 11163+ g_source_unref (skeleton->priv->changed_properties_idle_source); 11164+ } 11165+ g_mutex_unlock (&skeleton->priv->lock); 11166+} 11167+ 11168+static void 11169+gxdp_documents_skeleton_set_property (GObject *object, 11170+ guint prop_id, 11171+ const GValue *value, 11172+ GParamSpec *pspec) 11173+{ 11174+ const _ExtendedGDBusPropertyInfo *info; 11175+ GXdpDocumentsSkeleton *skeleton = GXDP_DOCUMENTS_SKELETON (object); 11176+ g_assert (prop_id != 0 && prop_id - 1 < 1); 11177+ info = (const _ExtendedGDBusPropertyInfo *) _gxdp_documents_property_info_pointers[prop_id - 1]; 11178+ g_mutex_lock (&skeleton->priv->lock); 11179+ g_object_freeze_notify (object); 11180+ if (!_g_value_equal (value, &skeleton->priv->properties[prop_id - 1])) 11181+ { 11182+ if (g_dbus_interface_skeleton_get_connection (G_DBUS_INTERFACE_SKELETON (skeleton)) != NULL && 11183+ info->emits_changed_signal) 11184+ _gxdp_documents_schedule_emit_changed (skeleton, info, prop_id, &skeleton->priv->properties[prop_id - 1]); 11185+ g_value_copy (value, &skeleton->priv->properties[prop_id - 1]); 11186+ g_object_notify_by_pspec (object, pspec); 11187+ } 11188+ g_mutex_unlock (&skeleton->priv->lock); 11189+ g_object_thaw_notify (object); 11190+} 11191+ 11192+static void 11193+gxdp_documents_skeleton_init (GXdpDocumentsSkeleton *skeleton) 11194+{ 11195+#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38 11196+ skeleton->priv = gxdp_documents_skeleton_get_instance_private (skeleton); 11197+#else 11198+ skeleton->priv = G_TYPE_INSTANCE_GET_PRIVATE (skeleton, GXDP_TYPE_DOCUMENTS_SKELETON, GXdpDocumentsSkeletonPrivate); 11199+#endif 11200+ 11201+ g_mutex_init (&skeleton->priv->lock); 11202+ skeleton->priv->context = g_main_context_ref_thread_default (); 11203+ skeleton->priv->properties = g_new0 (GValue, 1); 11204+ g_value_init (&skeleton->priv->properties[0], G_TYPE_UINT); 11205+} 11206+ 11207+static guint 11208+gxdp_documents_skeleton_get_version (GXdpDocuments *object) 11209+{ 11210+ GXdpDocumentsSkeleton *skeleton = GXDP_DOCUMENTS_SKELETON (object); 11211+ guint value; 11212+ g_mutex_lock (&skeleton->priv->lock); 11213+ value = g_value_get_uint (&(skeleton->priv->properties[0])); 11214+ g_mutex_unlock (&skeleton->priv->lock); 11215+ return value; 11216+} 11217+ 11218+static void 11219+gxdp_documents_skeleton_class_init (GXdpDocumentsSkeletonClass *klass) 11220+{ 11221+ GObjectClass *gobject_class; 11222+ GDBusInterfaceSkeletonClass *skeleton_class; 11223+ 11224+ gobject_class = G_OBJECT_CLASS (klass); 11225+ gobject_class->finalize = gxdp_documents_skeleton_finalize; 11226+ gobject_class->get_property = gxdp_documents_skeleton_get_property; 11227+ gobject_class->set_property = gxdp_documents_skeleton_set_property; 11228+ gobject_class->notify = gxdp_documents_skeleton_notify; 11229+ 11230+ 11231+ gxdp_documents_override_properties (gobject_class, 1); 11232+ 11233+ skeleton_class = G_DBUS_INTERFACE_SKELETON_CLASS (klass); 11234+ skeleton_class->get_info = gxdp_documents_skeleton_dbus_interface_get_info; 11235+ skeleton_class->get_properties = gxdp_documents_skeleton_dbus_interface_get_properties; 11236+ skeleton_class->flush = gxdp_documents_skeleton_dbus_interface_flush; 11237+ skeleton_class->get_vtable = gxdp_documents_skeleton_dbus_interface_get_vtable; 11238+ 11239+#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_38 11240+ g_type_class_add_private (klass, sizeof (GXdpDocumentsSkeletonPrivate)); 11241+#endif 11242+} 11243+ 11244+static void 11245+gxdp_documents_skeleton_iface_init (GXdpDocumentsIface *iface) 11246+{ 11247+ iface->get_version = gxdp_documents_skeleton_get_version; 11248+} 11249+ 11250+/** 11251+ * gxdp_documents_skeleton_new: 11252+ * 11253+ * Creates a skeleton object for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-portal-Documents.top_of_page">org.freedesktop.portal.Documents</link>. 11254+ * 11255+ * Returns: (transfer full) (type GXdpDocumentsSkeleton): The skeleton object. 11256+ */ 11257+GXdpDocuments * 11258+gxdp_documents_skeleton_new (void) 11259+{ 11260+ return GXDP_DOCUMENTS (g_object_new (GXDP_TYPE_DOCUMENTS_SKELETON, NULL)); 11261+} 11262+ 11263+/* ------------------------------------------------------------------------ 11264+ * Code for interface org.freedesktop.portal.OpenURI 11265+ * ------------------------------------------------------------------------ 11266+ */ 11267+ 11268+/** 11269+ * SECTION:GXdpOpenURI 11270+ * @title: GXdpOpenURI 11271+ * @short_description: Generated C code for the org.freedesktop.portal.OpenURI D-Bus interface 11272+ * 11273+ * This section contains code for working with the <link linkend="gdbus-interface-org-freedesktop-portal-OpenURI.top_of_page">org.freedesktop.portal.OpenURI</link> D-Bus interface in C. 11274+ */ 11275+ 11276+/* ---- Introspection data for org.freedesktop.portal.OpenURI ---- */ 11277+ 11278+static const _ExtendedGDBusArgInfo _gxdp_open_uri_method_info_open_uri_IN_ARG_parent_window = 11279+{ 11280+ { 11281+ -1, 11282+ (gchar *) "parent_window", 11283+ (gchar *) "s", 11284+ NULL 11285+ }, 11286+ FALSE 11287+}; 11288+ 11289+static const _ExtendedGDBusArgInfo _gxdp_open_uri_method_info_open_uri_IN_ARG_uri = 11290+{ 11291+ { 11292+ -1, 11293+ (gchar *) "uri", 11294+ (gchar *) "s", 11295+ NULL 11296+ }, 11297+ FALSE 11298+}; 11299+ 11300+static const _ExtendedGDBusArgInfo _gxdp_open_uri_method_info_open_uri_IN_ARG_options = 11301+{ 11302+ { 11303+ -1, 11304+ (gchar *) "options", 11305+ (gchar *) "a{sv}", 11306+ NULL 11307+ }, 11308+ FALSE 11309+}; 11310+ 11311+static const GDBusArgInfo * const _gxdp_open_uri_method_info_open_uri_IN_ARG_pointers[] = 11312+{ 11313+ &_gxdp_open_uri_method_info_open_uri_IN_ARG_parent_window.parent_struct, 11314+ &_gxdp_open_uri_method_info_open_uri_IN_ARG_uri.parent_struct, 11315+ &_gxdp_open_uri_method_info_open_uri_IN_ARG_options.parent_struct, 11316+ NULL 11317+}; 11318+ 11319+static const _ExtendedGDBusArgInfo _gxdp_open_uri_method_info_open_uri_OUT_ARG_handle = 11320+{ 11321+ { 11322+ -1, 11323+ (gchar *) "handle", 11324+ (gchar *) "o", 11325+ NULL 11326+ }, 11327+ FALSE 11328+}; 11329+ 11330+static const GDBusArgInfo * const _gxdp_open_uri_method_info_open_uri_OUT_ARG_pointers[] = 11331+{ 11332+ &_gxdp_open_uri_method_info_open_uri_OUT_ARG_handle.parent_struct, 11333+ NULL 11334+}; 11335+ 11336+static const _ExtendedGDBusMethodInfo _gxdp_open_uri_method_info_open_uri = 11337+{ 11338+ { 11339+ -1, 11340+ (gchar *) "OpenURI", 11341+ (GDBusArgInfo **) &_gxdp_open_uri_method_info_open_uri_IN_ARG_pointers, 11342+ (GDBusArgInfo **) &_gxdp_open_uri_method_info_open_uri_OUT_ARG_pointers, 11343+ NULL 11344+ }, 11345+ "handle-open-uri", 11346+ FALSE 11347+}; 11348+ 11349+static const _ExtendedGDBusArgInfo _gxdp_open_uri_method_info_open_file_IN_ARG_parent_window = 11350+{ 11351+ { 11352+ -1, 11353+ (gchar *) "parent_window", 11354+ (gchar *) "s", 11355+ NULL 11356+ }, 11357+ FALSE 11358+}; 11359+ 11360+static const _ExtendedGDBusArgInfo _gxdp_open_uri_method_info_open_file_IN_ARG_fd = 11361+{ 11362+ { 11363+ -1, 11364+ (gchar *) "fd", 11365+ (gchar *) "h", 11366+ NULL 11367+ }, 11368+ FALSE 11369+}; 11370+ 11371+static const _ExtendedGDBusArgInfo _gxdp_open_uri_method_info_open_file_IN_ARG_options = 11372+{ 11373+ { 11374+ -1, 11375+ (gchar *) "options", 11376+ (gchar *) "a{sv}", 11377+ NULL 11378+ }, 11379+ FALSE 11380+}; 11381+ 11382+static const GDBusArgInfo * const _gxdp_open_uri_method_info_open_file_IN_ARG_pointers[] = 11383+{ 11384+ &_gxdp_open_uri_method_info_open_file_IN_ARG_parent_window.parent_struct, 11385+ &_gxdp_open_uri_method_info_open_file_IN_ARG_fd.parent_struct, 11386+ &_gxdp_open_uri_method_info_open_file_IN_ARG_options.parent_struct, 11387+ NULL 11388+}; 11389+ 11390+static const _ExtendedGDBusArgInfo _gxdp_open_uri_method_info_open_file_OUT_ARG_handle = 11391+{ 11392+ { 11393+ -1, 11394+ (gchar *) "handle", 11395+ (gchar *) "o", 11396+ NULL 11397+ }, 11398+ FALSE 11399+}; 11400+ 11401+static const GDBusArgInfo * const _gxdp_open_uri_method_info_open_file_OUT_ARG_pointers[] = 11402+{ 11403+ &_gxdp_open_uri_method_info_open_file_OUT_ARG_handle.parent_struct, 11404+ NULL 11405+}; 11406+ 11407+static const _ExtendedGDBusMethodInfo _gxdp_open_uri_method_info_open_file = 11408+{ 11409+ { 11410+ -1, 11411+ (gchar *) "OpenFile", 11412+ (GDBusArgInfo **) &_gxdp_open_uri_method_info_open_file_IN_ARG_pointers, 11413+ (GDBusArgInfo **) &_gxdp_open_uri_method_info_open_file_OUT_ARG_pointers, 11414+ NULL 11415+ }, 11416+ "handle-open-file", 11417+ TRUE 11418+}; 11419+ 11420+static const _ExtendedGDBusArgInfo _gxdp_open_uri_method_info_open_directory_IN_ARG_parent_window = 11421+{ 11422+ { 11423+ -1, 11424+ (gchar *) "parent_window", 11425+ (gchar *) "s", 11426+ NULL 11427+ }, 11428+ FALSE 11429+}; 11430+ 11431+static const _ExtendedGDBusArgInfo _gxdp_open_uri_method_info_open_directory_IN_ARG_fd = 11432+{ 11433+ { 11434+ -1, 11435+ (gchar *) "fd", 11436+ (gchar *) "h", 11437+ NULL 11438+ }, 11439+ FALSE 11440+}; 11441+ 11442+static const _ExtendedGDBusArgInfo _gxdp_open_uri_method_info_open_directory_IN_ARG_options = 11443+{ 11444+ { 11445+ -1, 11446+ (gchar *) "options", 11447+ (gchar *) "a{sv}", 11448+ NULL 11449+ }, 11450+ FALSE 11451+}; 11452+ 11453+static const GDBusArgInfo * const _gxdp_open_uri_method_info_open_directory_IN_ARG_pointers[] = 11454+{ 11455+ &_gxdp_open_uri_method_info_open_directory_IN_ARG_parent_window.parent_struct, 11456+ &_gxdp_open_uri_method_info_open_directory_IN_ARG_fd.parent_struct, 11457+ &_gxdp_open_uri_method_info_open_directory_IN_ARG_options.parent_struct, 11458+ NULL 11459+}; 11460+ 11461+static const _ExtendedGDBusArgInfo _gxdp_open_uri_method_info_open_directory_OUT_ARG_handle = 11462+{ 11463+ { 11464+ -1, 11465+ (gchar *) "handle", 11466+ (gchar *) "o", 11467+ NULL 11468+ }, 11469+ FALSE 11470+}; 11471+ 11472+static const GDBusArgInfo * const _gxdp_open_uri_method_info_open_directory_OUT_ARG_pointers[] = 11473+{ 11474+ &_gxdp_open_uri_method_info_open_directory_OUT_ARG_handle.parent_struct, 11475+ NULL 11476+}; 11477+ 11478+static const _ExtendedGDBusMethodInfo _gxdp_open_uri_method_info_open_directory = 11479+{ 11480+ { 11481+ -1, 11482+ (gchar *) "OpenDirectory", 11483+ (GDBusArgInfo **) &_gxdp_open_uri_method_info_open_directory_IN_ARG_pointers, 11484+ (GDBusArgInfo **) &_gxdp_open_uri_method_info_open_directory_OUT_ARG_pointers, 11485+ NULL 11486+ }, 11487+ "handle-open-directory", 11488+ TRUE 11489+}; 11490+ 11491+static const GDBusMethodInfo * const _gxdp_open_uri_method_info_pointers[] = 11492+{ 11493+ &_gxdp_open_uri_method_info_open_uri.parent_struct, 11494+ &_gxdp_open_uri_method_info_open_file.parent_struct, 11495+ &_gxdp_open_uri_method_info_open_directory.parent_struct, 11496+ NULL 11497+}; 11498+ 11499+static const _ExtendedGDBusPropertyInfo _gxdp_open_uri_property_info_version = 11500+{ 11501+ { 11502+ -1, 11503+ (gchar *) "version", 11504+ (gchar *) "u", 11505+ G_DBUS_PROPERTY_INFO_FLAGS_READABLE, 11506+ NULL 11507+ }, 11508+ "version", 11509+ FALSE, 11510+ TRUE 11511+}; 11512+ 11513+static const GDBusPropertyInfo * const _gxdp_open_uri_property_info_pointers[] = 11514+{ 11515+ &_gxdp_open_uri_property_info_version.parent_struct, 11516+ NULL 11517+}; 11518+ 11519+static const _ExtendedGDBusInterfaceInfo _gxdp_open_uri_interface_info = 11520+{ 11521+ { 11522+ -1, 11523+ (gchar *) "org.freedesktop.portal.OpenURI", 11524+ (GDBusMethodInfo **) &_gxdp_open_uri_method_info_pointers, 11525+ NULL, 11526+ (GDBusPropertyInfo **) &_gxdp_open_uri_property_info_pointers, 11527+ NULL 11528+ }, 11529+ "open-uri", 11530+}; 11531+ 11532+ 11533+/** 11534+ * gxdp_open_uri_interface_info: 11535+ * 11536+ * Gets a machine-readable description of the <link linkend="gdbus-interface-org-freedesktop-portal-OpenURI.top_of_page">org.freedesktop.portal.OpenURI</link> D-Bus interface. 11537+ * 11538+ * Returns: (transfer none): A #GDBusInterfaceInfo. Do not free. 11539+ */ 11540+GDBusInterfaceInfo * 11541+gxdp_open_uri_interface_info (void) 11542+{ 11543+ return (GDBusInterfaceInfo *) &_gxdp_open_uri_interface_info.parent_struct; 11544+} 11545+ 11546+/** 11547+ * gxdp_open_uri_override_properties: 11548+ * @klass: The class structure for a #GObject derived class. 11549+ * @property_id_begin: The property id to assign to the first overridden property. 11550+ * 11551+ * Overrides all #GObject properties in the #GXdpOpenURI interface for a concrete class. 11552+ * The properties are overridden in the order they are defined. 11553+ * 11554+ * Returns: The last property id. 11555+ */ 11556+guint 11557+gxdp_open_uri_override_properties (GObjectClass *klass, guint property_id_begin) 11558+{ 11559+ g_object_class_override_property (klass, property_id_begin++, "version"); 11560+ return property_id_begin - 1; 11561+} 11562+ 11563+ 11564+ 11565+/** 11566+ * GXdpOpenURI: 11567+ * 11568+ * Abstract interface type for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-portal-OpenURI.top_of_page">org.freedesktop.portal.OpenURI</link>. 11569+ */ 11570+ 11571+/** 11572+ * GXdpOpenURIIface: 11573+ * @parent_iface: The parent interface. 11574+ * @handle_open_directory: Handler for the #GXdpOpenURI::handle-open-directory signal. 11575+ * @handle_open_file: Handler for the #GXdpOpenURI::handle-open-file signal. 11576+ * @handle_open_uri: Handler for the #GXdpOpenURI::handle-open-uri signal. 11577+ * @get_version: Getter for the #GXdpOpenURI:version property. 11578+ * 11579+ * Virtual table for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-portal-OpenURI.top_of_page">org.freedesktop.portal.OpenURI</link>. 11580+ */ 11581+ 11582+typedef GXdpOpenURIIface GXdpOpenURIInterface; 11583+G_DEFINE_INTERFACE (GXdpOpenURI, gxdp_open_uri, G_TYPE_OBJECT) 11584+ 11585+static void 11586+gxdp_open_uri_default_init (GXdpOpenURIIface *iface) 11587+{ 11588+ /* GObject signals for incoming D-Bus method calls: */ 11589+ /** 11590+ * GXdpOpenURI::handle-open-uri: 11591+ * @object: A #GXdpOpenURI. 11592+ * @invocation: A #GDBusMethodInvocation. 11593+ * @arg_parent_window: Argument passed by remote caller. 11594+ * @arg_uri: Argument passed by remote caller. 11595+ * @arg_options: Argument passed by remote caller. 11596+ * 11597+ * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-portal-OpenURI.OpenURI">OpenURI()</link> D-Bus method. 11598+ * 11599+ * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call gxdp_open_uri_complete_open_uri() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. 11600+ * 11601+ * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run. 11602+ */ 11603+ g_signal_new ("handle-open-uri", 11604+ G_TYPE_FROM_INTERFACE (iface), 11605+ G_SIGNAL_RUN_LAST, 11606+ G_STRUCT_OFFSET (GXdpOpenURIIface, handle_open_uri), 11607+ g_signal_accumulator_true_handled, 11608+ NULL, 11609+ g_cclosure_marshal_generic, 11610+ G_TYPE_BOOLEAN, 11611+ 4, 11612+ G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_VARIANT); 11613+ 11614+ /** 11615+ * GXdpOpenURI::handle-open-file: 11616+ * @object: A #GXdpOpenURI. 11617+ * @invocation: A #GDBusMethodInvocation. 11618+ * @fd_list: (nullable): A #GUnixFDList or %NULL. 11619+ * @arg_parent_window: Argument passed by remote caller. 11620+ * @arg_fd: Argument passed by remote caller. 11621+ * @arg_options: Argument passed by remote caller. 11622+ * 11623+ * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-portal-OpenURI.OpenFile">OpenFile()</link> D-Bus method. 11624+ * 11625+ * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call gxdp_open_uri_complete_open_file() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. 11626+ * 11627+ * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run. 11628+ */ 11629+ g_signal_new ("handle-open-file", 11630+ G_TYPE_FROM_INTERFACE (iface), 11631+ G_SIGNAL_RUN_LAST, 11632+ G_STRUCT_OFFSET (GXdpOpenURIIface, handle_open_file), 11633+ g_signal_accumulator_true_handled, 11634+ NULL, 11635+ g_cclosure_marshal_generic, 11636+ G_TYPE_BOOLEAN, 11637+ 5, 11638+ G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_UNIX_FD_LIST, G_TYPE_STRING, G_TYPE_VARIANT, G_TYPE_VARIANT); 11639+ 11640+ /** 11641+ * GXdpOpenURI::handle-open-directory: 11642+ * @object: A #GXdpOpenURI. 11643+ * @invocation: A #GDBusMethodInvocation. 11644+ * @fd_list: (nullable): A #GUnixFDList or %NULL. 11645+ * @arg_parent_window: Argument passed by remote caller. 11646+ * @arg_fd: Argument passed by remote caller. 11647+ * @arg_options: Argument passed by remote caller. 11648+ * 11649+ * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-portal-OpenURI.OpenDirectory">OpenDirectory()</link> D-Bus method. 11650+ * 11651+ * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call gxdp_open_uri_complete_open_directory() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. 11652+ * 11653+ * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run. 11654+ */ 11655+ g_signal_new ("handle-open-directory", 11656+ G_TYPE_FROM_INTERFACE (iface), 11657+ G_SIGNAL_RUN_LAST, 11658+ G_STRUCT_OFFSET (GXdpOpenURIIface, handle_open_directory), 11659+ g_signal_accumulator_true_handled, 11660+ NULL, 11661+ g_cclosure_marshal_generic, 11662+ G_TYPE_BOOLEAN, 11663+ 5, 11664+ G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_UNIX_FD_LIST, G_TYPE_STRING, G_TYPE_VARIANT, G_TYPE_VARIANT); 11665+ 11666+ /* GObject properties for D-Bus properties: */ 11667+ /** 11668+ * GXdpOpenURI:version: 11669+ * 11670+ * Represents the D-Bus property <link linkend="gdbus-property-org-freedesktop-portal-OpenURI.version">"version"</link>. 11671+ * 11672+ * Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side. 11673+ */ 11674+ g_object_interface_install_property (iface, 11675+ g_param_spec_uint ("version", "version", "version", 0, G_MAXUINT32, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); 11676+} 11677+ 11678+/** 11679+ * gxdp_open_uri_get_version: (skip) 11680+ * @object: A #GXdpOpenURI. 11681+ * 11682+ * Gets the value of the <link linkend="gdbus-property-org-freedesktop-portal-OpenURI.version">"version"</link> D-Bus property. 11683+ * 11684+ * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side. 11685+ * 11686+ * Returns: The property value. 11687+ */ 11688+guint 11689+gxdp_open_uri_get_version (GXdpOpenURI *object) 11690+{ 11691+ return GXDP_OPEN_URI_GET_IFACE (object)->get_version (object); 11692+} 11693+ 11694+/** 11695+ * gxdp_open_uri_set_version: (skip) 11696+ * @object: A #GXdpOpenURI. 11697+ * @value: The value to set. 11698+ * 11699+ * Sets the <link linkend="gdbus-property-org-freedesktop-portal-OpenURI.version">"version"</link> D-Bus property to @value. 11700+ * 11701+ * Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side. 11702+ */ 11703+void 11704+gxdp_open_uri_set_version (GXdpOpenURI *object, guint value) 11705+{ 11706+ g_object_set (G_OBJECT (object), "version", value, NULL); 11707+} 11708+ 11709+/** 11710+ * gxdp_open_uri_call_open_uri: 11711+ * @proxy: A #GXdpOpenURIProxy. 11712+ * @arg_parent_window: Argument to pass with the method invocation. 11713+ * @arg_uri: Argument to pass with the method invocation. 11714+ * @arg_options: Argument to pass with the method invocation. 11715+ * @cancellable: (nullable): A #GCancellable or %NULL. 11716+ * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. 11717+ * @user_data: User data to pass to @callback. 11718+ * 11719+ * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-portal-OpenURI.OpenURI">OpenURI()</link> D-Bus method on @proxy. 11720+ * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). 11721+ * You can then call gxdp_open_uri_call_open_uri_finish() to get the result of the operation. 11722+ * 11723+ * See gxdp_open_uri_call_open_uri_sync() for the synchronous, blocking version of this method. 11724+ */ 11725+void 11726+gxdp_open_uri_call_open_uri ( 11727+ GXdpOpenURI *proxy, 11728+ const gchar *arg_parent_window, 11729+ const gchar *arg_uri, 11730+ GVariant *arg_options, 11731+ GCancellable *cancellable, 11732+ GAsyncReadyCallback callback, 11733+ gpointer user_data) 11734+{ 11735+ g_dbus_proxy_call (G_DBUS_PROXY (proxy), 11736+ "OpenURI", 11737+ g_variant_new ("(ss@a{sv})", 11738+ arg_parent_window, 11739+ arg_uri, 11740+ arg_options), 11741+ G_DBUS_CALL_FLAGS_NONE, 11742+ -1, 11743+ cancellable, 11744+ callback, 11745+ user_data); 11746+} 11747+ 11748+/** 11749+ * gxdp_open_uri_call_open_uri_finish: 11750+ * @proxy: A #GXdpOpenURIProxy. 11751+ * @out_handle: (out) (optional): Return location for return parameter or %NULL to ignore. 11752+ * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gxdp_open_uri_call_open_uri(). 11753+ * @error: Return location for error or %NULL. 11754+ * 11755+ * Finishes an operation started with gxdp_open_uri_call_open_uri(). 11756+ * 11757+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 11758+ */ 11759+gboolean 11760+gxdp_open_uri_call_open_uri_finish ( 11761+ GXdpOpenURI *proxy, 11762+ gchar **out_handle, 11763+ GAsyncResult *res, 11764+ GError **error) 11765+{ 11766+ GVariant *_ret; 11767+ _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error); 11768+ if (_ret == NULL) 11769+ goto _out; 11770+ g_variant_get (_ret, 11771+ "(o)", 11772+ out_handle); 11773+ g_variant_unref (_ret); 11774+_out: 11775+ return _ret != NULL; 11776+} 11777+ 11778+/** 11779+ * gxdp_open_uri_call_open_uri_sync: 11780+ * @proxy: A #GXdpOpenURIProxy. 11781+ * @arg_parent_window: Argument to pass with the method invocation. 11782+ * @arg_uri: Argument to pass with the method invocation. 11783+ * @arg_options: Argument to pass with the method invocation. 11784+ * @out_handle: (out) (optional): Return location for return parameter or %NULL to ignore. 11785+ * @cancellable: (nullable): A #GCancellable or %NULL. 11786+ * @error: Return location for error or %NULL. 11787+ * 11788+ * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-portal-OpenURI.OpenURI">OpenURI()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received. 11789+ * 11790+ * See gxdp_open_uri_call_open_uri() for the asynchronous version of this method. 11791+ * 11792+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 11793+ */ 11794+gboolean 11795+gxdp_open_uri_call_open_uri_sync ( 11796+ GXdpOpenURI *proxy, 11797+ const gchar *arg_parent_window, 11798+ const gchar *arg_uri, 11799+ GVariant *arg_options, 11800+ gchar **out_handle, 11801+ GCancellable *cancellable, 11802+ GError **error) 11803+{ 11804+ GVariant *_ret; 11805+ _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy), 11806+ "OpenURI", 11807+ g_variant_new ("(ss@a{sv})", 11808+ arg_parent_window, 11809+ arg_uri, 11810+ arg_options), 11811+ G_DBUS_CALL_FLAGS_NONE, 11812+ -1, 11813+ cancellable, 11814+ error); 11815+ if (_ret == NULL) 11816+ goto _out; 11817+ g_variant_get (_ret, 11818+ "(o)", 11819+ out_handle); 11820+ g_variant_unref (_ret); 11821+_out: 11822+ return _ret != NULL; 11823+} 11824+ 11825+/** 11826+ * gxdp_open_uri_call_open_file: 11827+ * @proxy: A #GXdpOpenURIProxy. 11828+ * @arg_parent_window: Argument to pass with the method invocation. 11829+ * @arg_fd: Argument to pass with the method invocation. 11830+ * @arg_options: Argument to pass with the method invocation. 11831+ * @fd_list: (nullable): A #GUnixFDList or %NULL. 11832+ * @cancellable: (nullable): A #GCancellable or %NULL. 11833+ * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. 11834+ * @user_data: User data to pass to @callback. 11835+ * 11836+ * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-portal-OpenURI.OpenFile">OpenFile()</link> D-Bus method on @proxy. 11837+ * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). 11838+ * You can then call gxdp_open_uri_call_open_file_finish() to get the result of the operation. 11839+ * 11840+ * See gxdp_open_uri_call_open_file_sync() for the synchronous, blocking version of this method. 11841+ */ 11842+void 11843+gxdp_open_uri_call_open_file ( 11844+ GXdpOpenURI *proxy, 11845+ const gchar *arg_parent_window, 11846+ GVariant *arg_fd, 11847+ GVariant *arg_options, 11848+ GUnixFDList *fd_list, 11849+ GCancellable *cancellable, 11850+ GAsyncReadyCallback callback, 11851+ gpointer user_data) 11852+{ 11853+ g_dbus_proxy_call_with_unix_fd_list (G_DBUS_PROXY (proxy), 11854+ "OpenFile", 11855+ g_variant_new ("(s@h@a{sv})", 11856+ arg_parent_window, 11857+ arg_fd, 11858+ arg_options), 11859+ G_DBUS_CALL_FLAGS_NONE, 11860+ -1, 11861+ fd_list, 11862+ cancellable, 11863+ callback, 11864+ user_data); 11865+} 11866+ 11867+/** 11868+ * gxdp_open_uri_call_open_file_finish: 11869+ * @proxy: A #GXdpOpenURIProxy. 11870+ * @out_handle: (out) (optional): Return location for return parameter or %NULL to ignore. 11871+ * @out_fd_list: (out) (optional): Return location for a #GUnixFDList or %NULL to ignore. 11872+ * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gxdp_open_uri_call_open_file(). 11873+ * @error: Return location for error or %NULL. 11874+ * 11875+ * Finishes an operation started with gxdp_open_uri_call_open_file(). 11876+ * 11877+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 11878+ */ 11879+gboolean 11880+gxdp_open_uri_call_open_file_finish ( 11881+ GXdpOpenURI *proxy, 11882+ gchar **out_handle, 11883+ GUnixFDList **out_fd_list, 11884+ GAsyncResult *res, 11885+ GError **error) 11886+{ 11887+ GVariant *_ret; 11888+ _ret = g_dbus_proxy_call_with_unix_fd_list_finish (G_DBUS_PROXY (proxy), out_fd_list, res, error); 11889+ if (_ret == NULL) 11890+ goto _out; 11891+ g_variant_get (_ret, 11892+ "(o)", 11893+ out_handle); 11894+ g_variant_unref (_ret); 11895+_out: 11896+ return _ret != NULL; 11897+} 11898+ 11899+/** 11900+ * gxdp_open_uri_call_open_file_sync: 11901+ * @proxy: A #GXdpOpenURIProxy. 11902+ * @arg_parent_window: Argument to pass with the method invocation. 11903+ * @arg_fd: Argument to pass with the method invocation. 11904+ * @arg_options: Argument to pass with the method invocation. 11905+ * @fd_list: (nullable): A #GUnixFDList or %NULL. 11906+ * @out_handle: (out) (optional): Return location for return parameter or %NULL to ignore. 11907+ * @out_fd_list: (out): Return location for a #GUnixFDList or %NULL. 11908+ * @cancellable: (nullable): A #GCancellable or %NULL. 11909+ * @error: Return location for error or %NULL. 11910+ * 11911+ * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-portal-OpenURI.OpenFile">OpenFile()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received. 11912+ * 11913+ * See gxdp_open_uri_call_open_file() for the asynchronous version of this method. 11914+ * 11915+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 11916+ */ 11917+gboolean 11918+gxdp_open_uri_call_open_file_sync ( 11919+ GXdpOpenURI *proxy, 11920+ const gchar *arg_parent_window, 11921+ GVariant *arg_fd, 11922+ GVariant *arg_options, 11923+ GUnixFDList *fd_list, 11924+ gchar **out_handle, 11925+ GUnixFDList **out_fd_list, 11926+ GCancellable *cancellable, 11927+ GError **error) 11928+{ 11929+ GVariant *_ret; 11930+ _ret = g_dbus_proxy_call_with_unix_fd_list_sync (G_DBUS_PROXY (proxy), 11931+ "OpenFile", 11932+ g_variant_new ("(s@h@a{sv})", 11933+ arg_parent_window, 11934+ arg_fd, 11935+ arg_options), 11936+ G_DBUS_CALL_FLAGS_NONE, 11937+ -1, 11938+ fd_list, 11939+ out_fd_list, 11940+ cancellable, 11941+ error); 11942+ if (_ret == NULL) 11943+ goto _out; 11944+ g_variant_get (_ret, 11945+ "(o)", 11946+ out_handle); 11947+ g_variant_unref (_ret); 11948+_out: 11949+ return _ret != NULL; 11950+} 11951+ 11952+/** 11953+ * gxdp_open_uri_call_open_directory: 11954+ * @proxy: A #GXdpOpenURIProxy. 11955+ * @arg_parent_window: Argument to pass with the method invocation. 11956+ * @arg_fd: Argument to pass with the method invocation. 11957+ * @arg_options: Argument to pass with the method invocation. 11958+ * @fd_list: (nullable): A #GUnixFDList or %NULL. 11959+ * @cancellable: (nullable): A #GCancellable or %NULL. 11960+ * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. 11961+ * @user_data: User data to pass to @callback. 11962+ * 11963+ * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-portal-OpenURI.OpenDirectory">OpenDirectory()</link> D-Bus method on @proxy. 11964+ * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). 11965+ * You can then call gxdp_open_uri_call_open_directory_finish() to get the result of the operation. 11966+ * 11967+ * See gxdp_open_uri_call_open_directory_sync() for the synchronous, blocking version of this method. 11968+ */ 11969+void 11970+gxdp_open_uri_call_open_directory ( 11971+ GXdpOpenURI *proxy, 11972+ const gchar *arg_parent_window, 11973+ GVariant *arg_fd, 11974+ GVariant *arg_options, 11975+ GUnixFDList *fd_list, 11976+ GCancellable *cancellable, 11977+ GAsyncReadyCallback callback, 11978+ gpointer user_data) 11979+{ 11980+ g_dbus_proxy_call_with_unix_fd_list (G_DBUS_PROXY (proxy), 11981+ "OpenDirectory", 11982+ g_variant_new ("(s@h@a{sv})", 11983+ arg_parent_window, 11984+ arg_fd, 11985+ arg_options), 11986+ G_DBUS_CALL_FLAGS_NONE, 11987+ -1, 11988+ fd_list, 11989+ cancellable, 11990+ callback, 11991+ user_data); 11992+} 11993+ 11994+/** 11995+ * gxdp_open_uri_call_open_directory_finish: 11996+ * @proxy: A #GXdpOpenURIProxy. 11997+ * @out_handle: (out) (optional): Return location for return parameter or %NULL to ignore. 11998+ * @out_fd_list: (out) (optional): Return location for a #GUnixFDList or %NULL to ignore. 11999+ * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gxdp_open_uri_call_open_directory(). 12000+ * @error: Return location for error or %NULL. 12001+ * 12002+ * Finishes an operation started with gxdp_open_uri_call_open_directory(). 12003+ * 12004+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 12005+ */ 12006+gboolean 12007+gxdp_open_uri_call_open_directory_finish ( 12008+ GXdpOpenURI *proxy, 12009+ gchar **out_handle, 12010+ GUnixFDList **out_fd_list, 12011+ GAsyncResult *res, 12012+ GError **error) 12013+{ 12014+ GVariant *_ret; 12015+ _ret = g_dbus_proxy_call_with_unix_fd_list_finish (G_DBUS_PROXY (proxy), out_fd_list, res, error); 12016+ if (_ret == NULL) 12017+ goto _out; 12018+ g_variant_get (_ret, 12019+ "(o)", 12020+ out_handle); 12021+ g_variant_unref (_ret); 12022+_out: 12023+ return _ret != NULL; 12024+} 12025+ 12026+/** 12027+ * gxdp_open_uri_call_open_directory_sync: 12028+ * @proxy: A #GXdpOpenURIProxy. 12029+ * @arg_parent_window: Argument to pass with the method invocation. 12030+ * @arg_fd: Argument to pass with the method invocation. 12031+ * @arg_options: Argument to pass with the method invocation. 12032+ * @fd_list: (nullable): A #GUnixFDList or %NULL. 12033+ * @out_handle: (out) (optional): Return location for return parameter or %NULL to ignore. 12034+ * @out_fd_list: (out): Return location for a #GUnixFDList or %NULL. 12035+ * @cancellable: (nullable): A #GCancellable or %NULL. 12036+ * @error: Return location for error or %NULL. 12037+ * 12038+ * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-portal-OpenURI.OpenDirectory">OpenDirectory()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received. 12039+ * 12040+ * See gxdp_open_uri_call_open_directory() for the asynchronous version of this method. 12041+ * 12042+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 12043+ */ 12044+gboolean 12045+gxdp_open_uri_call_open_directory_sync ( 12046+ GXdpOpenURI *proxy, 12047+ const gchar *arg_parent_window, 12048+ GVariant *arg_fd, 12049+ GVariant *arg_options, 12050+ GUnixFDList *fd_list, 12051+ gchar **out_handle, 12052+ GUnixFDList **out_fd_list, 12053+ GCancellable *cancellable, 12054+ GError **error) 12055+{ 12056+ GVariant *_ret; 12057+ _ret = g_dbus_proxy_call_with_unix_fd_list_sync (G_DBUS_PROXY (proxy), 12058+ "OpenDirectory", 12059+ g_variant_new ("(s@h@a{sv})", 12060+ arg_parent_window, 12061+ arg_fd, 12062+ arg_options), 12063+ G_DBUS_CALL_FLAGS_NONE, 12064+ -1, 12065+ fd_list, 12066+ out_fd_list, 12067+ cancellable, 12068+ error); 12069+ if (_ret == NULL) 12070+ goto _out; 12071+ g_variant_get (_ret, 12072+ "(o)", 12073+ out_handle); 12074+ g_variant_unref (_ret); 12075+_out: 12076+ return _ret != NULL; 12077+} 12078+ 12079+/** 12080+ * gxdp_open_uri_complete_open_uri: 12081+ * @object: A #GXdpOpenURI. 12082+ * @invocation: (transfer full): A #GDBusMethodInvocation. 12083+ * @handle: Parameter to return. 12084+ * 12085+ * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-portal-OpenURI.OpenURI">OpenURI()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar. 12086+ * 12087+ * This method will free @invocation, you cannot use it afterwards. 12088+ */ 12089+void 12090+gxdp_open_uri_complete_open_uri ( 12091+ GXdpOpenURI *object G_GNUC_UNUSED, 12092+ GDBusMethodInvocation *invocation, 12093+ const gchar *handle) 12094+{ 12095+ g_dbus_method_invocation_return_value (invocation, 12096+ g_variant_new ("(o)", 12097+ handle)); 12098+} 12099+ 12100+/** 12101+ * gxdp_open_uri_complete_open_file: 12102+ * @object: A #GXdpOpenURI. 12103+ * @invocation: (transfer full): A #GDBusMethodInvocation. 12104+ * @fd_list: (nullable): A #GUnixFDList or %NULL. 12105+ * @handle: Parameter to return. 12106+ * 12107+ * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-portal-OpenURI.OpenFile">OpenFile()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar. 12108+ * 12109+ * This method will free @invocation, you cannot use it afterwards. 12110+ */ 12111+void 12112+gxdp_open_uri_complete_open_file ( 12113+ GXdpOpenURI *object G_GNUC_UNUSED, 12114+ GDBusMethodInvocation *invocation, 12115+ GUnixFDList *fd_list, 12116+ const gchar *handle) 12117+{ 12118+ g_dbus_method_invocation_return_value_with_unix_fd_list (invocation, 12119+ g_variant_new ("(o)", 12120+ handle), 12121+ fd_list); 12122+} 12123+ 12124+/** 12125+ * gxdp_open_uri_complete_open_directory: 12126+ * @object: A #GXdpOpenURI. 12127+ * @invocation: (transfer full): A #GDBusMethodInvocation. 12128+ * @fd_list: (nullable): A #GUnixFDList or %NULL. 12129+ * @handle: Parameter to return. 12130+ * 12131+ * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-portal-OpenURI.OpenDirectory">OpenDirectory()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar. 12132+ * 12133+ * This method will free @invocation, you cannot use it afterwards. 12134+ */ 12135+void 12136+gxdp_open_uri_complete_open_directory ( 12137+ GXdpOpenURI *object G_GNUC_UNUSED, 12138+ GDBusMethodInvocation *invocation, 12139+ GUnixFDList *fd_list, 12140+ const gchar *handle) 12141+{ 12142+ g_dbus_method_invocation_return_value_with_unix_fd_list (invocation, 12143+ g_variant_new ("(o)", 12144+ handle), 12145+ fd_list); 12146+} 12147+ 12148+/* ------------------------------------------------------------------------ */ 12149+ 12150+/** 12151+ * GXdpOpenURIProxy: 12152+ * 12153+ * The #GXdpOpenURIProxy structure contains only private data and should only be accessed using the provided API. 12154+ */ 12155+ 12156+/** 12157+ * GXdpOpenURIProxyClass: 12158+ * @parent_class: The parent class. 12159+ * 12160+ * Class structure for #GXdpOpenURIProxy. 12161+ */ 12162+ 12163+struct _GXdpOpenURIProxyPrivate 12164+{ 12165+ GData *qdata; 12166+}; 12167+ 12168+static void gxdp_open_uri_proxy_iface_init (GXdpOpenURIIface *iface); 12169+ 12170+#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38 12171+G_DEFINE_TYPE_WITH_CODE (GXdpOpenURIProxy, gxdp_open_uri_proxy, G_TYPE_DBUS_PROXY, 12172+ G_ADD_PRIVATE (GXdpOpenURIProxy) 12173+ G_IMPLEMENT_INTERFACE (GXDP_TYPE_OPEN_URI, gxdp_open_uri_proxy_iface_init)) 12174+ 12175+#else 12176+G_DEFINE_TYPE_WITH_CODE (GXdpOpenURIProxy, gxdp_open_uri_proxy, G_TYPE_DBUS_PROXY, 12177+ G_IMPLEMENT_INTERFACE (GXDP_TYPE_OPEN_URI, gxdp_open_uri_proxy_iface_init)) 12178+ 12179+#endif 12180+static void 12181+gxdp_open_uri_proxy_finalize (GObject *object) 12182+{ 12183+ GXdpOpenURIProxy *proxy = GXDP_OPEN_URI_PROXY (object); 12184+ g_datalist_clear (&proxy->priv->qdata); 12185+ G_OBJECT_CLASS (gxdp_open_uri_proxy_parent_class)->finalize (object); 12186+} 12187+ 12188+static void 12189+gxdp_open_uri_proxy_get_property (GObject *object, 12190+ guint prop_id, 12191+ GValue *value, 12192+ GParamSpec *pspec G_GNUC_UNUSED) 12193+{ 12194+ const _ExtendedGDBusPropertyInfo *info; 12195+ GVariant *variant; 12196+ g_assert (prop_id != 0 && prop_id - 1 < 1); 12197+ info = (const _ExtendedGDBusPropertyInfo *) _gxdp_open_uri_property_info_pointers[prop_id - 1]; 12198+ variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (object), info->parent_struct.name); 12199+ if (info->use_gvariant) 12200+ { 12201+ g_value_set_variant (value, variant); 12202+ } 12203+ else 12204+ { 12205+ if (variant != NULL) 12206+ g_dbus_gvariant_to_gvalue (variant, value); 12207+ } 12208+ if (variant != NULL) 12209+ g_variant_unref (variant); 12210+} 12211+ 12212+static void 12213+gxdp_open_uri_proxy_set_property_cb (GDBusProxy *proxy, 12214+ GAsyncResult *res, 12215+ gpointer user_data) 12216+{ 12217+ const _ExtendedGDBusPropertyInfo *info = user_data; 12218+ GError *error; 12219+ GVariant *_ret; 12220+ error = NULL; 12221+ _ret = g_dbus_proxy_call_finish (proxy, res, &error); 12222+ if (!_ret) 12223+ { 12224+ g_warning ("Error setting property '%s' on interface org.freedesktop.portal.OpenURI: %s (%s, %d)", 12225+ info->parent_struct.name, 12226+ error->message, g_quark_to_string (error->domain), error->code); 12227+ g_error_free (error); 12228+ } 12229+ else 12230+ { 12231+ g_variant_unref (_ret); 12232+ } 12233+} 12234+ 12235+static void 12236+gxdp_open_uri_proxy_set_property (GObject *object, 12237+ guint prop_id, 12238+ const GValue *value, 12239+ GParamSpec *pspec G_GNUC_UNUSED) 12240+{ 12241+ const _ExtendedGDBusPropertyInfo *info; 12242+ GVariant *variant; 12243+ g_assert (prop_id != 0 && prop_id - 1 < 1); 12244+ info = (const _ExtendedGDBusPropertyInfo *) _gxdp_open_uri_property_info_pointers[prop_id - 1]; 12245+ variant = g_dbus_gvalue_to_gvariant (value, G_VARIANT_TYPE (info->parent_struct.signature)); 12246+ g_dbus_proxy_call (G_DBUS_PROXY (object), 12247+ "org.freedesktop.DBus.Properties.Set", 12248+ g_variant_new ("(ssv)", "org.freedesktop.portal.OpenURI", info->parent_struct.name, variant), 12249+ G_DBUS_CALL_FLAGS_NONE, 12250+ -1, 12251+ NULL, (GAsyncReadyCallback) gxdp_open_uri_proxy_set_property_cb, (GDBusPropertyInfo *) &info->parent_struct); 12252+ g_variant_unref (variant); 12253+} 12254+ 12255+static void 12256+gxdp_open_uri_proxy_g_signal (GDBusProxy *proxy, 12257+ const gchar *sender_name G_GNUC_UNUSED, 12258+ const gchar *signal_name, 12259+ GVariant *parameters) 12260+{ 12261+ _ExtendedGDBusSignalInfo *info; 12262+ GVariantIter iter; 12263+ GVariant *child; 12264+ GValue *paramv; 12265+ gsize num_params; 12266+ gsize n; 12267+ guint signal_id; 12268+ info = (_ExtendedGDBusSignalInfo *) g_dbus_interface_info_lookup_signal ((GDBusInterfaceInfo *) &_gxdp_open_uri_interface_info.parent_struct, signal_name); 12269+ if (info == NULL) 12270+ return; 12271+ num_params = g_variant_n_children (parameters); 12272+ paramv = g_new0 (GValue, num_params + 1); 12273+ g_value_init (¶mv[0], GXDP_TYPE_OPEN_URI); 12274+ g_value_set_object (¶mv[0], proxy); 12275+ g_variant_iter_init (&iter, parameters); 12276+ n = 1; 12277+ while ((child = g_variant_iter_next_value (&iter)) != NULL) 12278+ { 12279+ _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info->parent_struct.args[n - 1]; 12280+ if (arg_info->use_gvariant) 12281+ { 12282+ g_value_init (¶mv[n], G_TYPE_VARIANT); 12283+ g_value_set_variant (¶mv[n], child); 12284+ n++; 12285+ } 12286+ else 12287+ g_dbus_gvariant_to_gvalue (child, ¶mv[n++]); 12288+ g_variant_unref (child); 12289+ } 12290+ signal_id = g_signal_lookup (info->signal_name, GXDP_TYPE_OPEN_URI); 12291+ g_signal_emitv (paramv, signal_id, 0, NULL); 12292+ for (n = 0; n < num_params + 1; n++) 12293+ g_value_unset (¶mv[n]); 12294+ g_free (paramv); 12295+} 12296+ 12297+static void 12298+gxdp_open_uri_proxy_g_properties_changed (GDBusProxy *_proxy, 12299+ GVariant *changed_properties, 12300+ const gchar *const *invalidated_properties) 12301+{ 12302+ GXdpOpenURIProxy *proxy = GXDP_OPEN_URI_PROXY (_proxy); 12303+ guint n; 12304+ const gchar *key; 12305+ GVariantIter *iter; 12306+ _ExtendedGDBusPropertyInfo *info; 12307+ g_variant_get (changed_properties, "a{sv}", &iter); 12308+ while (g_variant_iter_next (iter, "{&sv}", &key, NULL)) 12309+ { 12310+ info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_gxdp_open_uri_interface_info.parent_struct, key); 12311+ g_datalist_remove_data (&proxy->priv->qdata, key); 12312+ if (info != NULL) 12313+ g_object_notify (G_OBJECT (proxy), info->hyphen_name); 12314+ } 12315+ g_variant_iter_free (iter); 12316+ for (n = 0; invalidated_properties[n] != NULL; n++) 12317+ { 12318+ info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_gxdp_open_uri_interface_info.parent_struct, invalidated_properties[n]); 12319+ g_datalist_remove_data (&proxy->priv->qdata, invalidated_properties[n]); 12320+ if (info != NULL) 12321+ g_object_notify (G_OBJECT (proxy), info->hyphen_name); 12322+ } 12323+} 12324+ 12325+static guint 12326+gxdp_open_uri_proxy_get_version (GXdpOpenURI *object) 12327+{ 12328+ GXdpOpenURIProxy *proxy = GXDP_OPEN_URI_PROXY (object); 12329+ GVariant *variant; 12330+ guint value = 0; 12331+ variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "version"); 12332+ if (variant != NULL) 12333+ { 12334+ value = g_variant_get_uint32 (variant); 12335+ g_variant_unref (variant); 12336+ } 12337+ return value; 12338+} 12339+ 12340+static void 12341+gxdp_open_uri_proxy_init (GXdpOpenURIProxy *proxy) 12342+{ 12343+#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38 12344+ proxy->priv = gxdp_open_uri_proxy_get_instance_private (proxy); 12345+#else 12346+ proxy->priv = G_TYPE_INSTANCE_GET_PRIVATE (proxy, GXDP_TYPE_OPEN_URI_PROXY, GXdpOpenURIProxyPrivate); 12347+#endif 12348+ 12349+ g_dbus_proxy_set_interface_info (G_DBUS_PROXY (proxy), gxdp_open_uri_interface_info ()); 12350+} 12351+ 12352+static void 12353+gxdp_open_uri_proxy_class_init (GXdpOpenURIProxyClass *klass) 12354+{ 12355+ GObjectClass *gobject_class; 12356+ GDBusProxyClass *proxy_class; 12357+ 12358+ gobject_class = G_OBJECT_CLASS (klass); 12359+ gobject_class->finalize = gxdp_open_uri_proxy_finalize; 12360+ gobject_class->get_property = gxdp_open_uri_proxy_get_property; 12361+ gobject_class->set_property = gxdp_open_uri_proxy_set_property; 12362+ 12363+ proxy_class = G_DBUS_PROXY_CLASS (klass); 12364+ proxy_class->g_signal = gxdp_open_uri_proxy_g_signal; 12365+ proxy_class->g_properties_changed = gxdp_open_uri_proxy_g_properties_changed; 12366+ 12367+ gxdp_open_uri_override_properties (gobject_class, 1); 12368+ 12369+#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_38 12370+ g_type_class_add_private (klass, sizeof (GXdpOpenURIProxyPrivate)); 12371+#endif 12372+} 12373+ 12374+static void 12375+gxdp_open_uri_proxy_iface_init (GXdpOpenURIIface *iface) 12376+{ 12377+ iface->get_version = gxdp_open_uri_proxy_get_version; 12378+} 12379+ 12380+/** 12381+ * gxdp_open_uri_proxy_new: 12382+ * @connection: A #GDBusConnection. 12383+ * @flags: Flags from the #GDBusProxyFlags enumeration. 12384+ * @name: (nullable): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection. 12385+ * @object_path: An object path. 12386+ * @cancellable: (nullable): A #GCancellable or %NULL. 12387+ * @callback: A #GAsyncReadyCallback to call when the request is satisfied. 12388+ * @user_data: User data to pass to @callback. 12389+ * 12390+ * Asynchronously creates a proxy for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-portal-OpenURI.top_of_page">org.freedesktop.portal.OpenURI</link>. See g_dbus_proxy_new() for more details. 12391+ * 12392+ * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). 12393+ * You can then call gxdp_open_uri_proxy_new_finish() to get the result of the operation. 12394+ * 12395+ * See gxdp_open_uri_proxy_new_sync() for the synchronous, blocking version of this constructor. 12396+ */ 12397+void 12398+gxdp_open_uri_proxy_new ( 12399+ GDBusConnection *connection, 12400+ GDBusProxyFlags flags, 12401+ const gchar *name, 12402+ const gchar *object_path, 12403+ GCancellable *cancellable, 12404+ GAsyncReadyCallback callback, 12405+ gpointer user_data) 12406+{ 12407+ g_async_initable_new_async (GXDP_TYPE_OPEN_URI_PROXY, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "g-flags", flags, "g-name", name, "g-connection", connection, "g-object-path", object_path, "g-interface-name", "org.freedesktop.portal.OpenURI", NULL); 12408+} 12409+ 12410+/** 12411+ * gxdp_open_uri_proxy_new_finish: 12412+ * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gxdp_open_uri_proxy_new(). 12413+ * @error: Return location for error or %NULL 12414+ * 12415+ * Finishes an operation started with gxdp_open_uri_proxy_new(). 12416+ * 12417+ * Returns: (transfer full) (type GXdpOpenURIProxy): The constructed proxy object or %NULL if @error is set. 12418+ */ 12419+GXdpOpenURI * 12420+gxdp_open_uri_proxy_new_finish ( 12421+ GAsyncResult *res, 12422+ GError **error) 12423+{ 12424+ GObject *ret; 12425+ GObject *source_object; 12426+ source_object = g_async_result_get_source_object (res); 12427+ ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error); 12428+ g_object_unref (source_object); 12429+ if (ret != NULL) 12430+ return GXDP_OPEN_URI (ret); 12431+ else 12432+ return NULL; 12433+} 12434+ 12435+/** 12436+ * gxdp_open_uri_proxy_new_sync: 12437+ * @connection: A #GDBusConnection. 12438+ * @flags: Flags from the #GDBusProxyFlags enumeration. 12439+ * @name: (nullable): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection. 12440+ * @object_path: An object path. 12441+ * @cancellable: (nullable): A #GCancellable or %NULL. 12442+ * @error: Return location for error or %NULL 12443+ * 12444+ * Synchronously creates a proxy for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-portal-OpenURI.top_of_page">org.freedesktop.portal.OpenURI</link>. See g_dbus_proxy_new_sync() for more details. 12445+ * 12446+ * The calling thread is blocked until a reply is received. 12447+ * 12448+ * See gxdp_open_uri_proxy_new() for the asynchronous version of this constructor. 12449+ * 12450+ * Returns: (transfer full) (type GXdpOpenURIProxy): The constructed proxy object or %NULL if @error is set. 12451+ */ 12452+GXdpOpenURI * 12453+gxdp_open_uri_proxy_new_sync ( 12454+ GDBusConnection *connection, 12455+ GDBusProxyFlags flags, 12456+ const gchar *name, 12457+ const gchar *object_path, 12458+ GCancellable *cancellable, 12459+ GError **error) 12460+{ 12461+ GInitable *ret; 12462+ ret = g_initable_new (GXDP_TYPE_OPEN_URI_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-connection", connection, "g-object-path", object_path, "g-interface-name", "org.freedesktop.portal.OpenURI", NULL); 12463+ if (ret != NULL) 12464+ return GXDP_OPEN_URI (ret); 12465+ else 12466+ return NULL; 12467+} 12468+ 12469+ 12470+/** 12471+ * gxdp_open_uri_proxy_new_for_bus: 12472+ * @bus_type: A #GBusType. 12473+ * @flags: Flags from the #GDBusProxyFlags enumeration. 12474+ * @name: A bus name (well-known or unique). 12475+ * @object_path: An object path. 12476+ * @cancellable: (nullable): A #GCancellable or %NULL. 12477+ * @callback: A #GAsyncReadyCallback to call when the request is satisfied. 12478+ * @user_data: User data to pass to @callback. 12479+ * 12480+ * Like gxdp_open_uri_proxy_new() but takes a #GBusType instead of a #GDBusConnection. 12481+ * 12482+ * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). 12483+ * You can then call gxdp_open_uri_proxy_new_for_bus_finish() to get the result of the operation. 12484+ * 12485+ * See gxdp_open_uri_proxy_new_for_bus_sync() for the synchronous, blocking version of this constructor. 12486+ */ 12487+void 12488+gxdp_open_uri_proxy_new_for_bus ( 12489+ GBusType bus_type, 12490+ GDBusProxyFlags flags, 12491+ const gchar *name, 12492+ const gchar *object_path, 12493+ GCancellable *cancellable, 12494+ GAsyncReadyCallback callback, 12495+ gpointer user_data) 12496+{ 12497+ g_async_initable_new_async (GXDP_TYPE_OPEN_URI_PROXY, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "g-flags", flags, "g-name", name, "g-bus-type", bus_type, "g-object-path", object_path, "g-interface-name", "org.freedesktop.portal.OpenURI", NULL); 12498+} 12499+ 12500+/** 12501+ * gxdp_open_uri_proxy_new_for_bus_finish: 12502+ * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gxdp_open_uri_proxy_new_for_bus(). 12503+ * @error: Return location for error or %NULL 12504+ * 12505+ * Finishes an operation started with gxdp_open_uri_proxy_new_for_bus(). 12506+ * 12507+ * Returns: (transfer full) (type GXdpOpenURIProxy): The constructed proxy object or %NULL if @error is set. 12508+ */ 12509+GXdpOpenURI * 12510+gxdp_open_uri_proxy_new_for_bus_finish ( 12511+ GAsyncResult *res, 12512+ GError **error) 12513+{ 12514+ GObject *ret; 12515+ GObject *source_object; 12516+ source_object = g_async_result_get_source_object (res); 12517+ ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error); 12518+ g_object_unref (source_object); 12519+ if (ret != NULL) 12520+ return GXDP_OPEN_URI (ret); 12521+ else 12522+ return NULL; 12523+} 12524+ 12525+/** 12526+ * gxdp_open_uri_proxy_new_for_bus_sync: 12527+ * @bus_type: A #GBusType. 12528+ * @flags: Flags from the #GDBusProxyFlags enumeration. 12529+ * @name: A bus name (well-known or unique). 12530+ * @object_path: An object path. 12531+ * @cancellable: (nullable): A #GCancellable or %NULL. 12532+ * @error: Return location for error or %NULL 12533+ * 12534+ * Like gxdp_open_uri_proxy_new_sync() but takes a #GBusType instead of a #GDBusConnection. 12535+ * 12536+ * The calling thread is blocked until a reply is received. 12537+ * 12538+ * See gxdp_open_uri_proxy_new_for_bus() for the asynchronous version of this constructor. 12539+ * 12540+ * Returns: (transfer full) (type GXdpOpenURIProxy): The constructed proxy object or %NULL if @error is set. 12541+ */ 12542+GXdpOpenURI * 12543+gxdp_open_uri_proxy_new_for_bus_sync ( 12544+ GBusType bus_type, 12545+ GDBusProxyFlags flags, 12546+ const gchar *name, 12547+ const gchar *object_path, 12548+ GCancellable *cancellable, 12549+ GError **error) 12550+{ 12551+ GInitable *ret; 12552+ ret = g_initable_new (GXDP_TYPE_OPEN_URI_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-bus-type", bus_type, "g-object-path", object_path, "g-interface-name", "org.freedesktop.portal.OpenURI", NULL); 12553+ if (ret != NULL) 12554+ return GXDP_OPEN_URI (ret); 12555+ else 12556+ return NULL; 12557+} 12558+ 12559+ 12560+/* ------------------------------------------------------------------------ */ 12561+ 12562+/** 12563+ * GXdpOpenURISkeleton: 12564+ * 12565+ * The #GXdpOpenURISkeleton structure contains only private data and should only be accessed using the provided API. 12566+ */ 12567+ 12568+/** 12569+ * GXdpOpenURISkeletonClass: 12570+ * @parent_class: The parent class. 12571+ * 12572+ * Class structure for #GXdpOpenURISkeleton. 12573+ */ 12574+ 12575+struct _GXdpOpenURISkeletonPrivate 12576+{ 12577+ GValue *properties; 12578+ GList *changed_properties; 12579+ GSource *changed_properties_idle_source; 12580+ GMainContext *context; 12581+ GMutex lock; 12582+}; 12583+ 12584+static void 12585+_gxdp_open_uri_skeleton_handle_method_call ( 12586+ GDBusConnection *connection G_GNUC_UNUSED, 12587+ const gchar *sender G_GNUC_UNUSED, 12588+ const gchar *object_path G_GNUC_UNUSED, 12589+ const gchar *interface_name, 12590+ const gchar *method_name, 12591+ GVariant *parameters, 12592+ GDBusMethodInvocation *invocation, 12593+ gpointer user_data) 12594+{ 12595+ GXdpOpenURISkeleton *skeleton = GXDP_OPEN_URI_SKELETON (user_data); 12596+ _ExtendedGDBusMethodInfo *info; 12597+ GVariantIter iter; 12598+ GVariant *child; 12599+ GValue *paramv; 12600+ gsize num_params; 12601+ guint num_extra; 12602+ gsize n; 12603+ guint signal_id; 12604+ GValue return_value = G_VALUE_INIT; 12605+ info = (_ExtendedGDBusMethodInfo *) g_dbus_method_invocation_get_method_info (invocation); 12606+ g_assert (info != NULL); 12607+ num_params = g_variant_n_children (parameters); 12608+ num_extra = info->pass_fdlist ? 3 : 2; paramv = g_new0 (GValue, num_params + num_extra); 12609+ n = 0; 12610+ g_value_init (¶mv[n], GXDP_TYPE_OPEN_URI); 12611+ g_value_set_object (¶mv[n++], skeleton); 12612+ g_value_init (¶mv[n], G_TYPE_DBUS_METHOD_INVOCATION); 12613+ g_value_set_object (¶mv[n++], invocation); 12614+ if (info->pass_fdlist) 12615+ { 12616+#ifdef G_OS_UNIX 12617+ g_value_init (¶mv[n], G_TYPE_UNIX_FD_LIST); 12618+ g_value_set_object (¶mv[n++], g_dbus_message_get_unix_fd_list (g_dbus_method_invocation_get_message (invocation))); 12619+#else 12620+ g_assert_not_reached (); 12621+#endif 12622+ } 12623+ g_variant_iter_init (&iter, parameters); 12624+ while ((child = g_variant_iter_next_value (&iter)) != NULL) 12625+ { 12626+ _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info->parent_struct.in_args[n - num_extra]; 12627+ if (arg_info->use_gvariant) 12628+ { 12629+ g_value_init (¶mv[n], G_TYPE_VARIANT); 12630+ g_value_set_variant (¶mv[n], child); 12631+ n++; 12632+ } 12633+ else 12634+ g_dbus_gvariant_to_gvalue (child, ¶mv[n++]); 12635+ g_variant_unref (child); 12636+ } 12637+ signal_id = g_signal_lookup (info->signal_name, GXDP_TYPE_OPEN_URI); 12638+ g_value_init (&return_value, G_TYPE_BOOLEAN); 12639+ g_signal_emitv (paramv, signal_id, 0, &return_value); 12640+ if (!g_value_get_boolean (&return_value)) 12641+ g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, G_DBUS_ERROR_UNKNOWN_METHOD, "Method %s is not implemented on interface %s", method_name, interface_name); 12642+ g_value_unset (&return_value); 12643+ for (n = 0; n < num_params + num_extra; n++) 12644+ g_value_unset (¶mv[n]); 12645+ g_free (paramv); 12646+} 12647+ 12648+static GVariant * 12649+_gxdp_open_uri_skeleton_handle_get_property ( 12650+ GDBusConnection *connection G_GNUC_UNUSED, 12651+ const gchar *sender G_GNUC_UNUSED, 12652+ const gchar *object_path G_GNUC_UNUSED, 12653+ const gchar *interface_name G_GNUC_UNUSED, 12654+ const gchar *property_name, 12655+ GError **error, 12656+ gpointer user_data) 12657+{ 12658+ GXdpOpenURISkeleton *skeleton = GXDP_OPEN_URI_SKELETON (user_data); 12659+ GValue value = G_VALUE_INIT; 12660+ GParamSpec *pspec; 12661+ _ExtendedGDBusPropertyInfo *info; 12662+ GVariant *ret; 12663+ ret = NULL; 12664+ info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_gxdp_open_uri_interface_info.parent_struct, property_name); 12665+ g_assert (info != NULL); 12666+ pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (skeleton), info->hyphen_name); 12667+ if (pspec == NULL) 12668+ { 12669+ g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "No property with name %s", property_name); 12670+ } 12671+ else 12672+ { 12673+ g_value_init (&value, pspec->value_type); 12674+ g_object_get_property (G_OBJECT (skeleton), info->hyphen_name, &value); 12675+ ret = g_dbus_gvalue_to_gvariant (&value, G_VARIANT_TYPE (info->parent_struct.signature)); 12676+ g_value_unset (&value); 12677+ } 12678+ return ret; 12679+} 12680+ 12681+static gboolean 12682+_gxdp_open_uri_skeleton_handle_set_property ( 12683+ GDBusConnection *connection G_GNUC_UNUSED, 12684+ const gchar *sender G_GNUC_UNUSED, 12685+ const gchar *object_path G_GNUC_UNUSED, 12686+ const gchar *interface_name G_GNUC_UNUSED, 12687+ const gchar *property_name, 12688+ GVariant *variant, 12689+ GError **error, 12690+ gpointer user_data) 12691+{ 12692+ GXdpOpenURISkeleton *skeleton = GXDP_OPEN_URI_SKELETON (user_data); 12693+ GValue value = G_VALUE_INIT; 12694+ GParamSpec *pspec; 12695+ _ExtendedGDBusPropertyInfo *info; 12696+ gboolean ret; 12697+ ret = FALSE; 12698+ info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_gxdp_open_uri_interface_info.parent_struct, property_name); 12699+ g_assert (info != NULL); 12700+ pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (skeleton), info->hyphen_name); 12701+ if (pspec == NULL) 12702+ { 12703+ g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "No property with name %s", property_name); 12704+ } 12705+ else 12706+ { 12707+ if (info->use_gvariant) 12708+ g_value_set_variant (&value, variant); 12709+ else 12710+ g_dbus_gvariant_to_gvalue (variant, &value); 12711+ g_object_set_property (G_OBJECT (skeleton), info->hyphen_name, &value); 12712+ g_value_unset (&value); 12713+ ret = TRUE; 12714+ } 12715+ return ret; 12716+} 12717+ 12718+static const GDBusInterfaceVTable _gxdp_open_uri_skeleton_vtable = 12719+{ 12720+ _gxdp_open_uri_skeleton_handle_method_call, 12721+ _gxdp_open_uri_skeleton_handle_get_property, 12722+ _gxdp_open_uri_skeleton_handle_set_property, 12723+ {NULL} 12724+}; 12725+ 12726+static GDBusInterfaceInfo * 12727+gxdp_open_uri_skeleton_dbus_interface_get_info (GDBusInterfaceSkeleton *skeleton G_GNUC_UNUSED) 12728+{ 12729+ return gxdp_open_uri_interface_info (); 12730+} 12731+ 12732+static GDBusInterfaceVTable * 12733+gxdp_open_uri_skeleton_dbus_interface_get_vtable (GDBusInterfaceSkeleton *skeleton G_GNUC_UNUSED) 12734+{ 12735+ return (GDBusInterfaceVTable *) &_gxdp_open_uri_skeleton_vtable; 12736+} 12737+ 12738+static GVariant * 12739+gxdp_open_uri_skeleton_dbus_interface_get_properties (GDBusInterfaceSkeleton *_skeleton) 12740+{ 12741+ GXdpOpenURISkeleton *skeleton = GXDP_OPEN_URI_SKELETON (_skeleton); 12742+ 12743+ GVariantBuilder builder; 12744+ guint n; 12745+ g_variant_builder_init (&builder, G_VARIANT_TYPE ("a{sv}")); 12746+ if (_gxdp_open_uri_interface_info.parent_struct.properties == NULL) 12747+ goto out; 12748+ for (n = 0; _gxdp_open_uri_interface_info.parent_struct.properties[n] != NULL; n++) 12749+ { 12750+ GDBusPropertyInfo *info = _gxdp_open_uri_interface_info.parent_struct.properties[n]; 12751+ if (info->flags & G_DBUS_PROPERTY_INFO_FLAGS_READABLE) 12752+ { 12753+ GVariant *value; 12754+ value = _gxdp_open_uri_skeleton_handle_get_property (g_dbus_interface_skeleton_get_connection (G_DBUS_INTERFACE_SKELETON (skeleton)), NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "org.freedesktop.portal.OpenURI", info->name, NULL, skeleton); 12755+ if (value != NULL) 12756+ { 12757+ g_variant_take_ref (value); 12758+ g_variant_builder_add (&builder, "{sv}", info->name, value); 12759+ g_variant_unref (value); 12760+ } 12761+ } 12762+ } 12763+out: 12764+ return g_variant_builder_end (&builder); 12765+} 12766+ 12767+static gboolean _gxdp_open_uri_emit_changed (gpointer user_data); 12768+ 12769+static void 12770+gxdp_open_uri_skeleton_dbus_interface_flush (GDBusInterfaceSkeleton *_skeleton) 12771+{ 12772+ GXdpOpenURISkeleton *skeleton = GXDP_OPEN_URI_SKELETON (_skeleton); 12773+ gboolean emit_changed = FALSE; 12774+ 12775+ g_mutex_lock (&skeleton->priv->lock); 12776+ if (skeleton->priv->changed_properties_idle_source != NULL) 12777+ { 12778+ g_source_destroy (skeleton->priv->changed_properties_idle_source); 12779+ skeleton->priv->changed_properties_idle_source = NULL; 12780+ emit_changed = TRUE; 12781+ } 12782+ g_mutex_unlock (&skeleton->priv->lock); 12783+ 12784+ if (emit_changed) 12785+ _gxdp_open_uri_emit_changed (skeleton); 12786+} 12787+ 12788+static void gxdp_open_uri_skeleton_iface_init (GXdpOpenURIIface *iface); 12789+#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38 12790+G_DEFINE_TYPE_WITH_CODE (GXdpOpenURISkeleton, gxdp_open_uri_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON, 12791+ G_ADD_PRIVATE (GXdpOpenURISkeleton) 12792+ G_IMPLEMENT_INTERFACE (GXDP_TYPE_OPEN_URI, gxdp_open_uri_skeleton_iface_init)) 12793+ 12794+#else 12795+G_DEFINE_TYPE_WITH_CODE (GXdpOpenURISkeleton, gxdp_open_uri_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON, 12796+ G_IMPLEMENT_INTERFACE (GXDP_TYPE_OPEN_URI, gxdp_open_uri_skeleton_iface_init)) 12797+ 12798+#endif 12799+static void 12800+gxdp_open_uri_skeleton_finalize (GObject *object) 12801+{ 12802+ GXdpOpenURISkeleton *skeleton = GXDP_OPEN_URI_SKELETON (object); 12803+ guint n; 12804+ for (n = 0; n < 1; n++) 12805+ g_value_unset (&skeleton->priv->properties[n]); 12806+ g_free (skeleton->priv->properties); 12807+ g_list_free_full (skeleton->priv->changed_properties, (GDestroyNotify) _changed_property_free); 12808+ if (skeleton->priv->changed_properties_idle_source != NULL) 12809+ g_source_destroy (skeleton->priv->changed_properties_idle_source); 12810+ g_main_context_unref (skeleton->priv->context); 12811+ g_mutex_clear (&skeleton->priv->lock); 12812+ G_OBJECT_CLASS (gxdp_open_uri_skeleton_parent_class)->finalize (object); 12813+} 12814+ 12815+static void 12816+gxdp_open_uri_skeleton_get_property (GObject *object, 12817+ guint prop_id, 12818+ GValue *value, 12819+ GParamSpec *pspec G_GNUC_UNUSED) 12820+{ 12821+ GXdpOpenURISkeleton *skeleton = GXDP_OPEN_URI_SKELETON (object); 12822+ g_assert (prop_id != 0 && prop_id - 1 < 1); 12823+ g_mutex_lock (&skeleton->priv->lock); 12824+ g_value_copy (&skeleton->priv->properties[prop_id - 1], value); 12825+ g_mutex_unlock (&skeleton->priv->lock); 12826+} 12827+ 12828+static gboolean 12829+_gxdp_open_uri_emit_changed (gpointer user_data) 12830+{ 12831+ GXdpOpenURISkeleton *skeleton = GXDP_OPEN_URI_SKELETON (user_data); 12832+ GList *l; 12833+ GVariantBuilder builder; 12834+ GVariantBuilder invalidated_builder; 12835+ guint num_changes; 12836+ 12837+ g_mutex_lock (&skeleton->priv->lock); 12838+ g_variant_builder_init (&builder, G_VARIANT_TYPE ("a{sv}")); 12839+ g_variant_builder_init (&invalidated_builder, G_VARIANT_TYPE ("as")); 12840+ for (l = skeleton->priv->changed_properties, num_changes = 0; l != NULL; l = l->next) 12841+ { 12842+ ChangedProperty *cp = l->data; 12843+ GVariant *variant; 12844+ const GValue *cur_value; 12845+ 12846+ cur_value = &skeleton->priv->properties[cp->prop_id - 1]; 12847+ if (!_g_value_equal (cur_value, &cp->orig_value)) 12848+ { 12849+ variant = g_dbus_gvalue_to_gvariant (cur_value, G_VARIANT_TYPE (cp->info->parent_struct.signature)); 12850+ g_variant_builder_add (&builder, "{sv}", cp->info->parent_struct.name, variant); 12851+ g_variant_unref (variant); 12852+ num_changes++; 12853+ } 12854+ } 12855+ if (num_changes > 0) 12856+ { 12857+ GList *connections, *ll; 12858+ GVariant *signal_variant; 12859+ signal_variant = g_variant_ref_sink (g_variant_new ("(sa{sv}as)", "org.freedesktop.portal.OpenURI", 12860+ &builder, &invalidated_builder)); 12861+ connections = g_dbus_interface_skeleton_get_connections (G_DBUS_INTERFACE_SKELETON (skeleton)); 12862+ for (ll = connections; ll != NULL; ll = ll->next) 12863+ { 12864+ GDBusConnection *connection = ll->data; 12865+ 12866+ g_dbus_connection_emit_signal (connection, 12867+ NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), 12868+ "org.freedesktop.DBus.Properties", 12869+ "PropertiesChanged", 12870+ signal_variant, 12871+ NULL); 12872+ } 12873+ g_variant_unref (signal_variant); 12874+ g_list_free_full (connections, g_object_unref); 12875+ } 12876+ else 12877+ { 12878+ g_variant_builder_clear (&builder); 12879+ g_variant_builder_clear (&invalidated_builder); 12880+ } 12881+ g_list_free_full (skeleton->priv->changed_properties, (GDestroyNotify) _changed_property_free); 12882+ skeleton->priv->changed_properties = NULL; 12883+ skeleton->priv->changed_properties_idle_source = NULL; 12884+ g_mutex_unlock (&skeleton->priv->lock); 12885+ return FALSE; 12886+} 12887+ 12888+static void 12889+_gxdp_open_uri_schedule_emit_changed (GXdpOpenURISkeleton *skeleton, const _ExtendedGDBusPropertyInfo *info, guint prop_id, const GValue *orig_value) 12890+{ 12891+ ChangedProperty *cp; 12892+ GList *l; 12893+ cp = NULL; 12894+ for (l = skeleton->priv->changed_properties; l != NULL; l = l->next) 12895+ { 12896+ ChangedProperty *i_cp = l->data; 12897+ if (i_cp->info == info) 12898+ { 12899+ cp = i_cp; 12900+ break; 12901+ } 12902+ } 12903+ if (cp == NULL) 12904+ { 12905+ cp = g_new0 (ChangedProperty, 1); 12906+ cp->prop_id = prop_id; 12907+ cp->info = info; 12908+ skeleton->priv->changed_properties = g_list_prepend (skeleton->priv->changed_properties, cp); 12909+ g_value_init (&cp->orig_value, G_VALUE_TYPE (orig_value)); 12910+ g_value_copy (orig_value, &cp->orig_value); 12911+ } 12912+} 12913+ 12914+static void 12915+gxdp_open_uri_skeleton_notify (GObject *object, 12916+ GParamSpec *pspec G_GNUC_UNUSED) 12917+{ 12918+ GXdpOpenURISkeleton *skeleton = GXDP_OPEN_URI_SKELETON (object); 12919+ g_mutex_lock (&skeleton->priv->lock); 12920+ if (skeleton->priv->changed_properties != NULL && 12921+ skeleton->priv->changed_properties_idle_source == NULL) 12922+ { 12923+ skeleton->priv->changed_properties_idle_source = g_idle_source_new (); 12924+ g_source_set_priority (skeleton->priv->changed_properties_idle_source, G_PRIORITY_DEFAULT); 12925+ g_source_set_callback (skeleton->priv->changed_properties_idle_source, _gxdp_open_uri_emit_changed, g_object_ref (skeleton), (GDestroyNotify) g_object_unref); 12926+ g_source_set_name (skeleton->priv->changed_properties_idle_source, "[generated] _gxdp_open_uri_emit_changed"); 12927+ g_source_attach (skeleton->priv->changed_properties_idle_source, skeleton->priv->context); 12928+ g_source_unref (skeleton->priv->changed_properties_idle_source); 12929+ } 12930+ g_mutex_unlock (&skeleton->priv->lock); 12931+} 12932+ 12933+static void 12934+gxdp_open_uri_skeleton_set_property (GObject *object, 12935+ guint prop_id, 12936+ const GValue *value, 12937+ GParamSpec *pspec) 12938+{ 12939+ const _ExtendedGDBusPropertyInfo *info; 12940+ GXdpOpenURISkeleton *skeleton = GXDP_OPEN_URI_SKELETON (object); 12941+ g_assert (prop_id != 0 && prop_id - 1 < 1); 12942+ info = (const _ExtendedGDBusPropertyInfo *) _gxdp_open_uri_property_info_pointers[prop_id - 1]; 12943+ g_mutex_lock (&skeleton->priv->lock); 12944+ g_object_freeze_notify (object); 12945+ if (!_g_value_equal (value, &skeleton->priv->properties[prop_id - 1])) 12946+ { 12947+ if (g_dbus_interface_skeleton_get_connection (G_DBUS_INTERFACE_SKELETON (skeleton)) != NULL && 12948+ info->emits_changed_signal) 12949+ _gxdp_open_uri_schedule_emit_changed (skeleton, info, prop_id, &skeleton->priv->properties[prop_id - 1]); 12950+ g_value_copy (value, &skeleton->priv->properties[prop_id - 1]); 12951+ g_object_notify_by_pspec (object, pspec); 12952+ } 12953+ g_mutex_unlock (&skeleton->priv->lock); 12954+ g_object_thaw_notify (object); 12955+} 12956+ 12957+static void 12958+gxdp_open_uri_skeleton_init (GXdpOpenURISkeleton *skeleton) 12959+{ 12960+#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38 12961+ skeleton->priv = gxdp_open_uri_skeleton_get_instance_private (skeleton); 12962+#else 12963+ skeleton->priv = G_TYPE_INSTANCE_GET_PRIVATE (skeleton, GXDP_TYPE_OPEN_URI_SKELETON, GXdpOpenURISkeletonPrivate); 12964+#endif 12965+ 12966+ g_mutex_init (&skeleton->priv->lock); 12967+ skeleton->priv->context = g_main_context_ref_thread_default (); 12968+ skeleton->priv->properties = g_new0 (GValue, 1); 12969+ g_value_init (&skeleton->priv->properties[0], G_TYPE_UINT); 12970+} 12971+ 12972+static guint 12973+gxdp_open_uri_skeleton_get_version (GXdpOpenURI *object) 12974+{ 12975+ GXdpOpenURISkeleton *skeleton = GXDP_OPEN_URI_SKELETON (object); 12976+ guint value; 12977+ g_mutex_lock (&skeleton->priv->lock); 12978+ value = g_value_get_uint (&(skeleton->priv->properties[0])); 12979+ g_mutex_unlock (&skeleton->priv->lock); 12980+ return value; 12981+} 12982+ 12983+static void 12984+gxdp_open_uri_skeleton_class_init (GXdpOpenURISkeletonClass *klass) 12985+{ 12986+ GObjectClass *gobject_class; 12987+ GDBusInterfaceSkeletonClass *skeleton_class; 12988+ 12989+ gobject_class = G_OBJECT_CLASS (klass); 12990+ gobject_class->finalize = gxdp_open_uri_skeleton_finalize; 12991+ gobject_class->get_property = gxdp_open_uri_skeleton_get_property; 12992+ gobject_class->set_property = gxdp_open_uri_skeleton_set_property; 12993+ gobject_class->notify = gxdp_open_uri_skeleton_notify; 12994+ 12995+ 12996+ gxdp_open_uri_override_properties (gobject_class, 1); 12997+ 12998+ skeleton_class = G_DBUS_INTERFACE_SKELETON_CLASS (klass); 12999+ skeleton_class->get_info = gxdp_open_uri_skeleton_dbus_interface_get_info; 13000+ skeleton_class->get_properties = gxdp_open_uri_skeleton_dbus_interface_get_properties; 13001+ skeleton_class->flush = gxdp_open_uri_skeleton_dbus_interface_flush; 13002+ skeleton_class->get_vtable = gxdp_open_uri_skeleton_dbus_interface_get_vtable; 13003+ 13004+#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_38 13005+ g_type_class_add_private (klass, sizeof (GXdpOpenURISkeletonPrivate)); 13006+#endif 13007+} 13008+ 13009+static void 13010+gxdp_open_uri_skeleton_iface_init (GXdpOpenURIIface *iface) 13011+{ 13012+ iface->get_version = gxdp_open_uri_skeleton_get_version; 13013+} 13014+ 13015+/** 13016+ * gxdp_open_uri_skeleton_new: 13017+ * 13018+ * Creates a skeleton object for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-portal-OpenURI.top_of_page">org.freedesktop.portal.OpenURI</link>. 13019+ * 13020+ * Returns: (transfer full) (type GXdpOpenURISkeleton): The skeleton object. 13021+ */ 13022+GXdpOpenURI * 13023+gxdp_open_uri_skeleton_new (void) 13024+{ 13025+ return GXDP_OPEN_URI (g_object_new (GXDP_TYPE_OPEN_URI_SKELETON, NULL)); 13026+} 13027+ 13028+/* ------------------------------------------------------------------------ 13029+ * Code for interface org.freedesktop.portal.ProxyResolver 13030+ * ------------------------------------------------------------------------ 13031+ */ 13032+ 13033+/** 13034+ * SECTION:GXdpProxyResolver 13035+ * @title: GXdpProxyResolver 13036+ * @short_description: Generated C code for the org.freedesktop.portal.ProxyResolver D-Bus interface 13037+ * 13038+ * This section contains code for working with the <link linkend="gdbus-interface-org-freedesktop-portal-ProxyResolver.top_of_page">org.freedesktop.portal.ProxyResolver</link> D-Bus interface in C. 13039+ */ 13040+ 13041+/* ---- Introspection data for org.freedesktop.portal.ProxyResolver ---- */ 13042+ 13043+static const _ExtendedGDBusArgInfo _gxdp_proxy_resolver_method_info_lookup_IN_ARG_uri = 13044+{ 13045+ { 13046+ -1, 13047+ (gchar *) "uri", 13048+ (gchar *) "s", 13049+ NULL 13050+ }, 13051+ FALSE 13052+}; 13053+ 13054+static const GDBusArgInfo * const _gxdp_proxy_resolver_method_info_lookup_IN_ARG_pointers[] = 13055+{ 13056+ &_gxdp_proxy_resolver_method_info_lookup_IN_ARG_uri.parent_struct, 13057+ NULL 13058+}; 13059+ 13060+static const _ExtendedGDBusArgInfo _gxdp_proxy_resolver_method_info_lookup_OUT_ARG_proxies = 13061+{ 13062+ { 13063+ -1, 13064+ (gchar *) "proxies", 13065+ (gchar *) "as", 13066+ NULL 13067+ }, 13068+ FALSE 13069+}; 13070+ 13071+static const GDBusArgInfo * const _gxdp_proxy_resolver_method_info_lookup_OUT_ARG_pointers[] = 13072+{ 13073+ &_gxdp_proxy_resolver_method_info_lookup_OUT_ARG_proxies.parent_struct, 13074+ NULL 13075+}; 13076+ 13077+static const _ExtendedGDBusMethodInfo _gxdp_proxy_resolver_method_info_lookup = 13078+{ 13079+ { 13080+ -1, 13081+ (gchar *) "Lookup", 13082+ (GDBusArgInfo **) &_gxdp_proxy_resolver_method_info_lookup_IN_ARG_pointers, 13083+ (GDBusArgInfo **) &_gxdp_proxy_resolver_method_info_lookup_OUT_ARG_pointers, 13084+ NULL 13085+ }, 13086+ "handle-lookup", 13087+ FALSE 13088+}; 13089+ 13090+static const GDBusMethodInfo * const _gxdp_proxy_resolver_method_info_pointers[] = 13091+{ 13092+ &_gxdp_proxy_resolver_method_info_lookup.parent_struct, 13093+ NULL 13094+}; 13095+ 13096+static const _ExtendedGDBusPropertyInfo _gxdp_proxy_resolver_property_info_version = 13097+{ 13098+ { 13099+ -1, 13100+ (gchar *) "version", 13101+ (gchar *) "u", 13102+ G_DBUS_PROPERTY_INFO_FLAGS_READABLE, 13103+ NULL 13104+ }, 13105+ "version", 13106+ FALSE, 13107+ TRUE 13108+}; 13109+ 13110+static const GDBusPropertyInfo * const _gxdp_proxy_resolver_property_info_pointers[] = 13111+{ 13112+ &_gxdp_proxy_resolver_property_info_version.parent_struct, 13113+ NULL 13114+}; 13115+ 13116+static const _ExtendedGDBusInterfaceInfo _gxdp_proxy_resolver_interface_info = 13117+{ 13118+ { 13119+ -1, 13120+ (gchar *) "org.freedesktop.portal.ProxyResolver", 13121+ (GDBusMethodInfo **) &_gxdp_proxy_resolver_method_info_pointers, 13122+ NULL, 13123+ (GDBusPropertyInfo **) &_gxdp_proxy_resolver_property_info_pointers, 13124+ NULL 13125+ }, 13126+ "proxy-resolver", 13127+}; 13128+ 13129+ 13130+/** 13131+ * gxdp_proxy_resolver_interface_info: 13132+ * 13133+ * Gets a machine-readable description of the <link linkend="gdbus-interface-org-freedesktop-portal-ProxyResolver.top_of_page">org.freedesktop.portal.ProxyResolver</link> D-Bus interface. 13134+ * 13135+ * Returns: (transfer none): A #GDBusInterfaceInfo. Do not free. 13136+ */ 13137+GDBusInterfaceInfo * 13138+gxdp_proxy_resolver_interface_info (void) 13139+{ 13140+ return (GDBusInterfaceInfo *) &_gxdp_proxy_resolver_interface_info.parent_struct; 13141+} 13142+ 13143+/** 13144+ * gxdp_proxy_resolver_override_properties: 13145+ * @klass: The class structure for a #GObject derived class. 13146+ * @property_id_begin: The property id to assign to the first overridden property. 13147+ * 13148+ * Overrides all #GObject properties in the #GXdpProxyResolver interface for a concrete class. 13149+ * The properties are overridden in the order they are defined. 13150+ * 13151+ * Returns: The last property id. 13152+ */ 13153+guint 13154+gxdp_proxy_resolver_override_properties (GObjectClass *klass, guint property_id_begin) 13155+{ 13156+ g_object_class_override_property (klass, property_id_begin++, "version"); 13157+ return property_id_begin - 1; 13158+} 13159+ 13160+ 13161+ 13162+/** 13163+ * GXdpProxyResolver: 13164+ * 13165+ * Abstract interface type for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-portal-ProxyResolver.top_of_page">org.freedesktop.portal.ProxyResolver</link>. 13166+ */ 13167+ 13168+/** 13169+ * GXdpProxyResolverIface: 13170+ * @parent_iface: The parent interface. 13171+ * @handle_lookup: Handler for the #GXdpProxyResolver::handle-lookup signal. 13172+ * @get_version: Getter for the #GXdpProxyResolver:version property. 13173+ * 13174+ * Virtual table for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-portal-ProxyResolver.top_of_page">org.freedesktop.portal.ProxyResolver</link>. 13175+ */ 13176+ 13177+typedef GXdpProxyResolverIface GXdpProxyResolverInterface; 13178+G_DEFINE_INTERFACE (GXdpProxyResolver, gxdp_proxy_resolver, G_TYPE_OBJECT) 13179+ 13180+static void 13181+gxdp_proxy_resolver_default_init (GXdpProxyResolverIface *iface) 13182+{ 13183+ /* GObject signals for incoming D-Bus method calls: */ 13184+ /** 13185+ * GXdpProxyResolver::handle-lookup: 13186+ * @object: A #GXdpProxyResolver. 13187+ * @invocation: A #GDBusMethodInvocation. 13188+ * @arg_uri: Argument passed by remote caller. 13189+ * 13190+ * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-portal-ProxyResolver.Lookup">Lookup()</link> D-Bus method. 13191+ * 13192+ * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call gxdp_proxy_resolver_complete_lookup() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. 13193+ * 13194+ * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run. 13195+ */ 13196+ g_signal_new ("handle-lookup", 13197+ G_TYPE_FROM_INTERFACE (iface), 13198+ G_SIGNAL_RUN_LAST, 13199+ G_STRUCT_OFFSET (GXdpProxyResolverIface, handle_lookup), 13200+ g_signal_accumulator_true_handled, 13201+ NULL, 13202+ g_cclosure_marshal_generic, 13203+ G_TYPE_BOOLEAN, 13204+ 2, 13205+ G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING); 13206+ 13207+ /* GObject properties for D-Bus properties: */ 13208+ /** 13209+ * GXdpProxyResolver:version: 13210+ * 13211+ * Represents the D-Bus property <link linkend="gdbus-property-org-freedesktop-portal-ProxyResolver.version">"version"</link>. 13212+ * 13213+ * Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side. 13214+ */ 13215+ g_object_interface_install_property (iface, 13216+ g_param_spec_uint ("version", "version", "version", 0, G_MAXUINT32, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); 13217+} 13218+ 13219+/** 13220+ * gxdp_proxy_resolver_get_version: (skip) 13221+ * @object: A #GXdpProxyResolver. 13222+ * 13223+ * Gets the value of the <link linkend="gdbus-property-org-freedesktop-portal-ProxyResolver.version">"version"</link> D-Bus property. 13224+ * 13225+ * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side. 13226+ * 13227+ * Returns: The property value. 13228+ */ 13229+guint 13230+gxdp_proxy_resolver_get_version (GXdpProxyResolver *object) 13231+{ 13232+ return GXDP_PROXY_RESOLVER_GET_IFACE (object)->get_version (object); 13233+} 13234+ 13235+/** 13236+ * gxdp_proxy_resolver_set_version: (skip) 13237+ * @object: A #GXdpProxyResolver. 13238+ * @value: The value to set. 13239+ * 13240+ * Sets the <link linkend="gdbus-property-org-freedesktop-portal-ProxyResolver.version">"version"</link> D-Bus property to @value. 13241+ * 13242+ * Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side. 13243+ */ 13244+void 13245+gxdp_proxy_resolver_set_version (GXdpProxyResolver *object, guint value) 13246+{ 13247+ g_object_set (G_OBJECT (object), "version", value, NULL); 13248+} 13249+ 13250+/** 13251+ * gxdp_proxy_resolver_call_lookup: 13252+ * @proxy: A #GXdpProxyResolverProxy. 13253+ * @arg_uri: Argument to pass with the method invocation. 13254+ * @cancellable: (nullable): A #GCancellable or %NULL. 13255+ * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. 13256+ * @user_data: User data to pass to @callback. 13257+ * 13258+ * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-portal-ProxyResolver.Lookup">Lookup()</link> D-Bus method on @proxy. 13259+ * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). 13260+ * You can then call gxdp_proxy_resolver_call_lookup_finish() to get the result of the operation. 13261+ * 13262+ * See gxdp_proxy_resolver_call_lookup_sync() for the synchronous, blocking version of this method. 13263+ */ 13264+void 13265+gxdp_proxy_resolver_call_lookup ( 13266+ GXdpProxyResolver *proxy, 13267+ const gchar *arg_uri, 13268+ GCancellable *cancellable, 13269+ GAsyncReadyCallback callback, 13270+ gpointer user_data) 13271+{ 13272+ g_dbus_proxy_call (G_DBUS_PROXY (proxy), 13273+ "Lookup", 13274+ g_variant_new ("(s)", 13275+ arg_uri), 13276+ G_DBUS_CALL_FLAGS_NONE, 13277+ -1, 13278+ cancellable, 13279+ callback, 13280+ user_data); 13281+} 13282+ 13283+/** 13284+ * gxdp_proxy_resolver_call_lookup_finish: 13285+ * @proxy: A #GXdpProxyResolverProxy. 13286+ * @out_proxies: (out) (optional) (array zero-terminated=1): Return location for return parameter or %NULL to ignore. 13287+ * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gxdp_proxy_resolver_call_lookup(). 13288+ * @error: Return location for error or %NULL. 13289+ * 13290+ * Finishes an operation started with gxdp_proxy_resolver_call_lookup(). 13291+ * 13292+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 13293+ */ 13294+gboolean 13295+gxdp_proxy_resolver_call_lookup_finish ( 13296+ GXdpProxyResolver *proxy, 13297+ gchar ***out_proxies, 13298+ GAsyncResult *res, 13299+ GError **error) 13300+{ 13301+ GVariant *_ret; 13302+ _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error); 13303+ if (_ret == NULL) 13304+ goto _out; 13305+ g_variant_get (_ret, 13306+ "(^as)", 13307+ out_proxies); 13308+ g_variant_unref (_ret); 13309+_out: 13310+ return _ret != NULL; 13311+} 13312+ 13313+/** 13314+ * gxdp_proxy_resolver_call_lookup_sync: 13315+ * @proxy: A #GXdpProxyResolverProxy. 13316+ * @arg_uri: Argument to pass with the method invocation. 13317+ * @out_proxies: (out) (optional) (array zero-terminated=1): Return location for return parameter or %NULL to ignore. 13318+ * @cancellable: (nullable): A #GCancellable or %NULL. 13319+ * @error: Return location for error or %NULL. 13320+ * 13321+ * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-portal-ProxyResolver.Lookup">Lookup()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received. 13322+ * 13323+ * See gxdp_proxy_resolver_call_lookup() for the asynchronous version of this method. 13324+ * 13325+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 13326+ */ 13327+gboolean 13328+gxdp_proxy_resolver_call_lookup_sync ( 13329+ GXdpProxyResolver *proxy, 13330+ const gchar *arg_uri, 13331+ gchar ***out_proxies, 13332+ GCancellable *cancellable, 13333+ GError **error) 13334+{ 13335+ GVariant *_ret; 13336+ _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy), 13337+ "Lookup", 13338+ g_variant_new ("(s)", 13339+ arg_uri), 13340+ G_DBUS_CALL_FLAGS_NONE, 13341+ -1, 13342+ cancellable, 13343+ error); 13344+ if (_ret == NULL) 13345+ goto _out; 13346+ g_variant_get (_ret, 13347+ "(^as)", 13348+ out_proxies); 13349+ g_variant_unref (_ret); 13350+_out: 13351+ return _ret != NULL; 13352+} 13353+ 13354+/** 13355+ * gxdp_proxy_resolver_complete_lookup: 13356+ * @object: A #GXdpProxyResolver. 13357+ * @invocation: (transfer full): A #GDBusMethodInvocation. 13358+ * @proxies: Parameter to return. 13359+ * 13360+ * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-portal-ProxyResolver.Lookup">Lookup()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar. 13361+ * 13362+ * This method will free @invocation, you cannot use it afterwards. 13363+ */ 13364+void 13365+gxdp_proxy_resolver_complete_lookup ( 13366+ GXdpProxyResolver *object G_GNUC_UNUSED, 13367+ GDBusMethodInvocation *invocation, 13368+ const gchar *const *proxies) 13369+{ 13370+ g_dbus_method_invocation_return_value (invocation, 13371+ g_variant_new ("(^as)", 13372+ proxies)); 13373+} 13374+ 13375+/* ------------------------------------------------------------------------ */ 13376+ 13377+/** 13378+ * GXdpProxyResolverProxy: 13379+ * 13380+ * The #GXdpProxyResolverProxy structure contains only private data and should only be accessed using the provided API. 13381+ */ 13382+ 13383+/** 13384+ * GXdpProxyResolverProxyClass: 13385+ * @parent_class: The parent class. 13386+ * 13387+ * Class structure for #GXdpProxyResolverProxy. 13388+ */ 13389+ 13390+struct _GXdpProxyResolverProxyPrivate 13391+{ 13392+ GData *qdata; 13393+}; 13394+ 13395+static void gxdp_proxy_resolver_proxy_iface_init (GXdpProxyResolverIface *iface); 13396+ 13397+#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38 13398+G_DEFINE_TYPE_WITH_CODE (GXdpProxyResolverProxy, gxdp_proxy_resolver_proxy, G_TYPE_DBUS_PROXY, 13399+ G_ADD_PRIVATE (GXdpProxyResolverProxy) 13400+ G_IMPLEMENT_INTERFACE (GXDP_TYPE_PROXY_RESOLVER, gxdp_proxy_resolver_proxy_iface_init)) 13401+ 13402+#else 13403+G_DEFINE_TYPE_WITH_CODE (GXdpProxyResolverProxy, gxdp_proxy_resolver_proxy, G_TYPE_DBUS_PROXY, 13404+ G_IMPLEMENT_INTERFACE (GXDP_TYPE_PROXY_RESOLVER, gxdp_proxy_resolver_proxy_iface_init)) 13405+ 13406+#endif 13407+static void 13408+gxdp_proxy_resolver_proxy_finalize (GObject *object) 13409+{ 13410+ GXdpProxyResolverProxy *proxy = GXDP_PROXY_RESOLVER_PROXY (object); 13411+ g_datalist_clear (&proxy->priv->qdata); 13412+ G_OBJECT_CLASS (gxdp_proxy_resolver_proxy_parent_class)->finalize (object); 13413+} 13414+ 13415+static void 13416+gxdp_proxy_resolver_proxy_get_property (GObject *object, 13417+ guint prop_id, 13418+ GValue *value, 13419+ GParamSpec *pspec G_GNUC_UNUSED) 13420+{ 13421+ const _ExtendedGDBusPropertyInfo *info; 13422+ GVariant *variant; 13423+ g_assert (prop_id != 0 && prop_id - 1 < 1); 13424+ info = (const _ExtendedGDBusPropertyInfo *) _gxdp_proxy_resolver_property_info_pointers[prop_id - 1]; 13425+ variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (object), info->parent_struct.name); 13426+ if (info->use_gvariant) 13427+ { 13428+ g_value_set_variant (value, variant); 13429+ } 13430+ else 13431+ { 13432+ if (variant != NULL) 13433+ g_dbus_gvariant_to_gvalue (variant, value); 13434+ } 13435+ if (variant != NULL) 13436+ g_variant_unref (variant); 13437+} 13438+ 13439+static void 13440+gxdp_proxy_resolver_proxy_set_property_cb (GDBusProxy *proxy, 13441+ GAsyncResult *res, 13442+ gpointer user_data) 13443+{ 13444+ const _ExtendedGDBusPropertyInfo *info = user_data; 13445+ GError *error; 13446+ GVariant *_ret; 13447+ error = NULL; 13448+ _ret = g_dbus_proxy_call_finish (proxy, res, &error); 13449+ if (!_ret) 13450+ { 13451+ g_warning ("Error setting property '%s' on interface org.freedesktop.portal.ProxyResolver: %s (%s, %d)", 13452+ info->parent_struct.name, 13453+ error->message, g_quark_to_string (error->domain), error->code); 13454+ g_error_free (error); 13455+ } 13456+ else 13457+ { 13458+ g_variant_unref (_ret); 13459+ } 13460+} 13461+ 13462+static void 13463+gxdp_proxy_resolver_proxy_set_property (GObject *object, 13464+ guint prop_id, 13465+ const GValue *value, 13466+ GParamSpec *pspec G_GNUC_UNUSED) 13467+{ 13468+ const _ExtendedGDBusPropertyInfo *info; 13469+ GVariant *variant; 13470+ g_assert (prop_id != 0 && prop_id - 1 < 1); 13471+ info = (const _ExtendedGDBusPropertyInfo *) _gxdp_proxy_resolver_property_info_pointers[prop_id - 1]; 13472+ variant = g_dbus_gvalue_to_gvariant (value, G_VARIANT_TYPE (info->parent_struct.signature)); 13473+ g_dbus_proxy_call (G_DBUS_PROXY (object), 13474+ "org.freedesktop.DBus.Properties.Set", 13475+ g_variant_new ("(ssv)", "org.freedesktop.portal.ProxyResolver", info->parent_struct.name, variant), 13476+ G_DBUS_CALL_FLAGS_NONE, 13477+ -1, 13478+ NULL, (GAsyncReadyCallback) gxdp_proxy_resolver_proxy_set_property_cb, (GDBusPropertyInfo *) &info->parent_struct); 13479+ g_variant_unref (variant); 13480+} 13481+ 13482+static void 13483+gxdp_proxy_resolver_proxy_g_signal (GDBusProxy *proxy, 13484+ const gchar *sender_name G_GNUC_UNUSED, 13485+ const gchar *signal_name, 13486+ GVariant *parameters) 13487+{ 13488+ _ExtendedGDBusSignalInfo *info; 13489+ GVariantIter iter; 13490+ GVariant *child; 13491+ GValue *paramv; 13492+ gsize num_params; 13493+ gsize n; 13494+ guint signal_id; 13495+ info = (_ExtendedGDBusSignalInfo *) g_dbus_interface_info_lookup_signal ((GDBusInterfaceInfo *) &_gxdp_proxy_resolver_interface_info.parent_struct, signal_name); 13496+ if (info == NULL) 13497+ return; 13498+ num_params = g_variant_n_children (parameters); 13499+ paramv = g_new0 (GValue, num_params + 1); 13500+ g_value_init (¶mv[0], GXDP_TYPE_PROXY_RESOLVER); 13501+ g_value_set_object (¶mv[0], proxy); 13502+ g_variant_iter_init (&iter, parameters); 13503+ n = 1; 13504+ while ((child = g_variant_iter_next_value (&iter)) != NULL) 13505+ { 13506+ _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info->parent_struct.args[n - 1]; 13507+ if (arg_info->use_gvariant) 13508+ { 13509+ g_value_init (¶mv[n], G_TYPE_VARIANT); 13510+ g_value_set_variant (¶mv[n], child); 13511+ n++; 13512+ } 13513+ else 13514+ g_dbus_gvariant_to_gvalue (child, ¶mv[n++]); 13515+ g_variant_unref (child); 13516+ } 13517+ signal_id = g_signal_lookup (info->signal_name, GXDP_TYPE_PROXY_RESOLVER); 13518+ g_signal_emitv (paramv, signal_id, 0, NULL); 13519+ for (n = 0; n < num_params + 1; n++) 13520+ g_value_unset (¶mv[n]); 13521+ g_free (paramv); 13522+} 13523+ 13524+static void 13525+gxdp_proxy_resolver_proxy_g_properties_changed (GDBusProxy *_proxy, 13526+ GVariant *changed_properties, 13527+ const gchar *const *invalidated_properties) 13528+{ 13529+ GXdpProxyResolverProxy *proxy = GXDP_PROXY_RESOLVER_PROXY (_proxy); 13530+ guint n; 13531+ const gchar *key; 13532+ GVariantIter *iter; 13533+ _ExtendedGDBusPropertyInfo *info; 13534+ g_variant_get (changed_properties, "a{sv}", &iter); 13535+ while (g_variant_iter_next (iter, "{&sv}", &key, NULL)) 13536+ { 13537+ info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_gxdp_proxy_resolver_interface_info.parent_struct, key); 13538+ g_datalist_remove_data (&proxy->priv->qdata, key); 13539+ if (info != NULL) 13540+ g_object_notify (G_OBJECT (proxy), info->hyphen_name); 13541+ } 13542+ g_variant_iter_free (iter); 13543+ for (n = 0; invalidated_properties[n] != NULL; n++) 13544+ { 13545+ info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_gxdp_proxy_resolver_interface_info.parent_struct, invalidated_properties[n]); 13546+ g_datalist_remove_data (&proxy->priv->qdata, invalidated_properties[n]); 13547+ if (info != NULL) 13548+ g_object_notify (G_OBJECT (proxy), info->hyphen_name); 13549+ } 13550+} 13551+ 13552+static guint 13553+gxdp_proxy_resolver_proxy_get_version (GXdpProxyResolver *object) 13554+{ 13555+ GXdpProxyResolverProxy *proxy = GXDP_PROXY_RESOLVER_PROXY (object); 13556+ GVariant *variant; 13557+ guint value = 0; 13558+ variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "version"); 13559+ if (variant != NULL) 13560+ { 13561+ value = g_variant_get_uint32 (variant); 13562+ g_variant_unref (variant); 13563+ } 13564+ return value; 13565+} 13566+ 13567+static void 13568+gxdp_proxy_resolver_proxy_init (GXdpProxyResolverProxy *proxy) 13569+{ 13570+#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38 13571+ proxy->priv = gxdp_proxy_resolver_proxy_get_instance_private (proxy); 13572+#else 13573+ proxy->priv = G_TYPE_INSTANCE_GET_PRIVATE (proxy, GXDP_TYPE_PROXY_RESOLVER_PROXY, GXdpProxyResolverProxyPrivate); 13574+#endif 13575+ 13576+ g_dbus_proxy_set_interface_info (G_DBUS_PROXY (proxy), gxdp_proxy_resolver_interface_info ()); 13577+} 13578+ 13579+static void 13580+gxdp_proxy_resolver_proxy_class_init (GXdpProxyResolverProxyClass *klass) 13581+{ 13582+ GObjectClass *gobject_class; 13583+ GDBusProxyClass *proxy_class; 13584+ 13585+ gobject_class = G_OBJECT_CLASS (klass); 13586+ gobject_class->finalize = gxdp_proxy_resolver_proxy_finalize; 13587+ gobject_class->get_property = gxdp_proxy_resolver_proxy_get_property; 13588+ gobject_class->set_property = gxdp_proxy_resolver_proxy_set_property; 13589+ 13590+ proxy_class = G_DBUS_PROXY_CLASS (klass); 13591+ proxy_class->g_signal = gxdp_proxy_resolver_proxy_g_signal; 13592+ proxy_class->g_properties_changed = gxdp_proxy_resolver_proxy_g_properties_changed; 13593+ 13594+ gxdp_proxy_resolver_override_properties (gobject_class, 1); 13595+ 13596+#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_38 13597+ g_type_class_add_private (klass, sizeof (GXdpProxyResolverProxyPrivate)); 13598+#endif 13599+} 13600+ 13601+static void 13602+gxdp_proxy_resolver_proxy_iface_init (GXdpProxyResolverIface *iface) 13603+{ 13604+ iface->get_version = gxdp_proxy_resolver_proxy_get_version; 13605+} 13606+ 13607+/** 13608+ * gxdp_proxy_resolver_proxy_new: 13609+ * @connection: A #GDBusConnection. 13610+ * @flags: Flags from the #GDBusProxyFlags enumeration. 13611+ * @name: (nullable): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection. 13612+ * @object_path: An object path. 13613+ * @cancellable: (nullable): A #GCancellable or %NULL. 13614+ * @callback: A #GAsyncReadyCallback to call when the request is satisfied. 13615+ * @user_data: User data to pass to @callback. 13616+ * 13617+ * Asynchronously creates a proxy for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-portal-ProxyResolver.top_of_page">org.freedesktop.portal.ProxyResolver</link>. See g_dbus_proxy_new() for more details. 13618+ * 13619+ * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). 13620+ * You can then call gxdp_proxy_resolver_proxy_new_finish() to get the result of the operation. 13621+ * 13622+ * See gxdp_proxy_resolver_proxy_new_sync() for the synchronous, blocking version of this constructor. 13623+ */ 13624+void 13625+gxdp_proxy_resolver_proxy_new ( 13626+ GDBusConnection *connection, 13627+ GDBusProxyFlags flags, 13628+ const gchar *name, 13629+ const gchar *object_path, 13630+ GCancellable *cancellable, 13631+ GAsyncReadyCallback callback, 13632+ gpointer user_data) 13633+{ 13634+ g_async_initable_new_async (GXDP_TYPE_PROXY_RESOLVER_PROXY, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "g-flags", flags, "g-name", name, "g-connection", connection, "g-object-path", object_path, "g-interface-name", "org.freedesktop.portal.ProxyResolver", NULL); 13635+} 13636+ 13637+/** 13638+ * gxdp_proxy_resolver_proxy_new_finish: 13639+ * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gxdp_proxy_resolver_proxy_new(). 13640+ * @error: Return location for error or %NULL 13641+ * 13642+ * Finishes an operation started with gxdp_proxy_resolver_proxy_new(). 13643+ * 13644+ * Returns: (transfer full) (type GXdpProxyResolverProxy): The constructed proxy object or %NULL if @error is set. 13645+ */ 13646+GXdpProxyResolver * 13647+gxdp_proxy_resolver_proxy_new_finish ( 13648+ GAsyncResult *res, 13649+ GError **error) 13650+{ 13651+ GObject *ret; 13652+ GObject *source_object; 13653+ source_object = g_async_result_get_source_object (res); 13654+ ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error); 13655+ g_object_unref (source_object); 13656+ if (ret != NULL) 13657+ return GXDP_PROXY_RESOLVER (ret); 13658+ else 13659+ return NULL; 13660+} 13661+ 13662+/** 13663+ * gxdp_proxy_resolver_proxy_new_sync: 13664+ * @connection: A #GDBusConnection. 13665+ * @flags: Flags from the #GDBusProxyFlags enumeration. 13666+ * @name: (nullable): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection. 13667+ * @object_path: An object path. 13668+ * @cancellable: (nullable): A #GCancellable or %NULL. 13669+ * @error: Return location for error or %NULL 13670+ * 13671+ * Synchronously creates a proxy for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-portal-ProxyResolver.top_of_page">org.freedesktop.portal.ProxyResolver</link>. See g_dbus_proxy_new_sync() for more details. 13672+ * 13673+ * The calling thread is blocked until a reply is received. 13674+ * 13675+ * See gxdp_proxy_resolver_proxy_new() for the asynchronous version of this constructor. 13676+ * 13677+ * Returns: (transfer full) (type GXdpProxyResolverProxy): The constructed proxy object or %NULL if @error is set. 13678+ */ 13679+GXdpProxyResolver * 13680+gxdp_proxy_resolver_proxy_new_sync ( 13681+ GDBusConnection *connection, 13682+ GDBusProxyFlags flags, 13683+ const gchar *name, 13684+ const gchar *object_path, 13685+ GCancellable *cancellable, 13686+ GError **error) 13687+{ 13688+ GInitable *ret; 13689+ ret = g_initable_new (GXDP_TYPE_PROXY_RESOLVER_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-connection", connection, "g-object-path", object_path, "g-interface-name", "org.freedesktop.portal.ProxyResolver", NULL); 13690+ if (ret != NULL) 13691+ return GXDP_PROXY_RESOLVER (ret); 13692+ else 13693+ return NULL; 13694+} 13695+ 13696+ 13697+/** 13698+ * gxdp_proxy_resolver_proxy_new_for_bus: 13699+ * @bus_type: A #GBusType. 13700+ * @flags: Flags from the #GDBusProxyFlags enumeration. 13701+ * @name: A bus name (well-known or unique). 13702+ * @object_path: An object path. 13703+ * @cancellable: (nullable): A #GCancellable or %NULL. 13704+ * @callback: A #GAsyncReadyCallback to call when the request is satisfied. 13705+ * @user_data: User data to pass to @callback. 13706+ * 13707+ * Like gxdp_proxy_resolver_proxy_new() but takes a #GBusType instead of a #GDBusConnection. 13708+ * 13709+ * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). 13710+ * You can then call gxdp_proxy_resolver_proxy_new_for_bus_finish() to get the result of the operation. 13711+ * 13712+ * See gxdp_proxy_resolver_proxy_new_for_bus_sync() for the synchronous, blocking version of this constructor. 13713+ */ 13714+void 13715+gxdp_proxy_resolver_proxy_new_for_bus ( 13716+ GBusType bus_type, 13717+ GDBusProxyFlags flags, 13718+ const gchar *name, 13719+ const gchar *object_path, 13720+ GCancellable *cancellable, 13721+ GAsyncReadyCallback callback, 13722+ gpointer user_data) 13723+{ 13724+ g_async_initable_new_async (GXDP_TYPE_PROXY_RESOLVER_PROXY, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "g-flags", flags, "g-name", name, "g-bus-type", bus_type, "g-object-path", object_path, "g-interface-name", "org.freedesktop.portal.ProxyResolver", NULL); 13725+} 13726+ 13727+/** 13728+ * gxdp_proxy_resolver_proxy_new_for_bus_finish: 13729+ * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gxdp_proxy_resolver_proxy_new_for_bus(). 13730+ * @error: Return location for error or %NULL 13731+ * 13732+ * Finishes an operation started with gxdp_proxy_resolver_proxy_new_for_bus(). 13733+ * 13734+ * Returns: (transfer full) (type GXdpProxyResolverProxy): The constructed proxy object or %NULL if @error is set. 13735+ */ 13736+GXdpProxyResolver * 13737+gxdp_proxy_resolver_proxy_new_for_bus_finish ( 13738+ GAsyncResult *res, 13739+ GError **error) 13740+{ 13741+ GObject *ret; 13742+ GObject *source_object; 13743+ source_object = g_async_result_get_source_object (res); 13744+ ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error); 13745+ g_object_unref (source_object); 13746+ if (ret != NULL) 13747+ return GXDP_PROXY_RESOLVER (ret); 13748+ else 13749+ return NULL; 13750+} 13751+ 13752+/** 13753+ * gxdp_proxy_resolver_proxy_new_for_bus_sync: 13754+ * @bus_type: A #GBusType. 13755+ * @flags: Flags from the #GDBusProxyFlags enumeration. 13756+ * @name: A bus name (well-known or unique). 13757+ * @object_path: An object path. 13758+ * @cancellable: (nullable): A #GCancellable or %NULL. 13759+ * @error: Return location for error or %NULL 13760+ * 13761+ * Like gxdp_proxy_resolver_proxy_new_sync() but takes a #GBusType instead of a #GDBusConnection. 13762+ * 13763+ * The calling thread is blocked until a reply is received. 13764+ * 13765+ * See gxdp_proxy_resolver_proxy_new_for_bus() for the asynchronous version of this constructor. 13766+ * 13767+ * Returns: (transfer full) (type GXdpProxyResolverProxy): The constructed proxy object or %NULL if @error is set. 13768+ */ 13769+GXdpProxyResolver * 13770+gxdp_proxy_resolver_proxy_new_for_bus_sync ( 13771+ GBusType bus_type, 13772+ GDBusProxyFlags flags, 13773+ const gchar *name, 13774+ const gchar *object_path, 13775+ GCancellable *cancellable, 13776+ GError **error) 13777+{ 13778+ GInitable *ret; 13779+ ret = g_initable_new (GXDP_TYPE_PROXY_RESOLVER_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-bus-type", bus_type, "g-object-path", object_path, "g-interface-name", "org.freedesktop.portal.ProxyResolver", NULL); 13780+ if (ret != NULL) 13781+ return GXDP_PROXY_RESOLVER (ret); 13782+ else 13783+ return NULL; 13784+} 13785+ 13786+ 13787+/* ------------------------------------------------------------------------ */ 13788+ 13789+/** 13790+ * GXdpProxyResolverSkeleton: 13791+ * 13792+ * The #GXdpProxyResolverSkeleton structure contains only private data and should only be accessed using the provided API. 13793+ */ 13794+ 13795+/** 13796+ * GXdpProxyResolverSkeletonClass: 13797+ * @parent_class: The parent class. 13798+ * 13799+ * Class structure for #GXdpProxyResolverSkeleton. 13800+ */ 13801+ 13802+struct _GXdpProxyResolverSkeletonPrivate 13803+{ 13804+ GValue *properties; 13805+ GList *changed_properties; 13806+ GSource *changed_properties_idle_source; 13807+ GMainContext *context; 13808+ GMutex lock; 13809+}; 13810+ 13811+static void 13812+_gxdp_proxy_resolver_skeleton_handle_method_call ( 13813+ GDBusConnection *connection G_GNUC_UNUSED, 13814+ const gchar *sender G_GNUC_UNUSED, 13815+ const gchar *object_path G_GNUC_UNUSED, 13816+ const gchar *interface_name, 13817+ const gchar *method_name, 13818+ GVariant *parameters, 13819+ GDBusMethodInvocation *invocation, 13820+ gpointer user_data) 13821+{ 13822+ GXdpProxyResolverSkeleton *skeleton = GXDP_PROXY_RESOLVER_SKELETON (user_data); 13823+ _ExtendedGDBusMethodInfo *info; 13824+ GVariantIter iter; 13825+ GVariant *child; 13826+ GValue *paramv; 13827+ gsize num_params; 13828+ guint num_extra; 13829+ gsize n; 13830+ guint signal_id; 13831+ GValue return_value = G_VALUE_INIT; 13832+ info = (_ExtendedGDBusMethodInfo *) g_dbus_method_invocation_get_method_info (invocation); 13833+ g_assert (info != NULL); 13834+ num_params = g_variant_n_children (parameters); 13835+ num_extra = info->pass_fdlist ? 3 : 2; paramv = g_new0 (GValue, num_params + num_extra); 13836+ n = 0; 13837+ g_value_init (¶mv[n], GXDP_TYPE_PROXY_RESOLVER); 13838+ g_value_set_object (¶mv[n++], skeleton); 13839+ g_value_init (¶mv[n], G_TYPE_DBUS_METHOD_INVOCATION); 13840+ g_value_set_object (¶mv[n++], invocation); 13841+ if (info->pass_fdlist) 13842+ { 13843+#ifdef G_OS_UNIX 13844+ g_value_init (¶mv[n], G_TYPE_UNIX_FD_LIST); 13845+ g_value_set_object (¶mv[n++], g_dbus_message_get_unix_fd_list (g_dbus_method_invocation_get_message (invocation))); 13846+#else 13847+ g_assert_not_reached (); 13848+#endif 13849+ } 13850+ g_variant_iter_init (&iter, parameters); 13851+ while ((child = g_variant_iter_next_value (&iter)) != NULL) 13852+ { 13853+ _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info->parent_struct.in_args[n - num_extra]; 13854+ if (arg_info->use_gvariant) 13855+ { 13856+ g_value_init (¶mv[n], G_TYPE_VARIANT); 13857+ g_value_set_variant (¶mv[n], child); 13858+ n++; 13859+ } 13860+ else 13861+ g_dbus_gvariant_to_gvalue (child, ¶mv[n++]); 13862+ g_variant_unref (child); 13863+ } 13864+ signal_id = g_signal_lookup (info->signal_name, GXDP_TYPE_PROXY_RESOLVER); 13865+ g_value_init (&return_value, G_TYPE_BOOLEAN); 13866+ g_signal_emitv (paramv, signal_id, 0, &return_value); 13867+ if (!g_value_get_boolean (&return_value)) 13868+ g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, G_DBUS_ERROR_UNKNOWN_METHOD, "Method %s is not implemented on interface %s", method_name, interface_name); 13869+ g_value_unset (&return_value); 13870+ for (n = 0; n < num_params + num_extra; n++) 13871+ g_value_unset (¶mv[n]); 13872+ g_free (paramv); 13873+} 13874+ 13875+static GVariant * 13876+_gxdp_proxy_resolver_skeleton_handle_get_property ( 13877+ GDBusConnection *connection G_GNUC_UNUSED, 13878+ const gchar *sender G_GNUC_UNUSED, 13879+ const gchar *object_path G_GNUC_UNUSED, 13880+ const gchar *interface_name G_GNUC_UNUSED, 13881+ const gchar *property_name, 13882+ GError **error, 13883+ gpointer user_data) 13884+{ 13885+ GXdpProxyResolverSkeleton *skeleton = GXDP_PROXY_RESOLVER_SKELETON (user_data); 13886+ GValue value = G_VALUE_INIT; 13887+ GParamSpec *pspec; 13888+ _ExtendedGDBusPropertyInfo *info; 13889+ GVariant *ret; 13890+ ret = NULL; 13891+ info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_gxdp_proxy_resolver_interface_info.parent_struct, property_name); 13892+ g_assert (info != NULL); 13893+ pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (skeleton), info->hyphen_name); 13894+ if (pspec == NULL) 13895+ { 13896+ g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "No property with name %s", property_name); 13897+ } 13898+ else 13899+ { 13900+ g_value_init (&value, pspec->value_type); 13901+ g_object_get_property (G_OBJECT (skeleton), info->hyphen_name, &value); 13902+ ret = g_dbus_gvalue_to_gvariant (&value, G_VARIANT_TYPE (info->parent_struct.signature)); 13903+ g_value_unset (&value); 13904+ } 13905+ return ret; 13906+} 13907+ 13908+static gboolean 13909+_gxdp_proxy_resolver_skeleton_handle_set_property ( 13910+ GDBusConnection *connection G_GNUC_UNUSED, 13911+ const gchar *sender G_GNUC_UNUSED, 13912+ const gchar *object_path G_GNUC_UNUSED, 13913+ const gchar *interface_name G_GNUC_UNUSED, 13914+ const gchar *property_name, 13915+ GVariant *variant, 13916+ GError **error, 13917+ gpointer user_data) 13918+{ 13919+ GXdpProxyResolverSkeleton *skeleton = GXDP_PROXY_RESOLVER_SKELETON (user_data); 13920+ GValue value = G_VALUE_INIT; 13921+ GParamSpec *pspec; 13922+ _ExtendedGDBusPropertyInfo *info; 13923+ gboolean ret; 13924+ ret = FALSE; 13925+ info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_gxdp_proxy_resolver_interface_info.parent_struct, property_name); 13926+ g_assert (info != NULL); 13927+ pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (skeleton), info->hyphen_name); 13928+ if (pspec == NULL) 13929+ { 13930+ g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "No property with name %s", property_name); 13931+ } 13932+ else 13933+ { 13934+ if (info->use_gvariant) 13935+ g_value_set_variant (&value, variant); 13936+ else 13937+ g_dbus_gvariant_to_gvalue (variant, &value); 13938+ g_object_set_property (G_OBJECT (skeleton), info->hyphen_name, &value); 13939+ g_value_unset (&value); 13940+ ret = TRUE; 13941+ } 13942+ return ret; 13943+} 13944+ 13945+static const GDBusInterfaceVTable _gxdp_proxy_resolver_skeleton_vtable = 13946+{ 13947+ _gxdp_proxy_resolver_skeleton_handle_method_call, 13948+ _gxdp_proxy_resolver_skeleton_handle_get_property, 13949+ _gxdp_proxy_resolver_skeleton_handle_set_property, 13950+ {NULL} 13951+}; 13952+ 13953+static GDBusInterfaceInfo * 13954+gxdp_proxy_resolver_skeleton_dbus_interface_get_info (GDBusInterfaceSkeleton *skeleton G_GNUC_UNUSED) 13955+{ 13956+ return gxdp_proxy_resolver_interface_info (); 13957+} 13958+ 13959+static GDBusInterfaceVTable * 13960+gxdp_proxy_resolver_skeleton_dbus_interface_get_vtable (GDBusInterfaceSkeleton *skeleton G_GNUC_UNUSED) 13961+{ 13962+ return (GDBusInterfaceVTable *) &_gxdp_proxy_resolver_skeleton_vtable; 13963+} 13964+ 13965+static GVariant * 13966+gxdp_proxy_resolver_skeleton_dbus_interface_get_properties (GDBusInterfaceSkeleton *_skeleton) 13967+{ 13968+ GXdpProxyResolverSkeleton *skeleton = GXDP_PROXY_RESOLVER_SKELETON (_skeleton); 13969+ 13970+ GVariantBuilder builder; 13971+ guint n; 13972+ g_variant_builder_init (&builder, G_VARIANT_TYPE ("a{sv}")); 13973+ if (_gxdp_proxy_resolver_interface_info.parent_struct.properties == NULL) 13974+ goto out; 13975+ for (n = 0; _gxdp_proxy_resolver_interface_info.parent_struct.properties[n] != NULL; n++) 13976+ { 13977+ GDBusPropertyInfo *info = _gxdp_proxy_resolver_interface_info.parent_struct.properties[n]; 13978+ if (info->flags & G_DBUS_PROPERTY_INFO_FLAGS_READABLE) 13979+ { 13980+ GVariant *value; 13981+ value = _gxdp_proxy_resolver_skeleton_handle_get_property (g_dbus_interface_skeleton_get_connection (G_DBUS_INTERFACE_SKELETON (skeleton)), NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "org.freedesktop.portal.ProxyResolver", info->name, NULL, skeleton); 13982+ if (value != NULL) 13983+ { 13984+ g_variant_take_ref (value); 13985+ g_variant_builder_add (&builder, "{sv}", info->name, value); 13986+ g_variant_unref (value); 13987+ } 13988+ } 13989+ } 13990+out: 13991+ return g_variant_builder_end (&builder); 13992+} 13993+ 13994+static gboolean _gxdp_proxy_resolver_emit_changed (gpointer user_data); 13995+ 13996+static void 13997+gxdp_proxy_resolver_skeleton_dbus_interface_flush (GDBusInterfaceSkeleton *_skeleton) 13998+{ 13999+ GXdpProxyResolverSkeleton *skeleton = GXDP_PROXY_RESOLVER_SKELETON (_skeleton); 14000+ gboolean emit_changed = FALSE; 14001+ 14002+ g_mutex_lock (&skeleton->priv->lock); 14003+ if (skeleton->priv->changed_properties_idle_source != NULL) 14004+ { 14005+ g_source_destroy (skeleton->priv->changed_properties_idle_source); 14006+ skeleton->priv->changed_properties_idle_source = NULL; 14007+ emit_changed = TRUE; 14008+ } 14009+ g_mutex_unlock (&skeleton->priv->lock); 14010+ 14011+ if (emit_changed) 14012+ _gxdp_proxy_resolver_emit_changed (skeleton); 14013+} 14014+ 14015+static void gxdp_proxy_resolver_skeleton_iface_init (GXdpProxyResolverIface *iface); 14016+#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38 14017+G_DEFINE_TYPE_WITH_CODE (GXdpProxyResolverSkeleton, gxdp_proxy_resolver_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON, 14018+ G_ADD_PRIVATE (GXdpProxyResolverSkeleton) 14019+ G_IMPLEMENT_INTERFACE (GXDP_TYPE_PROXY_RESOLVER, gxdp_proxy_resolver_skeleton_iface_init)) 14020+ 14021+#else 14022+G_DEFINE_TYPE_WITH_CODE (GXdpProxyResolverSkeleton, gxdp_proxy_resolver_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON, 14023+ G_IMPLEMENT_INTERFACE (GXDP_TYPE_PROXY_RESOLVER, gxdp_proxy_resolver_skeleton_iface_init)) 14024+ 14025+#endif 14026+static void 14027+gxdp_proxy_resolver_skeleton_finalize (GObject *object) 14028+{ 14029+ GXdpProxyResolverSkeleton *skeleton = GXDP_PROXY_RESOLVER_SKELETON (object); 14030+ guint n; 14031+ for (n = 0; n < 1; n++) 14032+ g_value_unset (&skeleton->priv->properties[n]); 14033+ g_free (skeleton->priv->properties); 14034+ g_list_free_full (skeleton->priv->changed_properties, (GDestroyNotify) _changed_property_free); 14035+ if (skeleton->priv->changed_properties_idle_source != NULL) 14036+ g_source_destroy (skeleton->priv->changed_properties_idle_source); 14037+ g_main_context_unref (skeleton->priv->context); 14038+ g_mutex_clear (&skeleton->priv->lock); 14039+ G_OBJECT_CLASS (gxdp_proxy_resolver_skeleton_parent_class)->finalize (object); 14040+} 14041+ 14042+static void 14043+gxdp_proxy_resolver_skeleton_get_property (GObject *object, 14044+ guint prop_id, 14045+ GValue *value, 14046+ GParamSpec *pspec G_GNUC_UNUSED) 14047+{ 14048+ GXdpProxyResolverSkeleton *skeleton = GXDP_PROXY_RESOLVER_SKELETON (object); 14049+ g_assert (prop_id != 0 && prop_id - 1 < 1); 14050+ g_mutex_lock (&skeleton->priv->lock); 14051+ g_value_copy (&skeleton->priv->properties[prop_id - 1], value); 14052+ g_mutex_unlock (&skeleton->priv->lock); 14053+} 14054+ 14055+static gboolean 14056+_gxdp_proxy_resolver_emit_changed (gpointer user_data) 14057+{ 14058+ GXdpProxyResolverSkeleton *skeleton = GXDP_PROXY_RESOLVER_SKELETON (user_data); 14059+ GList *l; 14060+ GVariantBuilder builder; 14061+ GVariantBuilder invalidated_builder; 14062+ guint num_changes; 14063+ 14064+ g_mutex_lock (&skeleton->priv->lock); 14065+ g_variant_builder_init (&builder, G_VARIANT_TYPE ("a{sv}")); 14066+ g_variant_builder_init (&invalidated_builder, G_VARIANT_TYPE ("as")); 14067+ for (l = skeleton->priv->changed_properties, num_changes = 0; l != NULL; l = l->next) 14068+ { 14069+ ChangedProperty *cp = l->data; 14070+ GVariant *variant; 14071+ const GValue *cur_value; 14072+ 14073+ cur_value = &skeleton->priv->properties[cp->prop_id - 1]; 14074+ if (!_g_value_equal (cur_value, &cp->orig_value)) 14075+ { 14076+ variant = g_dbus_gvalue_to_gvariant (cur_value, G_VARIANT_TYPE (cp->info->parent_struct.signature)); 14077+ g_variant_builder_add (&builder, "{sv}", cp->info->parent_struct.name, variant); 14078+ g_variant_unref (variant); 14079+ num_changes++; 14080+ } 14081+ } 14082+ if (num_changes > 0) 14083+ { 14084+ GList *connections, *ll; 14085+ GVariant *signal_variant; 14086+ signal_variant = g_variant_ref_sink (g_variant_new ("(sa{sv}as)", "org.freedesktop.portal.ProxyResolver", 14087+ &builder, &invalidated_builder)); 14088+ connections = g_dbus_interface_skeleton_get_connections (G_DBUS_INTERFACE_SKELETON (skeleton)); 14089+ for (ll = connections; ll != NULL; ll = ll->next) 14090+ { 14091+ GDBusConnection *connection = ll->data; 14092+ 14093+ g_dbus_connection_emit_signal (connection, 14094+ NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), 14095+ "org.freedesktop.DBus.Properties", 14096+ "PropertiesChanged", 14097+ signal_variant, 14098+ NULL); 14099+ } 14100+ g_variant_unref (signal_variant); 14101+ g_list_free_full (connections, g_object_unref); 14102+ } 14103+ else 14104+ { 14105+ g_variant_builder_clear (&builder); 14106+ g_variant_builder_clear (&invalidated_builder); 14107+ } 14108+ g_list_free_full (skeleton->priv->changed_properties, (GDestroyNotify) _changed_property_free); 14109+ skeleton->priv->changed_properties = NULL; 14110+ skeleton->priv->changed_properties_idle_source = NULL; 14111+ g_mutex_unlock (&skeleton->priv->lock); 14112+ return FALSE; 14113+} 14114+ 14115+static void 14116+_gxdp_proxy_resolver_schedule_emit_changed (GXdpProxyResolverSkeleton *skeleton, const _ExtendedGDBusPropertyInfo *info, guint prop_id, const GValue *orig_value) 14117+{ 14118+ ChangedProperty *cp; 14119+ GList *l; 14120+ cp = NULL; 14121+ for (l = skeleton->priv->changed_properties; l != NULL; l = l->next) 14122+ { 14123+ ChangedProperty *i_cp = l->data; 14124+ if (i_cp->info == info) 14125+ { 14126+ cp = i_cp; 14127+ break; 14128+ } 14129+ } 14130+ if (cp == NULL) 14131+ { 14132+ cp = g_new0 (ChangedProperty, 1); 14133+ cp->prop_id = prop_id; 14134+ cp->info = info; 14135+ skeleton->priv->changed_properties = g_list_prepend (skeleton->priv->changed_properties, cp); 14136+ g_value_init (&cp->orig_value, G_VALUE_TYPE (orig_value)); 14137+ g_value_copy (orig_value, &cp->orig_value); 14138+ } 14139+} 14140+ 14141+static void 14142+gxdp_proxy_resolver_skeleton_notify (GObject *object, 14143+ GParamSpec *pspec G_GNUC_UNUSED) 14144+{ 14145+ GXdpProxyResolverSkeleton *skeleton = GXDP_PROXY_RESOLVER_SKELETON (object); 14146+ g_mutex_lock (&skeleton->priv->lock); 14147+ if (skeleton->priv->changed_properties != NULL && 14148+ skeleton->priv->changed_properties_idle_source == NULL) 14149+ { 14150+ skeleton->priv->changed_properties_idle_source = g_idle_source_new (); 14151+ g_source_set_priority (skeleton->priv->changed_properties_idle_source, G_PRIORITY_DEFAULT); 14152+ g_source_set_callback (skeleton->priv->changed_properties_idle_source, _gxdp_proxy_resolver_emit_changed, g_object_ref (skeleton), (GDestroyNotify) g_object_unref); 14153+ g_source_set_name (skeleton->priv->changed_properties_idle_source, "[generated] _gxdp_proxy_resolver_emit_changed"); 14154+ g_source_attach (skeleton->priv->changed_properties_idle_source, skeleton->priv->context); 14155+ g_source_unref (skeleton->priv->changed_properties_idle_source); 14156+ } 14157+ g_mutex_unlock (&skeleton->priv->lock); 14158+} 14159+ 14160+static void 14161+gxdp_proxy_resolver_skeleton_set_property (GObject *object, 14162+ guint prop_id, 14163+ const GValue *value, 14164+ GParamSpec *pspec) 14165+{ 14166+ const _ExtendedGDBusPropertyInfo *info; 14167+ GXdpProxyResolverSkeleton *skeleton = GXDP_PROXY_RESOLVER_SKELETON (object); 14168+ g_assert (prop_id != 0 && prop_id - 1 < 1); 14169+ info = (const _ExtendedGDBusPropertyInfo *) _gxdp_proxy_resolver_property_info_pointers[prop_id - 1]; 14170+ g_mutex_lock (&skeleton->priv->lock); 14171+ g_object_freeze_notify (object); 14172+ if (!_g_value_equal (value, &skeleton->priv->properties[prop_id - 1])) 14173+ { 14174+ if (g_dbus_interface_skeleton_get_connection (G_DBUS_INTERFACE_SKELETON (skeleton)) != NULL && 14175+ info->emits_changed_signal) 14176+ _gxdp_proxy_resolver_schedule_emit_changed (skeleton, info, prop_id, &skeleton->priv->properties[prop_id - 1]); 14177+ g_value_copy (value, &skeleton->priv->properties[prop_id - 1]); 14178+ g_object_notify_by_pspec (object, pspec); 14179+ } 14180+ g_mutex_unlock (&skeleton->priv->lock); 14181+ g_object_thaw_notify (object); 14182+} 14183+ 14184+static void 14185+gxdp_proxy_resolver_skeleton_init (GXdpProxyResolverSkeleton *skeleton) 14186+{ 14187+#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38 14188+ skeleton->priv = gxdp_proxy_resolver_skeleton_get_instance_private (skeleton); 14189+#else 14190+ skeleton->priv = G_TYPE_INSTANCE_GET_PRIVATE (skeleton, GXDP_TYPE_PROXY_RESOLVER_SKELETON, GXdpProxyResolverSkeletonPrivate); 14191+#endif 14192+ 14193+ g_mutex_init (&skeleton->priv->lock); 14194+ skeleton->priv->context = g_main_context_ref_thread_default (); 14195+ skeleton->priv->properties = g_new0 (GValue, 1); 14196+ g_value_init (&skeleton->priv->properties[0], G_TYPE_UINT); 14197+} 14198+ 14199+static guint 14200+gxdp_proxy_resolver_skeleton_get_version (GXdpProxyResolver *object) 14201+{ 14202+ GXdpProxyResolverSkeleton *skeleton = GXDP_PROXY_RESOLVER_SKELETON (object); 14203+ guint value; 14204+ g_mutex_lock (&skeleton->priv->lock); 14205+ value = g_value_get_uint (&(skeleton->priv->properties[0])); 14206+ g_mutex_unlock (&skeleton->priv->lock); 14207+ return value; 14208+} 14209+ 14210+static void 14211+gxdp_proxy_resolver_skeleton_class_init (GXdpProxyResolverSkeletonClass *klass) 14212+{ 14213+ GObjectClass *gobject_class; 14214+ GDBusInterfaceSkeletonClass *skeleton_class; 14215+ 14216+ gobject_class = G_OBJECT_CLASS (klass); 14217+ gobject_class->finalize = gxdp_proxy_resolver_skeleton_finalize; 14218+ gobject_class->get_property = gxdp_proxy_resolver_skeleton_get_property; 14219+ gobject_class->set_property = gxdp_proxy_resolver_skeleton_set_property; 14220+ gobject_class->notify = gxdp_proxy_resolver_skeleton_notify; 14221+ 14222+ 14223+ gxdp_proxy_resolver_override_properties (gobject_class, 1); 14224+ 14225+ skeleton_class = G_DBUS_INTERFACE_SKELETON_CLASS (klass); 14226+ skeleton_class->get_info = gxdp_proxy_resolver_skeleton_dbus_interface_get_info; 14227+ skeleton_class->get_properties = gxdp_proxy_resolver_skeleton_dbus_interface_get_properties; 14228+ skeleton_class->flush = gxdp_proxy_resolver_skeleton_dbus_interface_flush; 14229+ skeleton_class->get_vtable = gxdp_proxy_resolver_skeleton_dbus_interface_get_vtable; 14230+ 14231+#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_38 14232+ g_type_class_add_private (klass, sizeof (GXdpProxyResolverSkeletonPrivate)); 14233+#endif 14234+} 14235+ 14236+static void 14237+gxdp_proxy_resolver_skeleton_iface_init (GXdpProxyResolverIface *iface) 14238+{ 14239+ iface->get_version = gxdp_proxy_resolver_skeleton_get_version; 14240+} 14241+ 14242+/** 14243+ * gxdp_proxy_resolver_skeleton_new: 14244+ * 14245+ * Creates a skeleton object for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-portal-ProxyResolver.top_of_page">org.freedesktop.portal.ProxyResolver</link>. 14246+ * 14247+ * Returns: (transfer full) (type GXdpProxyResolverSkeleton): The skeleton object. 14248+ */ 14249+GXdpProxyResolver * 14250+gxdp_proxy_resolver_skeleton_new (void) 14251+{ 14252+ return GXDP_PROXY_RESOLVER (g_object_new (GXDP_TYPE_PROXY_RESOLVER_SKELETON, NULL)); 14253+} 14254+ 14255+/* ------------------------------------------------------------------------ 14256+ * Code for interface org.freedesktop.portal.Trash 14257+ * ------------------------------------------------------------------------ 14258+ */ 14259+ 14260+/** 14261+ * SECTION:GXdpTrash 14262+ * @title: GXdpTrash 14263+ * @short_description: Generated C code for the org.freedesktop.portal.Trash D-Bus interface 14264+ * 14265+ * This section contains code for working with the <link linkend="gdbus-interface-org-freedesktop-portal-Trash.top_of_page">org.freedesktop.portal.Trash</link> D-Bus interface in C. 14266+ */ 14267+ 14268+/* ---- Introspection data for org.freedesktop.portal.Trash ---- */ 14269+ 14270+static const _ExtendedGDBusArgInfo _gxdp_trash_method_info_trash_file_IN_ARG_fd = 14271+{ 14272+ { 14273+ -1, 14274+ (gchar *) "fd", 14275+ (gchar *) "h", 14276+ NULL 14277+ }, 14278+ FALSE 14279+}; 14280+ 14281+static const GDBusArgInfo * const _gxdp_trash_method_info_trash_file_IN_ARG_pointers[] = 14282+{ 14283+ &_gxdp_trash_method_info_trash_file_IN_ARG_fd.parent_struct, 14284+ NULL 14285+}; 14286+ 14287+static const _ExtendedGDBusArgInfo _gxdp_trash_method_info_trash_file_OUT_ARG_result = 14288+{ 14289+ { 14290+ -1, 14291+ (gchar *) "result", 14292+ (gchar *) "u", 14293+ NULL 14294+ }, 14295+ FALSE 14296+}; 14297+ 14298+static const GDBusArgInfo * const _gxdp_trash_method_info_trash_file_OUT_ARG_pointers[] = 14299+{ 14300+ &_gxdp_trash_method_info_trash_file_OUT_ARG_result.parent_struct, 14301+ NULL 14302+}; 14303+ 14304+static const _ExtendedGDBusMethodInfo _gxdp_trash_method_info_trash_file = 14305+{ 14306+ { 14307+ -1, 14308+ (gchar *) "TrashFile", 14309+ (GDBusArgInfo **) &_gxdp_trash_method_info_trash_file_IN_ARG_pointers, 14310+ (GDBusArgInfo **) &_gxdp_trash_method_info_trash_file_OUT_ARG_pointers, 14311+ NULL 14312+ }, 14313+ "handle-trash-file", 14314+ TRUE 14315+}; 14316+ 14317+static const GDBusMethodInfo * const _gxdp_trash_method_info_pointers[] = 14318+{ 14319+ &_gxdp_trash_method_info_trash_file.parent_struct, 14320+ NULL 14321+}; 14322+ 14323+static const _ExtendedGDBusPropertyInfo _gxdp_trash_property_info_version = 14324+{ 14325+ { 14326+ -1, 14327+ (gchar *) "version", 14328+ (gchar *) "u", 14329+ G_DBUS_PROPERTY_INFO_FLAGS_READABLE, 14330+ NULL 14331+ }, 14332+ "version", 14333+ FALSE, 14334+ TRUE 14335+}; 14336+ 14337+static const GDBusPropertyInfo * const _gxdp_trash_property_info_pointers[] = 14338+{ 14339+ &_gxdp_trash_property_info_version.parent_struct, 14340+ NULL 14341+}; 14342+ 14343+static const _ExtendedGDBusInterfaceInfo _gxdp_trash_interface_info = 14344+{ 14345+ { 14346+ -1, 14347+ (gchar *) "org.freedesktop.portal.Trash", 14348+ (GDBusMethodInfo **) &_gxdp_trash_method_info_pointers, 14349+ NULL, 14350+ (GDBusPropertyInfo **) &_gxdp_trash_property_info_pointers, 14351+ NULL 14352+ }, 14353+ "trash", 14354+}; 14355+ 14356+ 14357+/** 14358+ * gxdp_trash_interface_info: 14359+ * 14360+ * Gets a machine-readable description of the <link linkend="gdbus-interface-org-freedesktop-portal-Trash.top_of_page">org.freedesktop.portal.Trash</link> D-Bus interface. 14361+ * 14362+ * Returns: (transfer none): A #GDBusInterfaceInfo. Do not free. 14363+ */ 14364+GDBusInterfaceInfo * 14365+gxdp_trash_interface_info (void) 14366+{ 14367+ return (GDBusInterfaceInfo *) &_gxdp_trash_interface_info.parent_struct; 14368+} 14369+ 14370+/** 14371+ * gxdp_trash_override_properties: 14372+ * @klass: The class structure for a #GObject derived class. 14373+ * @property_id_begin: The property id to assign to the first overridden property. 14374+ * 14375+ * Overrides all #GObject properties in the #GXdpTrash interface for a concrete class. 14376+ * The properties are overridden in the order they are defined. 14377+ * 14378+ * Returns: The last property id. 14379+ */ 14380+guint 14381+gxdp_trash_override_properties (GObjectClass *klass, guint property_id_begin) 14382+{ 14383+ g_object_class_override_property (klass, property_id_begin++, "version"); 14384+ return property_id_begin - 1; 14385+} 14386+ 14387+ 14388+ 14389+/** 14390+ * GXdpTrash: 14391+ * 14392+ * Abstract interface type for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-portal-Trash.top_of_page">org.freedesktop.portal.Trash</link>. 14393+ */ 14394+ 14395+/** 14396+ * GXdpTrashIface: 14397+ * @parent_iface: The parent interface. 14398+ * @handle_trash_file: Handler for the #GXdpTrash::handle-trash-file signal. 14399+ * @get_version: Getter for the #GXdpTrash:version property. 14400+ * 14401+ * Virtual table for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-portal-Trash.top_of_page">org.freedesktop.portal.Trash</link>. 14402+ */ 14403+ 14404+typedef GXdpTrashIface GXdpTrashInterface; 14405+G_DEFINE_INTERFACE (GXdpTrash, gxdp_trash, G_TYPE_OBJECT) 14406+ 14407+static void 14408+gxdp_trash_default_init (GXdpTrashIface *iface) 14409+{ 14410+ /* GObject signals for incoming D-Bus method calls: */ 14411+ /** 14412+ * GXdpTrash::handle-trash-file: 14413+ * @object: A #GXdpTrash. 14414+ * @invocation: A #GDBusMethodInvocation. 14415+ * @fd_list: (nullable): A #GUnixFDList or %NULL. 14416+ * @arg_fd: Argument passed by remote caller. 14417+ * 14418+ * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-portal-Trash.TrashFile">TrashFile()</link> D-Bus method. 14419+ * 14420+ * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call gxdp_trash_complete_trash_file() or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. 14421+ * 14422+ * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run. 14423+ */ 14424+ g_signal_new ("handle-trash-file", 14425+ G_TYPE_FROM_INTERFACE (iface), 14426+ G_SIGNAL_RUN_LAST, 14427+ G_STRUCT_OFFSET (GXdpTrashIface, handle_trash_file), 14428+ g_signal_accumulator_true_handled, 14429+ NULL, 14430+ g_cclosure_marshal_generic, 14431+ G_TYPE_BOOLEAN, 14432+ 3, 14433+ G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_UNIX_FD_LIST, G_TYPE_VARIANT); 14434+ 14435+ /* GObject properties for D-Bus properties: */ 14436+ /** 14437+ * GXdpTrash:version: 14438+ * 14439+ * Represents the D-Bus property <link linkend="gdbus-property-org-freedesktop-portal-Trash.version">"version"</link>. 14440+ * 14441+ * Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side. 14442+ */ 14443+ g_object_interface_install_property (iface, 14444+ g_param_spec_uint ("version", "version", "version", 0, G_MAXUINT32, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); 14445+} 14446+ 14447+/** 14448+ * gxdp_trash_get_version: (skip) 14449+ * @object: A #GXdpTrash. 14450+ * 14451+ * Gets the value of the <link linkend="gdbus-property-org-freedesktop-portal-Trash.version">"version"</link> D-Bus property. 14452+ * 14453+ * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side. 14454+ * 14455+ * Returns: The property value. 14456+ */ 14457+guint 14458+gxdp_trash_get_version (GXdpTrash *object) 14459+{ 14460+ return GXDP_TRASH_GET_IFACE (object)->get_version (object); 14461+} 14462+ 14463+/** 14464+ * gxdp_trash_set_version: (skip) 14465+ * @object: A #GXdpTrash. 14466+ * @value: The value to set. 14467+ * 14468+ * Sets the <link linkend="gdbus-property-org-freedesktop-portal-Trash.version">"version"</link> D-Bus property to @value. 14469+ * 14470+ * Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side. 14471+ */ 14472+void 14473+gxdp_trash_set_version (GXdpTrash *object, guint value) 14474+{ 14475+ g_object_set (G_OBJECT (object), "version", value, NULL); 14476+} 14477+ 14478+/** 14479+ * gxdp_trash_call_trash_file: 14480+ * @proxy: A #GXdpTrashProxy. 14481+ * @arg_fd: Argument to pass with the method invocation. 14482+ * @fd_list: (nullable): A #GUnixFDList or %NULL. 14483+ * @cancellable: (nullable): A #GCancellable or %NULL. 14484+ * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. 14485+ * @user_data: User data to pass to @callback. 14486+ * 14487+ * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-portal-Trash.TrashFile">TrashFile()</link> D-Bus method on @proxy. 14488+ * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). 14489+ * You can then call gxdp_trash_call_trash_file_finish() to get the result of the operation. 14490+ * 14491+ * See gxdp_trash_call_trash_file_sync() for the synchronous, blocking version of this method. 14492+ */ 14493+void 14494+gxdp_trash_call_trash_file ( 14495+ GXdpTrash *proxy, 14496+ GVariant *arg_fd, 14497+ GUnixFDList *fd_list, 14498+ GCancellable *cancellable, 14499+ GAsyncReadyCallback callback, 14500+ gpointer user_data) 14501+{ 14502+ g_dbus_proxy_call_with_unix_fd_list (G_DBUS_PROXY (proxy), 14503+ "TrashFile", 14504+ g_variant_new ("(@h)", 14505+ arg_fd), 14506+ G_DBUS_CALL_FLAGS_NONE, 14507+ -1, 14508+ fd_list, 14509+ cancellable, 14510+ callback, 14511+ user_data); 14512+} 14513+ 14514+/** 14515+ * gxdp_trash_call_trash_file_finish: 14516+ * @proxy: A #GXdpTrashProxy. 14517+ * @out_result: (out) (optional): Return location for return parameter or %NULL to ignore. 14518+ * @out_fd_list: (out) (optional): Return location for a #GUnixFDList or %NULL to ignore. 14519+ * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gxdp_trash_call_trash_file(). 14520+ * @error: Return location for error or %NULL. 14521+ * 14522+ * Finishes an operation started with gxdp_trash_call_trash_file(). 14523+ * 14524+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 14525+ */ 14526+gboolean 14527+gxdp_trash_call_trash_file_finish ( 14528+ GXdpTrash *proxy, 14529+ guint *out_result, 14530+ GUnixFDList **out_fd_list, 14531+ GAsyncResult *res, 14532+ GError **error) 14533+{ 14534+ GVariant *_ret; 14535+ _ret = g_dbus_proxy_call_with_unix_fd_list_finish (G_DBUS_PROXY (proxy), out_fd_list, res, error); 14536+ if (_ret == NULL) 14537+ goto _out; 14538+ g_variant_get (_ret, 14539+ "(u)", 14540+ out_result); 14541+ g_variant_unref (_ret); 14542+_out: 14543+ return _ret != NULL; 14544+} 14545+ 14546+/** 14547+ * gxdp_trash_call_trash_file_sync: 14548+ * @proxy: A #GXdpTrashProxy. 14549+ * @arg_fd: Argument to pass with the method invocation. 14550+ * @fd_list: (nullable): A #GUnixFDList or %NULL. 14551+ * @out_result: (out) (optional): Return location for return parameter or %NULL to ignore. 14552+ * @out_fd_list: (out): Return location for a #GUnixFDList or %NULL. 14553+ * @cancellable: (nullable): A #GCancellable or %NULL. 14554+ * @error: Return location for error or %NULL. 14555+ * 14556+ * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-portal-Trash.TrashFile">TrashFile()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received. 14557+ * 14558+ * See gxdp_trash_call_trash_file() for the asynchronous version of this method. 14559+ * 14560+ * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set. 14561+ */ 14562+gboolean 14563+gxdp_trash_call_trash_file_sync ( 14564+ GXdpTrash *proxy, 14565+ GVariant *arg_fd, 14566+ GUnixFDList *fd_list, 14567+ guint *out_result, 14568+ GUnixFDList **out_fd_list, 14569+ GCancellable *cancellable, 14570+ GError **error) 14571+{ 14572+ GVariant *_ret; 14573+ _ret = g_dbus_proxy_call_with_unix_fd_list_sync (G_DBUS_PROXY (proxy), 14574+ "TrashFile", 14575+ g_variant_new ("(@h)", 14576+ arg_fd), 14577+ G_DBUS_CALL_FLAGS_NONE, 14578+ -1, 14579+ fd_list, 14580+ out_fd_list, 14581+ cancellable, 14582+ error); 14583+ if (_ret == NULL) 14584+ goto _out; 14585+ g_variant_get (_ret, 14586+ "(u)", 14587+ out_result); 14588+ g_variant_unref (_ret); 14589+_out: 14590+ return _ret != NULL; 14591+} 14592+ 14593+/** 14594+ * gxdp_trash_complete_trash_file: 14595+ * @object: A #GXdpTrash. 14596+ * @invocation: (transfer full): A #GDBusMethodInvocation. 14597+ * @fd_list: (nullable): A #GUnixFDList or %NULL. 14598+ * @result: Parameter to return. 14599+ * 14600+ * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-portal-Trash.TrashFile">TrashFile()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar. 14601+ * 14602+ * This method will free @invocation, you cannot use it afterwards. 14603+ */ 14604+void 14605+gxdp_trash_complete_trash_file ( 14606+ GXdpTrash *object G_GNUC_UNUSED, 14607+ GDBusMethodInvocation *invocation, 14608+ GUnixFDList *fd_list, 14609+ guint result) 14610+{ 14611+ g_dbus_method_invocation_return_value_with_unix_fd_list (invocation, 14612+ g_variant_new ("(u)", 14613+ result), 14614+ fd_list); 14615+} 14616+ 14617+/* ------------------------------------------------------------------------ */ 14618+ 14619+/** 14620+ * GXdpTrashProxy: 14621+ * 14622+ * The #GXdpTrashProxy structure contains only private data and should only be accessed using the provided API. 14623+ */ 14624+ 14625+/** 14626+ * GXdpTrashProxyClass: 14627+ * @parent_class: The parent class. 14628+ * 14629+ * Class structure for #GXdpTrashProxy. 14630+ */ 14631+ 14632+struct _GXdpTrashProxyPrivate 14633+{ 14634+ GData *qdata; 14635+}; 14636+ 14637+static void gxdp_trash_proxy_iface_init (GXdpTrashIface *iface); 14638+ 14639+#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38 14640+G_DEFINE_TYPE_WITH_CODE (GXdpTrashProxy, gxdp_trash_proxy, G_TYPE_DBUS_PROXY, 14641+ G_ADD_PRIVATE (GXdpTrashProxy) 14642+ G_IMPLEMENT_INTERFACE (GXDP_TYPE_TRASH, gxdp_trash_proxy_iface_init)) 14643+ 14644+#else 14645+G_DEFINE_TYPE_WITH_CODE (GXdpTrashProxy, gxdp_trash_proxy, G_TYPE_DBUS_PROXY, 14646+ G_IMPLEMENT_INTERFACE (GXDP_TYPE_TRASH, gxdp_trash_proxy_iface_init)) 14647+ 14648+#endif 14649+static void 14650+gxdp_trash_proxy_finalize (GObject *object) 14651+{ 14652+ GXdpTrashProxy *proxy = GXDP_TRASH_PROXY (object); 14653+ g_datalist_clear (&proxy->priv->qdata); 14654+ G_OBJECT_CLASS (gxdp_trash_proxy_parent_class)->finalize (object); 14655+} 14656+ 14657+static void 14658+gxdp_trash_proxy_get_property (GObject *object, 14659+ guint prop_id, 14660+ GValue *value, 14661+ GParamSpec *pspec G_GNUC_UNUSED) 14662+{ 14663+ const _ExtendedGDBusPropertyInfo *info; 14664+ GVariant *variant; 14665+ g_assert (prop_id != 0 && prop_id - 1 < 1); 14666+ info = (const _ExtendedGDBusPropertyInfo *) _gxdp_trash_property_info_pointers[prop_id - 1]; 14667+ variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (object), info->parent_struct.name); 14668+ if (info->use_gvariant) 14669+ { 14670+ g_value_set_variant (value, variant); 14671+ } 14672+ else 14673+ { 14674+ if (variant != NULL) 14675+ g_dbus_gvariant_to_gvalue (variant, value); 14676+ } 14677+ if (variant != NULL) 14678+ g_variant_unref (variant); 14679+} 14680+ 14681+static void 14682+gxdp_trash_proxy_set_property_cb (GDBusProxy *proxy, 14683+ GAsyncResult *res, 14684+ gpointer user_data) 14685+{ 14686+ const _ExtendedGDBusPropertyInfo *info = user_data; 14687+ GError *error; 14688+ GVariant *_ret; 14689+ error = NULL; 14690+ _ret = g_dbus_proxy_call_finish (proxy, res, &error); 14691+ if (!_ret) 14692+ { 14693+ g_warning ("Error setting property '%s' on interface org.freedesktop.portal.Trash: %s (%s, %d)", 14694+ info->parent_struct.name, 14695+ error->message, g_quark_to_string (error->domain), error->code); 14696+ g_error_free (error); 14697+ } 14698+ else 14699+ { 14700+ g_variant_unref (_ret); 14701+ } 14702+} 14703+ 14704+static void 14705+gxdp_trash_proxy_set_property (GObject *object, 14706+ guint prop_id, 14707+ const GValue *value, 14708+ GParamSpec *pspec G_GNUC_UNUSED) 14709+{ 14710+ const _ExtendedGDBusPropertyInfo *info; 14711+ GVariant *variant; 14712+ g_assert (prop_id != 0 && prop_id - 1 < 1); 14713+ info = (const _ExtendedGDBusPropertyInfo *) _gxdp_trash_property_info_pointers[prop_id - 1]; 14714+ variant = g_dbus_gvalue_to_gvariant (value, G_VARIANT_TYPE (info->parent_struct.signature)); 14715+ g_dbus_proxy_call (G_DBUS_PROXY (object), 14716+ "org.freedesktop.DBus.Properties.Set", 14717+ g_variant_new ("(ssv)", "org.freedesktop.portal.Trash", info->parent_struct.name, variant), 14718+ G_DBUS_CALL_FLAGS_NONE, 14719+ -1, 14720+ NULL, (GAsyncReadyCallback) gxdp_trash_proxy_set_property_cb, (GDBusPropertyInfo *) &info->parent_struct); 14721+ g_variant_unref (variant); 14722+} 14723+ 14724+static void 14725+gxdp_trash_proxy_g_signal (GDBusProxy *proxy, 14726+ const gchar *sender_name G_GNUC_UNUSED, 14727+ const gchar *signal_name, 14728+ GVariant *parameters) 14729+{ 14730+ _ExtendedGDBusSignalInfo *info; 14731+ GVariantIter iter; 14732+ GVariant *child; 14733+ GValue *paramv; 14734+ gsize num_params; 14735+ gsize n; 14736+ guint signal_id; 14737+ info = (_ExtendedGDBusSignalInfo *) g_dbus_interface_info_lookup_signal ((GDBusInterfaceInfo *) &_gxdp_trash_interface_info.parent_struct, signal_name); 14738+ if (info == NULL) 14739+ return; 14740+ num_params = g_variant_n_children (parameters); 14741+ paramv = g_new0 (GValue, num_params + 1); 14742+ g_value_init (¶mv[0], GXDP_TYPE_TRASH); 14743+ g_value_set_object (¶mv[0], proxy); 14744+ g_variant_iter_init (&iter, parameters); 14745+ n = 1; 14746+ while ((child = g_variant_iter_next_value (&iter)) != NULL) 14747+ { 14748+ _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info->parent_struct.args[n - 1]; 14749+ if (arg_info->use_gvariant) 14750+ { 14751+ g_value_init (¶mv[n], G_TYPE_VARIANT); 14752+ g_value_set_variant (¶mv[n], child); 14753+ n++; 14754+ } 14755+ else 14756+ g_dbus_gvariant_to_gvalue (child, ¶mv[n++]); 14757+ g_variant_unref (child); 14758+ } 14759+ signal_id = g_signal_lookup (info->signal_name, GXDP_TYPE_TRASH); 14760+ g_signal_emitv (paramv, signal_id, 0, NULL); 14761+ for (n = 0; n < num_params + 1; n++) 14762+ g_value_unset (¶mv[n]); 14763+ g_free (paramv); 14764+} 14765+ 14766+static void 14767+gxdp_trash_proxy_g_properties_changed (GDBusProxy *_proxy, 14768+ GVariant *changed_properties, 14769+ const gchar *const *invalidated_properties) 14770+{ 14771+ GXdpTrashProxy *proxy = GXDP_TRASH_PROXY (_proxy); 14772+ guint n; 14773+ const gchar *key; 14774+ GVariantIter *iter; 14775+ _ExtendedGDBusPropertyInfo *info; 14776+ g_variant_get (changed_properties, "a{sv}", &iter); 14777+ while (g_variant_iter_next (iter, "{&sv}", &key, NULL)) 14778+ { 14779+ info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_gxdp_trash_interface_info.parent_struct, key); 14780+ g_datalist_remove_data (&proxy->priv->qdata, key); 14781+ if (info != NULL) 14782+ g_object_notify (G_OBJECT (proxy), info->hyphen_name); 14783+ } 14784+ g_variant_iter_free (iter); 14785+ for (n = 0; invalidated_properties[n] != NULL; n++) 14786+ { 14787+ info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_gxdp_trash_interface_info.parent_struct, invalidated_properties[n]); 14788+ g_datalist_remove_data (&proxy->priv->qdata, invalidated_properties[n]); 14789+ if (info != NULL) 14790+ g_object_notify (G_OBJECT (proxy), info->hyphen_name); 14791+ } 14792+} 14793+ 14794+static guint 14795+gxdp_trash_proxy_get_version (GXdpTrash *object) 14796+{ 14797+ GXdpTrashProxy *proxy = GXDP_TRASH_PROXY (object); 14798+ GVariant *variant; 14799+ guint value = 0; 14800+ variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "version"); 14801+ if (variant != NULL) 14802+ { 14803+ value = g_variant_get_uint32 (variant); 14804+ g_variant_unref (variant); 14805+ } 14806+ return value; 14807+} 14808+ 14809+static void 14810+gxdp_trash_proxy_init (GXdpTrashProxy *proxy) 14811+{ 14812+#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38 14813+ proxy->priv = gxdp_trash_proxy_get_instance_private (proxy); 14814+#else 14815+ proxy->priv = G_TYPE_INSTANCE_GET_PRIVATE (proxy, GXDP_TYPE_TRASH_PROXY, GXdpTrashProxyPrivate); 14816+#endif 14817+ 14818+ g_dbus_proxy_set_interface_info (G_DBUS_PROXY (proxy), gxdp_trash_interface_info ()); 14819+} 14820+ 14821+static void 14822+gxdp_trash_proxy_class_init (GXdpTrashProxyClass *klass) 14823+{ 14824+ GObjectClass *gobject_class; 14825+ GDBusProxyClass *proxy_class; 14826+ 14827+ gobject_class = G_OBJECT_CLASS (klass); 14828+ gobject_class->finalize = gxdp_trash_proxy_finalize; 14829+ gobject_class->get_property = gxdp_trash_proxy_get_property; 14830+ gobject_class->set_property = gxdp_trash_proxy_set_property; 14831+ 14832+ proxy_class = G_DBUS_PROXY_CLASS (klass); 14833+ proxy_class->g_signal = gxdp_trash_proxy_g_signal; 14834+ proxy_class->g_properties_changed = gxdp_trash_proxy_g_properties_changed; 14835+ 14836+ gxdp_trash_override_properties (gobject_class, 1); 14837+ 14838+#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_38 14839+ g_type_class_add_private (klass, sizeof (GXdpTrashProxyPrivate)); 14840+#endif 14841+} 14842+ 14843+static void 14844+gxdp_trash_proxy_iface_init (GXdpTrashIface *iface) 14845+{ 14846+ iface->get_version = gxdp_trash_proxy_get_version; 14847+} 14848+ 14849+/** 14850+ * gxdp_trash_proxy_new: 14851+ * @connection: A #GDBusConnection. 14852+ * @flags: Flags from the #GDBusProxyFlags enumeration. 14853+ * @name: (nullable): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection. 14854+ * @object_path: An object path. 14855+ * @cancellable: (nullable): A #GCancellable or %NULL. 14856+ * @callback: A #GAsyncReadyCallback to call when the request is satisfied. 14857+ * @user_data: User data to pass to @callback. 14858+ * 14859+ * Asynchronously creates a proxy for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-portal-Trash.top_of_page">org.freedesktop.portal.Trash</link>. See g_dbus_proxy_new() for more details. 14860+ * 14861+ * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). 14862+ * You can then call gxdp_trash_proxy_new_finish() to get the result of the operation. 14863+ * 14864+ * See gxdp_trash_proxy_new_sync() for the synchronous, blocking version of this constructor. 14865+ */ 14866+void 14867+gxdp_trash_proxy_new ( 14868+ GDBusConnection *connection, 14869+ GDBusProxyFlags flags, 14870+ const gchar *name, 14871+ const gchar *object_path, 14872+ GCancellable *cancellable, 14873+ GAsyncReadyCallback callback, 14874+ gpointer user_data) 14875+{ 14876+ g_async_initable_new_async (GXDP_TYPE_TRASH_PROXY, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "g-flags", flags, "g-name", name, "g-connection", connection, "g-object-path", object_path, "g-interface-name", "org.freedesktop.portal.Trash", NULL); 14877+} 14878+ 14879+/** 14880+ * gxdp_trash_proxy_new_finish: 14881+ * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gxdp_trash_proxy_new(). 14882+ * @error: Return location for error or %NULL 14883+ * 14884+ * Finishes an operation started with gxdp_trash_proxy_new(). 14885+ * 14886+ * Returns: (transfer full) (type GXdpTrashProxy): The constructed proxy object or %NULL if @error is set. 14887+ */ 14888+GXdpTrash * 14889+gxdp_trash_proxy_new_finish ( 14890+ GAsyncResult *res, 14891+ GError **error) 14892+{ 14893+ GObject *ret; 14894+ GObject *source_object; 14895+ source_object = g_async_result_get_source_object (res); 14896+ ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error); 14897+ g_object_unref (source_object); 14898+ if (ret != NULL) 14899+ return GXDP_TRASH (ret); 14900+ else 14901+ return NULL; 14902+} 14903+ 14904+/** 14905+ * gxdp_trash_proxy_new_sync: 14906+ * @connection: A #GDBusConnection. 14907+ * @flags: Flags from the #GDBusProxyFlags enumeration. 14908+ * @name: (nullable): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection. 14909+ * @object_path: An object path. 14910+ * @cancellable: (nullable): A #GCancellable or %NULL. 14911+ * @error: Return location for error or %NULL 14912+ * 14913+ * Synchronously creates a proxy for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-portal-Trash.top_of_page">org.freedesktop.portal.Trash</link>. See g_dbus_proxy_new_sync() for more details. 14914+ * 14915+ * The calling thread is blocked until a reply is received. 14916+ * 14917+ * See gxdp_trash_proxy_new() for the asynchronous version of this constructor. 14918+ * 14919+ * Returns: (transfer full) (type GXdpTrashProxy): The constructed proxy object or %NULL if @error is set. 14920+ */ 14921+GXdpTrash * 14922+gxdp_trash_proxy_new_sync ( 14923+ GDBusConnection *connection, 14924+ GDBusProxyFlags flags, 14925+ const gchar *name, 14926+ const gchar *object_path, 14927+ GCancellable *cancellable, 14928+ GError **error) 14929+{ 14930+ GInitable *ret; 14931+ ret = g_initable_new (GXDP_TYPE_TRASH_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-connection", connection, "g-object-path", object_path, "g-interface-name", "org.freedesktop.portal.Trash", NULL); 14932+ if (ret != NULL) 14933+ return GXDP_TRASH (ret); 14934+ else 14935+ return NULL; 14936+} 14937+ 14938+ 14939+/** 14940+ * gxdp_trash_proxy_new_for_bus: 14941+ * @bus_type: A #GBusType. 14942+ * @flags: Flags from the #GDBusProxyFlags enumeration. 14943+ * @name: A bus name (well-known or unique). 14944+ * @object_path: An object path. 14945+ * @cancellable: (nullable): A #GCancellable or %NULL. 14946+ * @callback: A #GAsyncReadyCallback to call when the request is satisfied. 14947+ * @user_data: User data to pass to @callback. 14948+ * 14949+ * Like gxdp_trash_proxy_new() but takes a #GBusType instead of a #GDBusConnection. 14950+ * 14951+ * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()). 14952+ * You can then call gxdp_trash_proxy_new_for_bus_finish() to get the result of the operation. 14953+ * 14954+ * See gxdp_trash_proxy_new_for_bus_sync() for the synchronous, blocking version of this constructor. 14955+ */ 14956+void 14957+gxdp_trash_proxy_new_for_bus ( 14958+ GBusType bus_type, 14959+ GDBusProxyFlags flags, 14960+ const gchar *name, 14961+ const gchar *object_path, 14962+ GCancellable *cancellable, 14963+ GAsyncReadyCallback callback, 14964+ gpointer user_data) 14965+{ 14966+ g_async_initable_new_async (GXDP_TYPE_TRASH_PROXY, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "g-flags", flags, "g-name", name, "g-bus-type", bus_type, "g-object-path", object_path, "g-interface-name", "org.freedesktop.portal.Trash", NULL); 14967+} 14968+ 14969+/** 14970+ * gxdp_trash_proxy_new_for_bus_finish: 14971+ * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gxdp_trash_proxy_new_for_bus(). 14972+ * @error: Return location for error or %NULL 14973+ * 14974+ * Finishes an operation started with gxdp_trash_proxy_new_for_bus(). 14975+ * 14976+ * Returns: (transfer full) (type GXdpTrashProxy): The constructed proxy object or %NULL if @error is set. 14977+ */ 14978+GXdpTrash * 14979+gxdp_trash_proxy_new_for_bus_finish ( 14980+ GAsyncResult *res, 14981+ GError **error) 14982+{ 14983+ GObject *ret; 14984+ GObject *source_object; 14985+ source_object = g_async_result_get_source_object (res); 14986+ ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error); 14987+ g_object_unref (source_object); 14988+ if (ret != NULL) 14989+ return GXDP_TRASH (ret); 14990+ else 14991+ return NULL; 14992+} 14993+ 14994+/** 14995+ * gxdp_trash_proxy_new_for_bus_sync: 14996+ * @bus_type: A #GBusType. 14997+ * @flags: Flags from the #GDBusProxyFlags enumeration. 14998+ * @name: A bus name (well-known or unique). 14999+ * @object_path: An object path. 15000+ * @cancellable: (nullable): A #GCancellable or %NULL. 15001+ * @error: Return location for error or %NULL 15002+ * 15003+ * Like gxdp_trash_proxy_new_sync() but takes a #GBusType instead of a #GDBusConnection. 15004+ * 15005+ * The calling thread is blocked until a reply is received. 15006+ * 15007+ * See gxdp_trash_proxy_new_for_bus() for the asynchronous version of this constructor. 15008+ * 15009+ * Returns: (transfer full) (type GXdpTrashProxy): The constructed proxy object or %NULL if @error is set. 15010+ */ 15011+GXdpTrash * 15012+gxdp_trash_proxy_new_for_bus_sync ( 15013+ GBusType bus_type, 15014+ GDBusProxyFlags flags, 15015+ const gchar *name, 15016+ const gchar *object_path, 15017+ GCancellable *cancellable, 15018+ GError **error) 15019+{ 15020+ GInitable *ret; 15021+ ret = g_initable_new (GXDP_TYPE_TRASH_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-bus-type", bus_type, "g-object-path", object_path, "g-interface-name", "org.freedesktop.portal.Trash", NULL); 15022+ if (ret != NULL) 15023+ return GXDP_TRASH (ret); 15024+ else 15025+ return NULL; 15026+} 15027+ 15028+ 15029+/* ------------------------------------------------------------------------ */ 15030+ 15031+/** 15032+ * GXdpTrashSkeleton: 15033+ * 15034+ * The #GXdpTrashSkeleton structure contains only private data and should only be accessed using the provided API. 15035+ */ 15036+ 15037+/** 15038+ * GXdpTrashSkeletonClass: 15039+ * @parent_class: The parent class. 15040+ * 15041+ * Class structure for #GXdpTrashSkeleton. 15042+ */ 15043+ 15044+struct _GXdpTrashSkeletonPrivate 15045+{ 15046+ GValue *properties; 15047+ GList *changed_properties; 15048+ GSource *changed_properties_idle_source; 15049+ GMainContext *context; 15050+ GMutex lock; 15051+}; 15052+ 15053+static void 15054+_gxdp_trash_skeleton_handle_method_call ( 15055+ GDBusConnection *connection G_GNUC_UNUSED, 15056+ const gchar *sender G_GNUC_UNUSED, 15057+ const gchar *object_path G_GNUC_UNUSED, 15058+ const gchar *interface_name, 15059+ const gchar *method_name, 15060+ GVariant *parameters, 15061+ GDBusMethodInvocation *invocation, 15062+ gpointer user_data) 15063+{ 15064+ GXdpTrashSkeleton *skeleton = GXDP_TRASH_SKELETON (user_data); 15065+ _ExtendedGDBusMethodInfo *info; 15066+ GVariantIter iter; 15067+ GVariant *child; 15068+ GValue *paramv; 15069+ gsize num_params; 15070+ guint num_extra; 15071+ gsize n; 15072+ guint signal_id; 15073+ GValue return_value = G_VALUE_INIT; 15074+ info = (_ExtendedGDBusMethodInfo *) g_dbus_method_invocation_get_method_info (invocation); 15075+ g_assert (info != NULL); 15076+ num_params = g_variant_n_children (parameters); 15077+ num_extra = info->pass_fdlist ? 3 : 2; paramv = g_new0 (GValue, num_params + num_extra); 15078+ n = 0; 15079+ g_value_init (¶mv[n], GXDP_TYPE_TRASH); 15080+ g_value_set_object (¶mv[n++], skeleton); 15081+ g_value_init (¶mv[n], G_TYPE_DBUS_METHOD_INVOCATION); 15082+ g_value_set_object (¶mv[n++], invocation); 15083+ if (info->pass_fdlist) 15084+ { 15085+#ifdef G_OS_UNIX 15086+ g_value_init (¶mv[n], G_TYPE_UNIX_FD_LIST); 15087+ g_value_set_object (¶mv[n++], g_dbus_message_get_unix_fd_list (g_dbus_method_invocation_get_message (invocation))); 15088+#else 15089+ g_assert_not_reached (); 15090+#endif 15091+ } 15092+ g_variant_iter_init (&iter, parameters); 15093+ while ((child = g_variant_iter_next_value (&iter)) != NULL) 15094+ { 15095+ _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info->parent_struct.in_args[n - num_extra]; 15096+ if (arg_info->use_gvariant) 15097+ { 15098+ g_value_init (¶mv[n], G_TYPE_VARIANT); 15099+ g_value_set_variant (¶mv[n], child); 15100+ n++; 15101+ } 15102+ else 15103+ g_dbus_gvariant_to_gvalue (child, ¶mv[n++]); 15104+ g_variant_unref (child); 15105+ } 15106+ signal_id = g_signal_lookup (info->signal_name, GXDP_TYPE_TRASH); 15107+ g_value_init (&return_value, G_TYPE_BOOLEAN); 15108+ g_signal_emitv (paramv, signal_id, 0, &return_value); 15109+ if (!g_value_get_boolean (&return_value)) 15110+ g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, G_DBUS_ERROR_UNKNOWN_METHOD, "Method %s is not implemented on interface %s", method_name, interface_name); 15111+ g_value_unset (&return_value); 15112+ for (n = 0; n < num_params + num_extra; n++) 15113+ g_value_unset (¶mv[n]); 15114+ g_free (paramv); 15115+} 15116+ 15117+static GVariant * 15118+_gxdp_trash_skeleton_handle_get_property ( 15119+ GDBusConnection *connection G_GNUC_UNUSED, 15120+ const gchar *sender G_GNUC_UNUSED, 15121+ const gchar *object_path G_GNUC_UNUSED, 15122+ const gchar *interface_name G_GNUC_UNUSED, 15123+ const gchar *property_name, 15124+ GError **error, 15125+ gpointer user_data) 15126+{ 15127+ GXdpTrashSkeleton *skeleton = GXDP_TRASH_SKELETON (user_data); 15128+ GValue value = G_VALUE_INIT; 15129+ GParamSpec *pspec; 15130+ _ExtendedGDBusPropertyInfo *info; 15131+ GVariant *ret; 15132+ ret = NULL; 15133+ info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_gxdp_trash_interface_info.parent_struct, property_name); 15134+ g_assert (info != NULL); 15135+ pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (skeleton), info->hyphen_name); 15136+ if (pspec == NULL) 15137+ { 15138+ g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "No property with name %s", property_name); 15139+ } 15140+ else 15141+ { 15142+ g_value_init (&value, pspec->value_type); 15143+ g_object_get_property (G_OBJECT (skeleton), info->hyphen_name, &value); 15144+ ret = g_dbus_gvalue_to_gvariant (&value, G_VARIANT_TYPE (info->parent_struct.signature)); 15145+ g_value_unset (&value); 15146+ } 15147+ return ret; 15148+} 15149+ 15150+static gboolean 15151+_gxdp_trash_skeleton_handle_set_property ( 15152+ GDBusConnection *connection G_GNUC_UNUSED, 15153+ const gchar *sender G_GNUC_UNUSED, 15154+ const gchar *object_path G_GNUC_UNUSED, 15155+ const gchar *interface_name G_GNUC_UNUSED, 15156+ const gchar *property_name, 15157+ GVariant *variant, 15158+ GError **error, 15159+ gpointer user_data) 15160+{ 15161+ GXdpTrashSkeleton *skeleton = GXDP_TRASH_SKELETON (user_data); 15162+ GValue value = G_VALUE_INIT; 15163+ GParamSpec *pspec; 15164+ _ExtendedGDBusPropertyInfo *info; 15165+ gboolean ret; 15166+ ret = FALSE; 15167+ info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_gxdp_trash_interface_info.parent_struct, property_name); 15168+ g_assert (info != NULL); 15169+ pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (skeleton), info->hyphen_name); 15170+ if (pspec == NULL) 15171+ { 15172+ g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "No property with name %s", property_name); 15173+ } 15174+ else 15175+ { 15176+ if (info->use_gvariant) 15177+ g_value_set_variant (&value, variant); 15178+ else 15179+ g_dbus_gvariant_to_gvalue (variant, &value); 15180+ g_object_set_property (G_OBJECT (skeleton), info->hyphen_name, &value); 15181+ g_value_unset (&value); 15182+ ret = TRUE; 15183+ } 15184+ return ret; 15185+} 15186+ 15187+static const GDBusInterfaceVTable _gxdp_trash_skeleton_vtable = 15188+{ 15189+ _gxdp_trash_skeleton_handle_method_call, 15190+ _gxdp_trash_skeleton_handle_get_property, 15191+ _gxdp_trash_skeleton_handle_set_property, 15192+ {NULL} 15193+}; 15194+ 15195+static GDBusInterfaceInfo * 15196+gxdp_trash_skeleton_dbus_interface_get_info (GDBusInterfaceSkeleton *skeleton G_GNUC_UNUSED) 15197+{ 15198+ return gxdp_trash_interface_info (); 15199+} 15200+ 15201+static GDBusInterfaceVTable * 15202+gxdp_trash_skeleton_dbus_interface_get_vtable (GDBusInterfaceSkeleton *skeleton G_GNUC_UNUSED) 15203+{ 15204+ return (GDBusInterfaceVTable *) &_gxdp_trash_skeleton_vtable; 15205+} 15206+ 15207+static GVariant * 15208+gxdp_trash_skeleton_dbus_interface_get_properties (GDBusInterfaceSkeleton *_skeleton) 15209+{ 15210+ GXdpTrashSkeleton *skeleton = GXDP_TRASH_SKELETON (_skeleton); 15211+ 15212+ GVariantBuilder builder; 15213+ guint n; 15214+ g_variant_builder_init (&builder, G_VARIANT_TYPE ("a{sv}")); 15215+ if (_gxdp_trash_interface_info.parent_struct.properties == NULL) 15216+ goto out; 15217+ for (n = 0; _gxdp_trash_interface_info.parent_struct.properties[n] != NULL; n++) 15218+ { 15219+ GDBusPropertyInfo *info = _gxdp_trash_interface_info.parent_struct.properties[n]; 15220+ if (info->flags & G_DBUS_PROPERTY_INFO_FLAGS_READABLE) 15221+ { 15222+ GVariant *value; 15223+ value = _gxdp_trash_skeleton_handle_get_property (g_dbus_interface_skeleton_get_connection (G_DBUS_INTERFACE_SKELETON (skeleton)), NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "org.freedesktop.portal.Trash", info->name, NULL, skeleton); 15224+ if (value != NULL) 15225+ { 15226+ g_variant_take_ref (value); 15227+ g_variant_builder_add (&builder, "{sv}", info->name, value); 15228+ g_variant_unref (value); 15229+ } 15230+ } 15231+ } 15232+out: 15233+ return g_variant_builder_end (&builder); 15234+} 15235+ 15236+static gboolean _gxdp_trash_emit_changed (gpointer user_data); 15237+ 15238+static void 15239+gxdp_trash_skeleton_dbus_interface_flush (GDBusInterfaceSkeleton *_skeleton) 15240+{ 15241+ GXdpTrashSkeleton *skeleton = GXDP_TRASH_SKELETON (_skeleton); 15242+ gboolean emit_changed = FALSE; 15243+ 15244+ g_mutex_lock (&skeleton->priv->lock); 15245+ if (skeleton->priv->changed_properties_idle_source != NULL) 15246+ { 15247+ g_source_destroy (skeleton->priv->changed_properties_idle_source); 15248+ skeleton->priv->changed_properties_idle_source = NULL; 15249+ emit_changed = TRUE; 15250+ } 15251+ g_mutex_unlock (&skeleton->priv->lock); 15252+ 15253+ if (emit_changed) 15254+ _gxdp_trash_emit_changed (skeleton); 15255+} 15256+ 15257+static void gxdp_trash_skeleton_iface_init (GXdpTrashIface *iface); 15258+#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38 15259+G_DEFINE_TYPE_WITH_CODE (GXdpTrashSkeleton, gxdp_trash_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON, 15260+ G_ADD_PRIVATE (GXdpTrashSkeleton) 15261+ G_IMPLEMENT_INTERFACE (GXDP_TYPE_TRASH, gxdp_trash_skeleton_iface_init)) 15262+ 15263+#else 15264+G_DEFINE_TYPE_WITH_CODE (GXdpTrashSkeleton, gxdp_trash_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON, 15265+ G_IMPLEMENT_INTERFACE (GXDP_TYPE_TRASH, gxdp_trash_skeleton_iface_init)) 15266+ 15267+#endif 15268+static void 15269+gxdp_trash_skeleton_finalize (GObject *object) 15270+{ 15271+ GXdpTrashSkeleton *skeleton = GXDP_TRASH_SKELETON (object); 15272+ guint n; 15273+ for (n = 0; n < 1; n++) 15274+ g_value_unset (&skeleton->priv->properties[n]); 15275+ g_free (skeleton->priv->properties); 15276+ g_list_free_full (skeleton->priv->changed_properties, (GDestroyNotify) _changed_property_free); 15277+ if (skeleton->priv->changed_properties_idle_source != NULL) 15278+ g_source_destroy (skeleton->priv->changed_properties_idle_source); 15279+ g_main_context_unref (skeleton->priv->context); 15280+ g_mutex_clear (&skeleton->priv->lock); 15281+ G_OBJECT_CLASS (gxdp_trash_skeleton_parent_class)->finalize (object); 15282+} 15283+ 15284+static void 15285+gxdp_trash_skeleton_get_property (GObject *object, 15286+ guint prop_id, 15287+ GValue *value, 15288+ GParamSpec *pspec G_GNUC_UNUSED) 15289+{ 15290+ GXdpTrashSkeleton *skeleton = GXDP_TRASH_SKELETON (object); 15291+ g_assert (prop_id != 0 && prop_id - 1 < 1); 15292+ g_mutex_lock (&skeleton->priv->lock); 15293+ g_value_copy (&skeleton->priv->properties[prop_id - 1], value); 15294+ g_mutex_unlock (&skeleton->priv->lock); 15295+} 15296+ 15297+static gboolean 15298+_gxdp_trash_emit_changed (gpointer user_data) 15299+{ 15300+ GXdpTrashSkeleton *skeleton = GXDP_TRASH_SKELETON (user_data); 15301+ GList *l; 15302+ GVariantBuilder builder; 15303+ GVariantBuilder invalidated_builder; 15304+ guint num_changes; 15305+ 15306+ g_mutex_lock (&skeleton->priv->lock); 15307+ g_variant_builder_init (&builder, G_VARIANT_TYPE ("a{sv}")); 15308+ g_variant_builder_init (&invalidated_builder, G_VARIANT_TYPE ("as")); 15309+ for (l = skeleton->priv->changed_properties, num_changes = 0; l != NULL; l = l->next) 15310+ { 15311+ ChangedProperty *cp = l->data; 15312+ GVariant *variant; 15313+ const GValue *cur_value; 15314+ 15315+ cur_value = &skeleton->priv->properties[cp->prop_id - 1]; 15316+ if (!_g_value_equal (cur_value, &cp->orig_value)) 15317+ { 15318+ variant = g_dbus_gvalue_to_gvariant (cur_value, G_VARIANT_TYPE (cp->info->parent_struct.signature)); 15319+ g_variant_builder_add (&builder, "{sv}", cp->info->parent_struct.name, variant); 15320+ g_variant_unref (variant); 15321+ num_changes++; 15322+ } 15323+ } 15324+ if (num_changes > 0) 15325+ { 15326+ GList *connections, *ll; 15327+ GVariant *signal_variant; 15328+ signal_variant = g_variant_ref_sink (g_variant_new ("(sa{sv}as)", "org.freedesktop.portal.Trash", 15329+ &builder, &invalidated_builder)); 15330+ connections = g_dbus_interface_skeleton_get_connections (G_DBUS_INTERFACE_SKELETON (skeleton)); 15331+ for (ll = connections; ll != NULL; ll = ll->next) 15332+ { 15333+ GDBusConnection *connection = ll->data; 15334+ 15335+ g_dbus_connection_emit_signal (connection, 15336+ NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), 15337+ "org.freedesktop.DBus.Properties", 15338+ "PropertiesChanged", 15339+ signal_variant, 15340+ NULL); 15341+ } 15342+ g_variant_unref (signal_variant); 15343+ g_list_free_full (connections, g_object_unref); 15344+ } 15345+ else 15346+ { 15347+ g_variant_builder_clear (&builder); 15348+ g_variant_builder_clear (&invalidated_builder); 15349+ } 15350+ g_list_free_full (skeleton->priv->changed_properties, (GDestroyNotify) _changed_property_free); 15351+ skeleton->priv->changed_properties = NULL; 15352+ skeleton->priv->changed_properties_idle_source = NULL; 15353+ g_mutex_unlock (&skeleton->priv->lock); 15354+ return FALSE; 15355+} 15356+ 15357+static void 15358+_gxdp_trash_schedule_emit_changed (GXdpTrashSkeleton *skeleton, const _ExtendedGDBusPropertyInfo *info, guint prop_id, const GValue *orig_value) 15359+{ 15360+ ChangedProperty *cp; 15361+ GList *l; 15362+ cp = NULL; 15363+ for (l = skeleton->priv->changed_properties; l != NULL; l = l->next) 15364+ { 15365+ ChangedProperty *i_cp = l->data; 15366+ if (i_cp->info == info) 15367+ { 15368+ cp = i_cp; 15369+ break; 15370+ } 15371+ } 15372+ if (cp == NULL) 15373+ { 15374+ cp = g_new0 (ChangedProperty, 1); 15375+ cp->prop_id = prop_id; 15376+ cp->info = info; 15377+ skeleton->priv->changed_properties = g_list_prepend (skeleton->priv->changed_properties, cp); 15378+ g_value_init (&cp->orig_value, G_VALUE_TYPE (orig_value)); 15379+ g_value_copy (orig_value, &cp->orig_value); 15380+ } 15381+} 15382+ 15383+static void 15384+gxdp_trash_skeleton_notify (GObject *object, 15385+ GParamSpec *pspec G_GNUC_UNUSED) 15386+{ 15387+ GXdpTrashSkeleton *skeleton = GXDP_TRASH_SKELETON (object); 15388+ g_mutex_lock (&skeleton->priv->lock); 15389+ if (skeleton->priv->changed_properties != NULL && 15390+ skeleton->priv->changed_properties_idle_source == NULL) 15391+ { 15392+ skeleton->priv->changed_properties_idle_source = g_idle_source_new (); 15393+ g_source_set_priority (skeleton->priv->changed_properties_idle_source, G_PRIORITY_DEFAULT); 15394+ g_source_set_callback (skeleton->priv->changed_properties_idle_source, _gxdp_trash_emit_changed, g_object_ref (skeleton), (GDestroyNotify) g_object_unref); 15395+ g_source_set_name (skeleton->priv->changed_properties_idle_source, "[generated] _gxdp_trash_emit_changed"); 15396+ g_source_attach (skeleton->priv->changed_properties_idle_source, skeleton->priv->context); 15397+ g_source_unref (skeleton->priv->changed_properties_idle_source); 15398+ } 15399+ g_mutex_unlock (&skeleton->priv->lock); 15400+} 15401+ 15402+static void 15403+gxdp_trash_skeleton_set_property (GObject *object, 15404+ guint prop_id, 15405+ const GValue *value, 15406+ GParamSpec *pspec) 15407+{ 15408+ const _ExtendedGDBusPropertyInfo *info; 15409+ GXdpTrashSkeleton *skeleton = GXDP_TRASH_SKELETON (object); 15410+ g_assert (prop_id != 0 && prop_id - 1 < 1); 15411+ info = (const _ExtendedGDBusPropertyInfo *) _gxdp_trash_property_info_pointers[prop_id - 1]; 15412+ g_mutex_lock (&skeleton->priv->lock); 15413+ g_object_freeze_notify (object); 15414+ if (!_g_value_equal (value, &skeleton->priv->properties[prop_id - 1])) 15415+ { 15416+ if (g_dbus_interface_skeleton_get_connection (G_DBUS_INTERFACE_SKELETON (skeleton)) != NULL && 15417+ info->emits_changed_signal) 15418+ _gxdp_trash_schedule_emit_changed (skeleton, info, prop_id, &skeleton->priv->properties[prop_id - 1]); 15419+ g_value_copy (value, &skeleton->priv->properties[prop_id - 1]); 15420+ g_object_notify_by_pspec (object, pspec); 15421+ } 15422+ g_mutex_unlock (&skeleton->priv->lock); 15423+ g_object_thaw_notify (object); 15424+} 15425+ 15426+static void 15427+gxdp_trash_skeleton_init (GXdpTrashSkeleton *skeleton) 15428+{ 15429+#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38 15430+ skeleton->priv = gxdp_trash_skeleton_get_instance_private (skeleton); 15431+#else 15432+ skeleton->priv = G_TYPE_INSTANCE_GET_PRIVATE (skeleton, GXDP_TYPE_TRASH_SKELETON, GXdpTrashSkeletonPrivate); 15433+#endif 15434+ 15435+ g_mutex_init (&skeleton->priv->lock); 15436+ skeleton->priv->context = g_main_context_ref_thread_default (); 15437+ skeleton->priv->properties = g_new0 (GValue, 1); 15438+ g_value_init (&skeleton->priv->properties[0], G_TYPE_UINT); 15439+} 15440+ 15441+static guint 15442+gxdp_trash_skeleton_get_version (GXdpTrash *object) 15443+{ 15444+ GXdpTrashSkeleton *skeleton = GXDP_TRASH_SKELETON (object); 15445+ guint value; 15446+ g_mutex_lock (&skeleton->priv->lock); 15447+ value = g_value_get_uint (&(skeleton->priv->properties[0])); 15448+ g_mutex_unlock (&skeleton->priv->lock); 15449+ return value; 15450+} 15451+ 15452+static void 15453+gxdp_trash_skeleton_class_init (GXdpTrashSkeletonClass *klass) 15454+{ 15455+ GObjectClass *gobject_class; 15456+ GDBusInterfaceSkeletonClass *skeleton_class; 15457+ 15458+ gobject_class = G_OBJECT_CLASS (klass); 15459+ gobject_class->finalize = gxdp_trash_skeleton_finalize; 15460+ gobject_class->get_property = gxdp_trash_skeleton_get_property; 15461+ gobject_class->set_property = gxdp_trash_skeleton_set_property; 15462+ gobject_class->notify = gxdp_trash_skeleton_notify; 15463+ 15464+ 15465+ gxdp_trash_override_properties (gobject_class, 1); 15466+ 15467+ skeleton_class = G_DBUS_INTERFACE_SKELETON_CLASS (klass); 15468+ skeleton_class->get_info = gxdp_trash_skeleton_dbus_interface_get_info; 15469+ skeleton_class->get_properties = gxdp_trash_skeleton_dbus_interface_get_properties; 15470+ skeleton_class->flush = gxdp_trash_skeleton_dbus_interface_flush; 15471+ skeleton_class->get_vtable = gxdp_trash_skeleton_dbus_interface_get_vtable; 15472+ 15473+#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_38 15474+ g_type_class_add_private (klass, sizeof (GXdpTrashSkeletonPrivate)); 15475+#endif 15476+} 15477+ 15478+static void 15479+gxdp_trash_skeleton_iface_init (GXdpTrashIface *iface) 15480+{ 15481+ iface->get_version = gxdp_trash_skeleton_get_version; 15482+} 15483+ 15484+/** 15485+ * gxdp_trash_skeleton_new: 15486+ * 15487+ * Creates a skeleton object for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-portal-Trash.top_of_page">org.freedesktop.portal.Trash</link>. 15488+ * 15489+ * Returns: (transfer full) (type GXdpTrashSkeleton): The skeleton object. 15490+ */ 15491+GXdpTrash * 15492+gxdp_trash_skeleton_new (void) 15493+{ 15494+ return GXDP_TRASH (g_object_new (GXDP_TYPE_TRASH_SKELETON, NULL)); 15495+} 15496+ 15497diff --git a/gio/xdp-dbus.h b/gio/xdp-dbus.h 15498new file mode 100644 15499index 0000000..6c06210 15500--- /dev/null 15501+++ b/gio/xdp-dbus.h 15502@@ -0,0 +1,1172 @@ 15503+/* 15504+ * This file is generated by gdbus-codegen, do not modify it. 15505+ * 15506+ * The license of this code is the same as for the D-Bus interface description 15507+ * it was derived from. Note that it links to GLib, so must comply with the 15508+ * LGPL linking clauses. 15509+ */ 15510+ 15511+#ifndef __XDP_DBUS_H__ 15512+#define __XDP_DBUS_H__ 15513+ 15514+#include <gio/gio.h> 15515+ 15516+G_BEGIN_DECLS 15517+ 15518+ 15519+/* ------------------------------------------------------------------------ */ 15520+/* Declarations for org.freedesktop.portal.Documents */ 15521+ 15522+#define GXDP_TYPE_DOCUMENTS (gxdp_documents_get_type ()) 15523+#define GXDP_DOCUMENTS(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GXDP_TYPE_DOCUMENTS, GXdpDocuments)) 15524+#define GXDP_IS_DOCUMENTS(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GXDP_TYPE_DOCUMENTS)) 15525+#define GXDP_DOCUMENTS_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), GXDP_TYPE_DOCUMENTS, GXdpDocumentsIface)) 15526+ 15527+struct _GXdpDocuments; 15528+typedef struct _GXdpDocuments GXdpDocuments; 15529+typedef struct _GXdpDocumentsIface GXdpDocumentsIface; 15530+ 15531+struct _GXdpDocumentsIface 15532+{ 15533+ GTypeInterface parent_iface; 15534+ 15535+ 15536+ gboolean (*handle_add) ( 15537+ GXdpDocuments *object, 15538+ GDBusMethodInvocation *invocation, 15539+ GUnixFDList *fd_list, 15540+ GVariant *arg_o_path_fd, 15541+ gboolean arg_reuse_existing, 15542+ gboolean arg_persistent); 15543+ 15544+ gboolean (*handle_add_full) ( 15545+ GXdpDocuments *object, 15546+ GDBusMethodInvocation *invocation, 15547+ GUnixFDList *fd_list, 15548+ GVariant *arg_o_path_fds, 15549+ guint arg_flags, 15550+ const gchar *arg_app_id, 15551+ const gchar *const *arg_permissions); 15552+ 15553+ gboolean (*handle_add_named) ( 15554+ GXdpDocuments *object, 15555+ GDBusMethodInvocation *invocation, 15556+ GUnixFDList *fd_list, 15557+ GVariant *arg_o_path_parent_fd, 15558+ const gchar *arg_filename, 15559+ gboolean arg_reuse_existing, 15560+ gboolean arg_persistent); 15561+ 15562+ gboolean (*handle_add_named_full) ( 15563+ GXdpDocuments *object, 15564+ GDBusMethodInvocation *invocation, 15565+ GUnixFDList *fd_list, 15566+ GVariant *arg_o_path_fd, 15567+ const gchar *arg_filename, 15568+ guint arg_flags, 15569+ const gchar *arg_app_id, 15570+ const gchar *const *arg_permissions); 15571+ 15572+ gboolean (*handle_delete) ( 15573+ GXdpDocuments *object, 15574+ GDBusMethodInvocation *invocation, 15575+ const gchar *arg_doc_id); 15576+ 15577+ gboolean (*handle_get_mount_point) ( 15578+ GXdpDocuments *object, 15579+ GDBusMethodInvocation *invocation); 15580+ 15581+ gboolean (*handle_grant_permissions) ( 15582+ GXdpDocuments *object, 15583+ GDBusMethodInvocation *invocation, 15584+ const gchar *arg_doc_id, 15585+ const gchar *arg_app_id, 15586+ const gchar *const *arg_permissions); 15587+ 15588+ gboolean (*handle_info) ( 15589+ GXdpDocuments *object, 15590+ GDBusMethodInvocation *invocation, 15591+ const gchar *arg_doc_id); 15592+ 15593+ gboolean (*handle_list) ( 15594+ GXdpDocuments *object, 15595+ GDBusMethodInvocation *invocation, 15596+ const gchar *arg_app_id); 15597+ 15598+ gboolean (*handle_lookup) ( 15599+ GXdpDocuments *object, 15600+ GDBusMethodInvocation *invocation, 15601+ const gchar *arg_filename); 15602+ 15603+ gboolean (*handle_revoke_permissions) ( 15604+ GXdpDocuments *object, 15605+ GDBusMethodInvocation *invocation, 15606+ const gchar *arg_doc_id, 15607+ const gchar *arg_app_id, 15608+ const gchar *const *arg_permissions); 15609+ 15610+ guint (*get_version) (GXdpDocuments *object); 15611+ 15612+}; 15613+ 15614+GType gxdp_documents_get_type (void) G_GNUC_CONST; 15615+ 15616+GDBusInterfaceInfo *gxdp_documents_interface_info (void); 15617+guint gxdp_documents_override_properties (GObjectClass *klass, guint property_id_begin); 15618+ 15619+ 15620+/* D-Bus method call completion functions: */ 15621+void gxdp_documents_complete_get_mount_point ( 15622+ GXdpDocuments *object, 15623+ GDBusMethodInvocation *invocation, 15624+ const gchar *path); 15625+ 15626+void gxdp_documents_complete_add ( 15627+ GXdpDocuments *object, 15628+ GDBusMethodInvocation *invocation, 15629+ GUnixFDList *fd_list, 15630+ const gchar *doc_id); 15631+ 15632+void gxdp_documents_complete_add_named ( 15633+ GXdpDocuments *object, 15634+ GDBusMethodInvocation *invocation, 15635+ GUnixFDList *fd_list, 15636+ const gchar *doc_id); 15637+ 15638+void gxdp_documents_complete_add_full ( 15639+ GXdpDocuments *object, 15640+ GDBusMethodInvocation *invocation, 15641+ GUnixFDList *fd_list, 15642+ const gchar *const *doc_ids, 15643+ GVariant *extra_out); 15644+ 15645+void gxdp_documents_complete_add_named_full ( 15646+ GXdpDocuments *object, 15647+ GDBusMethodInvocation *invocation, 15648+ GUnixFDList *fd_list, 15649+ const gchar *doc_id, 15650+ GVariant *extra_out); 15651+ 15652+void gxdp_documents_complete_grant_permissions ( 15653+ GXdpDocuments *object, 15654+ GDBusMethodInvocation *invocation); 15655+ 15656+void gxdp_documents_complete_revoke_permissions ( 15657+ GXdpDocuments *object, 15658+ GDBusMethodInvocation *invocation); 15659+ 15660+void gxdp_documents_complete_delete ( 15661+ GXdpDocuments *object, 15662+ GDBusMethodInvocation *invocation); 15663+ 15664+void gxdp_documents_complete_lookup ( 15665+ GXdpDocuments *object, 15666+ GDBusMethodInvocation *invocation, 15667+ const gchar *doc_id); 15668+ 15669+void gxdp_documents_complete_info ( 15670+ GXdpDocuments *object, 15671+ GDBusMethodInvocation *invocation, 15672+ const gchar *path, 15673+ GVariant *apps); 15674+ 15675+void gxdp_documents_complete_list ( 15676+ GXdpDocuments *object, 15677+ GDBusMethodInvocation *invocation, 15678+ GVariant *docs); 15679+ 15680+ 15681+ 15682+/* D-Bus method calls: */ 15683+void gxdp_documents_call_get_mount_point ( 15684+ GXdpDocuments *proxy, 15685+ GCancellable *cancellable, 15686+ GAsyncReadyCallback callback, 15687+ gpointer user_data); 15688+ 15689+gboolean gxdp_documents_call_get_mount_point_finish ( 15690+ GXdpDocuments *proxy, 15691+ gchar **out_path, 15692+ GAsyncResult *res, 15693+ GError **error); 15694+ 15695+gboolean gxdp_documents_call_get_mount_point_sync ( 15696+ GXdpDocuments *proxy, 15697+ gchar **out_path, 15698+ GCancellable *cancellable, 15699+ GError **error); 15700+ 15701+void gxdp_documents_call_add ( 15702+ GXdpDocuments *proxy, 15703+ GVariant *arg_o_path_fd, 15704+ gboolean arg_reuse_existing, 15705+ gboolean arg_persistent, 15706+ GUnixFDList *fd_list, 15707+ GCancellable *cancellable, 15708+ GAsyncReadyCallback callback, 15709+ gpointer user_data); 15710+ 15711+gboolean gxdp_documents_call_add_finish ( 15712+ GXdpDocuments *proxy, 15713+ gchar **out_doc_id, 15714+ GUnixFDList **out_fd_list, 15715+ GAsyncResult *res, 15716+ GError **error); 15717+ 15718+gboolean gxdp_documents_call_add_sync ( 15719+ GXdpDocuments *proxy, 15720+ GVariant *arg_o_path_fd, 15721+ gboolean arg_reuse_existing, 15722+ gboolean arg_persistent, 15723+ GUnixFDList *fd_list, 15724+ gchar **out_doc_id, 15725+ GUnixFDList **out_fd_list, 15726+ GCancellable *cancellable, 15727+ GError **error); 15728+ 15729+void gxdp_documents_call_add_named ( 15730+ GXdpDocuments *proxy, 15731+ GVariant *arg_o_path_parent_fd, 15732+ const gchar *arg_filename, 15733+ gboolean arg_reuse_existing, 15734+ gboolean arg_persistent, 15735+ GUnixFDList *fd_list, 15736+ GCancellable *cancellable, 15737+ GAsyncReadyCallback callback, 15738+ gpointer user_data); 15739+ 15740+gboolean gxdp_documents_call_add_named_finish ( 15741+ GXdpDocuments *proxy, 15742+ gchar **out_doc_id, 15743+ GUnixFDList **out_fd_list, 15744+ GAsyncResult *res, 15745+ GError **error); 15746+ 15747+gboolean gxdp_documents_call_add_named_sync ( 15748+ GXdpDocuments *proxy, 15749+ GVariant *arg_o_path_parent_fd, 15750+ const gchar *arg_filename, 15751+ gboolean arg_reuse_existing, 15752+ gboolean arg_persistent, 15753+ GUnixFDList *fd_list, 15754+ gchar **out_doc_id, 15755+ GUnixFDList **out_fd_list, 15756+ GCancellable *cancellable, 15757+ GError **error); 15758+ 15759+void gxdp_documents_call_add_full ( 15760+ GXdpDocuments *proxy, 15761+ GVariant *arg_o_path_fds, 15762+ guint arg_flags, 15763+ const gchar *arg_app_id, 15764+ const gchar *const *arg_permissions, 15765+ GUnixFDList *fd_list, 15766+ GCancellable *cancellable, 15767+ GAsyncReadyCallback callback, 15768+ gpointer user_data); 15769+ 15770+gboolean gxdp_documents_call_add_full_finish ( 15771+ GXdpDocuments *proxy, 15772+ gchar ***out_doc_ids, 15773+ GVariant **out_extra_out, 15774+ GUnixFDList **out_fd_list, 15775+ GAsyncResult *res, 15776+ GError **error); 15777+ 15778+gboolean gxdp_documents_call_add_full_sync ( 15779+ GXdpDocuments *proxy, 15780+ GVariant *arg_o_path_fds, 15781+ guint arg_flags, 15782+ const gchar *arg_app_id, 15783+ const gchar *const *arg_permissions, 15784+ GUnixFDList *fd_list, 15785+ gchar ***out_doc_ids, 15786+ GVariant **out_extra_out, 15787+ GUnixFDList **out_fd_list, 15788+ GCancellable *cancellable, 15789+ GError **error); 15790+ 15791+void gxdp_documents_call_add_named_full ( 15792+ GXdpDocuments *proxy, 15793+ GVariant *arg_o_path_fd, 15794+ const gchar *arg_filename, 15795+ guint arg_flags, 15796+ const gchar *arg_app_id, 15797+ const gchar *const *arg_permissions, 15798+ GUnixFDList *fd_list, 15799+ GCancellable *cancellable, 15800+ GAsyncReadyCallback callback, 15801+ gpointer user_data); 15802+ 15803+gboolean gxdp_documents_call_add_named_full_finish ( 15804+ GXdpDocuments *proxy, 15805+ gchar **out_doc_id, 15806+ GVariant **out_extra_out, 15807+ GUnixFDList **out_fd_list, 15808+ GAsyncResult *res, 15809+ GError **error); 15810+ 15811+gboolean gxdp_documents_call_add_named_full_sync ( 15812+ GXdpDocuments *proxy, 15813+ GVariant *arg_o_path_fd, 15814+ const gchar *arg_filename, 15815+ guint arg_flags, 15816+ const gchar *arg_app_id, 15817+ const gchar *const *arg_permissions, 15818+ GUnixFDList *fd_list, 15819+ gchar **out_doc_id, 15820+ GVariant **out_extra_out, 15821+ GUnixFDList **out_fd_list, 15822+ GCancellable *cancellable, 15823+ GError **error); 15824+ 15825+void gxdp_documents_call_grant_permissions ( 15826+ GXdpDocuments *proxy, 15827+ const gchar *arg_doc_id, 15828+ const gchar *arg_app_id, 15829+ const gchar *const *arg_permissions, 15830+ GCancellable *cancellable, 15831+ GAsyncReadyCallback callback, 15832+ gpointer user_data); 15833+ 15834+gboolean gxdp_documents_call_grant_permissions_finish ( 15835+ GXdpDocuments *proxy, 15836+ GAsyncResult *res, 15837+ GError **error); 15838+ 15839+gboolean gxdp_documents_call_grant_permissions_sync ( 15840+ GXdpDocuments *proxy, 15841+ const gchar *arg_doc_id, 15842+ const gchar *arg_app_id, 15843+ const gchar *const *arg_permissions, 15844+ GCancellable *cancellable, 15845+ GError **error); 15846+ 15847+void gxdp_documents_call_revoke_permissions ( 15848+ GXdpDocuments *proxy, 15849+ const gchar *arg_doc_id, 15850+ const gchar *arg_app_id, 15851+ const gchar *const *arg_permissions, 15852+ GCancellable *cancellable, 15853+ GAsyncReadyCallback callback, 15854+ gpointer user_data); 15855+ 15856+gboolean gxdp_documents_call_revoke_permissions_finish ( 15857+ GXdpDocuments *proxy, 15858+ GAsyncResult *res, 15859+ GError **error); 15860+ 15861+gboolean gxdp_documents_call_revoke_permissions_sync ( 15862+ GXdpDocuments *proxy, 15863+ const gchar *arg_doc_id, 15864+ const gchar *arg_app_id, 15865+ const gchar *const *arg_permissions, 15866+ GCancellable *cancellable, 15867+ GError **error); 15868+ 15869+void gxdp_documents_call_delete ( 15870+ GXdpDocuments *proxy, 15871+ const gchar *arg_doc_id, 15872+ GCancellable *cancellable, 15873+ GAsyncReadyCallback callback, 15874+ gpointer user_data); 15875+ 15876+gboolean gxdp_documents_call_delete_finish ( 15877+ GXdpDocuments *proxy, 15878+ GAsyncResult *res, 15879+ GError **error); 15880+ 15881+gboolean gxdp_documents_call_delete_sync ( 15882+ GXdpDocuments *proxy, 15883+ const gchar *arg_doc_id, 15884+ GCancellable *cancellable, 15885+ GError **error); 15886+ 15887+void gxdp_documents_call_lookup ( 15888+ GXdpDocuments *proxy, 15889+ const gchar *arg_filename, 15890+ GCancellable *cancellable, 15891+ GAsyncReadyCallback callback, 15892+ gpointer user_data); 15893+ 15894+gboolean gxdp_documents_call_lookup_finish ( 15895+ GXdpDocuments *proxy, 15896+ gchar **out_doc_id, 15897+ GAsyncResult *res, 15898+ GError **error); 15899+ 15900+gboolean gxdp_documents_call_lookup_sync ( 15901+ GXdpDocuments *proxy, 15902+ const gchar *arg_filename, 15903+ gchar **out_doc_id, 15904+ GCancellable *cancellable, 15905+ GError **error); 15906+ 15907+void gxdp_documents_call_info ( 15908+ GXdpDocuments *proxy, 15909+ const gchar *arg_doc_id, 15910+ GCancellable *cancellable, 15911+ GAsyncReadyCallback callback, 15912+ gpointer user_data); 15913+ 15914+gboolean gxdp_documents_call_info_finish ( 15915+ GXdpDocuments *proxy, 15916+ gchar **out_path, 15917+ GVariant **out_apps, 15918+ GAsyncResult *res, 15919+ GError **error); 15920+ 15921+gboolean gxdp_documents_call_info_sync ( 15922+ GXdpDocuments *proxy, 15923+ const gchar *arg_doc_id, 15924+ gchar **out_path, 15925+ GVariant **out_apps, 15926+ GCancellable *cancellable, 15927+ GError **error); 15928+ 15929+void gxdp_documents_call_list ( 15930+ GXdpDocuments *proxy, 15931+ const gchar *arg_app_id, 15932+ GCancellable *cancellable, 15933+ GAsyncReadyCallback callback, 15934+ gpointer user_data); 15935+ 15936+gboolean gxdp_documents_call_list_finish ( 15937+ GXdpDocuments *proxy, 15938+ GVariant **out_docs, 15939+ GAsyncResult *res, 15940+ GError **error); 15941+ 15942+gboolean gxdp_documents_call_list_sync ( 15943+ GXdpDocuments *proxy, 15944+ const gchar *arg_app_id, 15945+ GVariant **out_docs, 15946+ GCancellable *cancellable, 15947+ GError **error); 15948+ 15949+ 15950+ 15951+/* D-Bus property accessors: */ 15952+guint gxdp_documents_get_version (GXdpDocuments *object); 15953+void gxdp_documents_set_version (GXdpDocuments *object, guint value); 15954+ 15955+ 15956+/* ---- */ 15957+ 15958+#define GXDP_TYPE_DOCUMENTS_PROXY (gxdp_documents_proxy_get_type ()) 15959+#define GXDP_DOCUMENTS_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GXDP_TYPE_DOCUMENTS_PROXY, GXdpDocumentsProxy)) 15960+#define GXDP_DOCUMENTS_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GXDP_TYPE_DOCUMENTS_PROXY, GXdpDocumentsProxyClass)) 15961+#define GXDP_DOCUMENTS_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GXDP_TYPE_DOCUMENTS_PROXY, GXdpDocumentsProxyClass)) 15962+#define GXDP_IS_DOCUMENTS_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GXDP_TYPE_DOCUMENTS_PROXY)) 15963+#define GXDP_IS_DOCUMENTS_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GXDP_TYPE_DOCUMENTS_PROXY)) 15964+ 15965+typedef struct _GXdpDocumentsProxy GXdpDocumentsProxy; 15966+typedef struct _GXdpDocumentsProxyClass GXdpDocumentsProxyClass; 15967+typedef struct _GXdpDocumentsProxyPrivate GXdpDocumentsProxyPrivate; 15968+ 15969+struct _GXdpDocumentsProxy 15970+{ 15971+ /*< private >*/ 15972+ GDBusProxy parent_instance; 15973+ GXdpDocumentsProxyPrivate *priv; 15974+}; 15975+ 15976+struct _GXdpDocumentsProxyClass 15977+{ 15978+ GDBusProxyClass parent_class; 15979+}; 15980+ 15981+GType gxdp_documents_proxy_get_type (void) G_GNUC_CONST; 15982+ 15983+#if GLIB_CHECK_VERSION(2, 44, 0) 15984+G_DEFINE_AUTOPTR_CLEANUP_FUNC (GXdpDocumentsProxy, g_object_unref) 15985+#endif 15986+ 15987+void gxdp_documents_proxy_new ( 15988+ GDBusConnection *connection, 15989+ GDBusProxyFlags flags, 15990+ const gchar *name, 15991+ const gchar *object_path, 15992+ GCancellable *cancellable, 15993+ GAsyncReadyCallback callback, 15994+ gpointer user_data); 15995+GXdpDocuments *gxdp_documents_proxy_new_finish ( 15996+ GAsyncResult *res, 15997+ GError **error); 15998+GXdpDocuments *gxdp_documents_proxy_new_sync ( 15999+ GDBusConnection *connection, 16000+ GDBusProxyFlags flags, 16001+ const gchar *name, 16002+ const gchar *object_path, 16003+ GCancellable *cancellable, 16004+ GError **error); 16005+ 16006+void gxdp_documents_proxy_new_for_bus ( 16007+ GBusType bus_type, 16008+ GDBusProxyFlags flags, 16009+ const gchar *name, 16010+ const gchar *object_path, 16011+ GCancellable *cancellable, 16012+ GAsyncReadyCallback callback, 16013+ gpointer user_data); 16014+GXdpDocuments *gxdp_documents_proxy_new_for_bus_finish ( 16015+ GAsyncResult *res, 16016+ GError **error); 16017+GXdpDocuments *gxdp_documents_proxy_new_for_bus_sync ( 16018+ GBusType bus_type, 16019+ GDBusProxyFlags flags, 16020+ const gchar *name, 16021+ const gchar *object_path, 16022+ GCancellable *cancellable, 16023+ GError **error); 16024+ 16025+ 16026+/* ---- */ 16027+ 16028+#define GXDP_TYPE_DOCUMENTS_SKELETON (gxdp_documents_skeleton_get_type ()) 16029+#define GXDP_DOCUMENTS_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GXDP_TYPE_DOCUMENTS_SKELETON, GXdpDocumentsSkeleton)) 16030+#define GXDP_DOCUMENTS_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GXDP_TYPE_DOCUMENTS_SKELETON, GXdpDocumentsSkeletonClass)) 16031+#define GXDP_DOCUMENTS_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GXDP_TYPE_DOCUMENTS_SKELETON, GXdpDocumentsSkeletonClass)) 16032+#define GXDP_IS_DOCUMENTS_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GXDP_TYPE_DOCUMENTS_SKELETON)) 16033+#define GXDP_IS_DOCUMENTS_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GXDP_TYPE_DOCUMENTS_SKELETON)) 16034+ 16035+typedef struct _GXdpDocumentsSkeleton GXdpDocumentsSkeleton; 16036+typedef struct _GXdpDocumentsSkeletonClass GXdpDocumentsSkeletonClass; 16037+typedef struct _GXdpDocumentsSkeletonPrivate GXdpDocumentsSkeletonPrivate; 16038+ 16039+struct _GXdpDocumentsSkeleton 16040+{ 16041+ /*< private >*/ 16042+ GDBusInterfaceSkeleton parent_instance; 16043+ GXdpDocumentsSkeletonPrivate *priv; 16044+}; 16045+ 16046+struct _GXdpDocumentsSkeletonClass 16047+{ 16048+ GDBusInterfaceSkeletonClass parent_class; 16049+}; 16050+ 16051+GType gxdp_documents_skeleton_get_type (void) G_GNUC_CONST; 16052+ 16053+#if GLIB_CHECK_VERSION(2, 44, 0) 16054+G_DEFINE_AUTOPTR_CLEANUP_FUNC (GXdpDocumentsSkeleton, g_object_unref) 16055+#endif 16056+ 16057+GXdpDocuments *gxdp_documents_skeleton_new (void); 16058+ 16059+ 16060+/* ------------------------------------------------------------------------ */ 16061+/* Declarations for org.freedesktop.portal.OpenURI */ 16062+ 16063+#define GXDP_TYPE_OPEN_URI (gxdp_open_uri_get_type ()) 16064+#define GXDP_OPEN_URI(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GXDP_TYPE_OPEN_URI, GXdpOpenURI)) 16065+#define GXDP_IS_OPEN_URI(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GXDP_TYPE_OPEN_URI)) 16066+#define GXDP_OPEN_URI_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), GXDP_TYPE_OPEN_URI, GXdpOpenURIIface)) 16067+ 16068+struct _GXdpOpenURI; 16069+typedef struct _GXdpOpenURI GXdpOpenURI; 16070+typedef struct _GXdpOpenURIIface GXdpOpenURIIface; 16071+ 16072+struct _GXdpOpenURIIface 16073+{ 16074+ GTypeInterface parent_iface; 16075+ 16076+ 16077+ gboolean (*handle_open_directory) ( 16078+ GXdpOpenURI *object, 16079+ GDBusMethodInvocation *invocation, 16080+ GUnixFDList *fd_list, 16081+ const gchar *arg_parent_window, 16082+ GVariant *arg_fd, 16083+ GVariant *arg_options); 16084+ 16085+ gboolean (*handle_open_file) ( 16086+ GXdpOpenURI *object, 16087+ GDBusMethodInvocation *invocation, 16088+ GUnixFDList *fd_list, 16089+ const gchar *arg_parent_window, 16090+ GVariant *arg_fd, 16091+ GVariant *arg_options); 16092+ 16093+ gboolean (*handle_open_uri) ( 16094+ GXdpOpenURI *object, 16095+ GDBusMethodInvocation *invocation, 16096+ const gchar *arg_parent_window, 16097+ const gchar *arg_uri, 16098+ GVariant *arg_options); 16099+ 16100+ guint (*get_version) (GXdpOpenURI *object); 16101+ 16102+}; 16103+ 16104+GType gxdp_open_uri_get_type (void) G_GNUC_CONST; 16105+ 16106+GDBusInterfaceInfo *gxdp_open_uri_interface_info (void); 16107+guint gxdp_open_uri_override_properties (GObjectClass *klass, guint property_id_begin); 16108+ 16109+ 16110+/* D-Bus method call completion functions: */ 16111+void gxdp_open_uri_complete_open_uri ( 16112+ GXdpOpenURI *object, 16113+ GDBusMethodInvocation *invocation, 16114+ const gchar *handle); 16115+ 16116+void gxdp_open_uri_complete_open_file ( 16117+ GXdpOpenURI *object, 16118+ GDBusMethodInvocation *invocation, 16119+ GUnixFDList *fd_list, 16120+ const gchar *handle); 16121+ 16122+void gxdp_open_uri_complete_open_directory ( 16123+ GXdpOpenURI *object, 16124+ GDBusMethodInvocation *invocation, 16125+ GUnixFDList *fd_list, 16126+ const gchar *handle); 16127+ 16128+ 16129+ 16130+/* D-Bus method calls: */ 16131+void gxdp_open_uri_call_open_uri ( 16132+ GXdpOpenURI *proxy, 16133+ const gchar *arg_parent_window, 16134+ const gchar *arg_uri, 16135+ GVariant *arg_options, 16136+ GCancellable *cancellable, 16137+ GAsyncReadyCallback callback, 16138+ gpointer user_data); 16139+ 16140+gboolean gxdp_open_uri_call_open_uri_finish ( 16141+ GXdpOpenURI *proxy, 16142+ gchar **out_handle, 16143+ GAsyncResult *res, 16144+ GError **error); 16145+ 16146+gboolean gxdp_open_uri_call_open_uri_sync ( 16147+ GXdpOpenURI *proxy, 16148+ const gchar *arg_parent_window, 16149+ const gchar *arg_uri, 16150+ GVariant *arg_options, 16151+ gchar **out_handle, 16152+ GCancellable *cancellable, 16153+ GError **error); 16154+ 16155+void gxdp_open_uri_call_open_file ( 16156+ GXdpOpenURI *proxy, 16157+ const gchar *arg_parent_window, 16158+ GVariant *arg_fd, 16159+ GVariant *arg_options, 16160+ GUnixFDList *fd_list, 16161+ GCancellable *cancellable, 16162+ GAsyncReadyCallback callback, 16163+ gpointer user_data); 16164+ 16165+gboolean gxdp_open_uri_call_open_file_finish ( 16166+ GXdpOpenURI *proxy, 16167+ gchar **out_handle, 16168+ GUnixFDList **out_fd_list, 16169+ GAsyncResult *res, 16170+ GError **error); 16171+ 16172+gboolean gxdp_open_uri_call_open_file_sync ( 16173+ GXdpOpenURI *proxy, 16174+ const gchar *arg_parent_window, 16175+ GVariant *arg_fd, 16176+ GVariant *arg_options, 16177+ GUnixFDList *fd_list, 16178+ gchar **out_handle, 16179+ GUnixFDList **out_fd_list, 16180+ GCancellable *cancellable, 16181+ GError **error); 16182+ 16183+void gxdp_open_uri_call_open_directory ( 16184+ GXdpOpenURI *proxy, 16185+ const gchar *arg_parent_window, 16186+ GVariant *arg_fd, 16187+ GVariant *arg_options, 16188+ GUnixFDList *fd_list, 16189+ GCancellable *cancellable, 16190+ GAsyncReadyCallback callback, 16191+ gpointer user_data); 16192+ 16193+gboolean gxdp_open_uri_call_open_directory_finish ( 16194+ GXdpOpenURI *proxy, 16195+ gchar **out_handle, 16196+ GUnixFDList **out_fd_list, 16197+ GAsyncResult *res, 16198+ GError **error); 16199+ 16200+gboolean gxdp_open_uri_call_open_directory_sync ( 16201+ GXdpOpenURI *proxy, 16202+ const gchar *arg_parent_window, 16203+ GVariant *arg_fd, 16204+ GVariant *arg_options, 16205+ GUnixFDList *fd_list, 16206+ gchar **out_handle, 16207+ GUnixFDList **out_fd_list, 16208+ GCancellable *cancellable, 16209+ GError **error); 16210+ 16211+ 16212+ 16213+/* D-Bus property accessors: */ 16214+guint gxdp_open_uri_get_version (GXdpOpenURI *object); 16215+void gxdp_open_uri_set_version (GXdpOpenURI *object, guint value); 16216+ 16217+ 16218+/* ---- */ 16219+ 16220+#define GXDP_TYPE_OPEN_URI_PROXY (gxdp_open_uri_proxy_get_type ()) 16221+#define GXDP_OPEN_URI_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GXDP_TYPE_OPEN_URI_PROXY, GXdpOpenURIProxy)) 16222+#define GXDP_OPEN_URI_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GXDP_TYPE_OPEN_URI_PROXY, GXdpOpenURIProxyClass)) 16223+#define GXDP_OPEN_URI_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GXDP_TYPE_OPEN_URI_PROXY, GXdpOpenURIProxyClass)) 16224+#define GXDP_IS_OPEN_URI_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GXDP_TYPE_OPEN_URI_PROXY)) 16225+#define GXDP_IS_OPEN_URI_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GXDP_TYPE_OPEN_URI_PROXY)) 16226+ 16227+typedef struct _GXdpOpenURIProxy GXdpOpenURIProxy; 16228+typedef struct _GXdpOpenURIProxyClass GXdpOpenURIProxyClass; 16229+typedef struct _GXdpOpenURIProxyPrivate GXdpOpenURIProxyPrivate; 16230+ 16231+struct _GXdpOpenURIProxy 16232+{ 16233+ /*< private >*/ 16234+ GDBusProxy parent_instance; 16235+ GXdpOpenURIProxyPrivate *priv; 16236+}; 16237+ 16238+struct _GXdpOpenURIProxyClass 16239+{ 16240+ GDBusProxyClass parent_class; 16241+}; 16242+ 16243+GType gxdp_open_uri_proxy_get_type (void) G_GNUC_CONST; 16244+ 16245+#if GLIB_CHECK_VERSION(2, 44, 0) 16246+G_DEFINE_AUTOPTR_CLEANUP_FUNC (GXdpOpenURIProxy, g_object_unref) 16247+#endif 16248+ 16249+void gxdp_open_uri_proxy_new ( 16250+ GDBusConnection *connection, 16251+ GDBusProxyFlags flags, 16252+ const gchar *name, 16253+ const gchar *object_path, 16254+ GCancellable *cancellable, 16255+ GAsyncReadyCallback callback, 16256+ gpointer user_data); 16257+GXdpOpenURI *gxdp_open_uri_proxy_new_finish ( 16258+ GAsyncResult *res, 16259+ GError **error); 16260+GXdpOpenURI *gxdp_open_uri_proxy_new_sync ( 16261+ GDBusConnection *connection, 16262+ GDBusProxyFlags flags, 16263+ const gchar *name, 16264+ const gchar *object_path, 16265+ GCancellable *cancellable, 16266+ GError **error); 16267+ 16268+void gxdp_open_uri_proxy_new_for_bus ( 16269+ GBusType bus_type, 16270+ GDBusProxyFlags flags, 16271+ const gchar *name, 16272+ const gchar *object_path, 16273+ GCancellable *cancellable, 16274+ GAsyncReadyCallback callback, 16275+ gpointer user_data); 16276+GXdpOpenURI *gxdp_open_uri_proxy_new_for_bus_finish ( 16277+ GAsyncResult *res, 16278+ GError **error); 16279+GXdpOpenURI *gxdp_open_uri_proxy_new_for_bus_sync ( 16280+ GBusType bus_type, 16281+ GDBusProxyFlags flags, 16282+ const gchar *name, 16283+ const gchar *object_path, 16284+ GCancellable *cancellable, 16285+ GError **error); 16286+ 16287+ 16288+/* ---- */ 16289+ 16290+#define GXDP_TYPE_OPEN_URI_SKELETON (gxdp_open_uri_skeleton_get_type ()) 16291+#define GXDP_OPEN_URI_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GXDP_TYPE_OPEN_URI_SKELETON, GXdpOpenURISkeleton)) 16292+#define GXDP_OPEN_URI_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GXDP_TYPE_OPEN_URI_SKELETON, GXdpOpenURISkeletonClass)) 16293+#define GXDP_OPEN_URI_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GXDP_TYPE_OPEN_URI_SKELETON, GXdpOpenURISkeletonClass)) 16294+#define GXDP_IS_OPEN_URI_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GXDP_TYPE_OPEN_URI_SKELETON)) 16295+#define GXDP_IS_OPEN_URI_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GXDP_TYPE_OPEN_URI_SKELETON)) 16296+ 16297+typedef struct _GXdpOpenURISkeleton GXdpOpenURISkeleton; 16298+typedef struct _GXdpOpenURISkeletonClass GXdpOpenURISkeletonClass; 16299+typedef struct _GXdpOpenURISkeletonPrivate GXdpOpenURISkeletonPrivate; 16300+ 16301+struct _GXdpOpenURISkeleton 16302+{ 16303+ /*< private >*/ 16304+ GDBusInterfaceSkeleton parent_instance; 16305+ GXdpOpenURISkeletonPrivate *priv; 16306+}; 16307+ 16308+struct _GXdpOpenURISkeletonClass 16309+{ 16310+ GDBusInterfaceSkeletonClass parent_class; 16311+}; 16312+ 16313+GType gxdp_open_uri_skeleton_get_type (void) G_GNUC_CONST; 16314+ 16315+#if GLIB_CHECK_VERSION(2, 44, 0) 16316+G_DEFINE_AUTOPTR_CLEANUP_FUNC (GXdpOpenURISkeleton, g_object_unref) 16317+#endif 16318+ 16319+GXdpOpenURI *gxdp_open_uri_skeleton_new (void); 16320+ 16321+ 16322+/* ------------------------------------------------------------------------ */ 16323+/* Declarations for org.freedesktop.portal.ProxyResolver */ 16324+ 16325+#define GXDP_TYPE_PROXY_RESOLVER (gxdp_proxy_resolver_get_type ()) 16326+#define GXDP_PROXY_RESOLVER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GXDP_TYPE_PROXY_RESOLVER, GXdpProxyResolver)) 16327+#define GXDP_IS_PROXY_RESOLVER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GXDP_TYPE_PROXY_RESOLVER)) 16328+#define GXDP_PROXY_RESOLVER_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), GXDP_TYPE_PROXY_RESOLVER, GXdpProxyResolverIface)) 16329+ 16330+struct _GXdpProxyResolver; 16331+typedef struct _GXdpProxyResolver GXdpProxyResolver; 16332+typedef struct _GXdpProxyResolverIface GXdpProxyResolverIface; 16333+ 16334+struct _GXdpProxyResolverIface 16335+{ 16336+ GTypeInterface parent_iface; 16337+ 16338+ 16339+ gboolean (*handle_lookup) ( 16340+ GXdpProxyResolver *object, 16341+ GDBusMethodInvocation *invocation, 16342+ const gchar *arg_uri); 16343+ 16344+ guint (*get_version) (GXdpProxyResolver *object); 16345+ 16346+}; 16347+ 16348+GType gxdp_proxy_resolver_get_type (void) G_GNUC_CONST; 16349+ 16350+GDBusInterfaceInfo *gxdp_proxy_resolver_interface_info (void); 16351+guint gxdp_proxy_resolver_override_properties (GObjectClass *klass, guint property_id_begin); 16352+ 16353+ 16354+/* D-Bus method call completion functions: */ 16355+void gxdp_proxy_resolver_complete_lookup ( 16356+ GXdpProxyResolver *object, 16357+ GDBusMethodInvocation *invocation, 16358+ const gchar *const *proxies); 16359+ 16360+ 16361+ 16362+/* D-Bus method calls: */ 16363+void gxdp_proxy_resolver_call_lookup ( 16364+ GXdpProxyResolver *proxy, 16365+ const gchar *arg_uri, 16366+ GCancellable *cancellable, 16367+ GAsyncReadyCallback callback, 16368+ gpointer user_data); 16369+ 16370+gboolean gxdp_proxy_resolver_call_lookup_finish ( 16371+ GXdpProxyResolver *proxy, 16372+ gchar ***out_proxies, 16373+ GAsyncResult *res, 16374+ GError **error); 16375+ 16376+gboolean gxdp_proxy_resolver_call_lookup_sync ( 16377+ GXdpProxyResolver *proxy, 16378+ const gchar *arg_uri, 16379+ gchar ***out_proxies, 16380+ GCancellable *cancellable, 16381+ GError **error); 16382+ 16383+ 16384+ 16385+/* D-Bus property accessors: */ 16386+guint gxdp_proxy_resolver_get_version (GXdpProxyResolver *object); 16387+void gxdp_proxy_resolver_set_version (GXdpProxyResolver *object, guint value); 16388+ 16389+ 16390+/* ---- */ 16391+ 16392+#define GXDP_TYPE_PROXY_RESOLVER_PROXY (gxdp_proxy_resolver_proxy_get_type ()) 16393+#define GXDP_PROXY_RESOLVER_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GXDP_TYPE_PROXY_RESOLVER_PROXY, GXdpProxyResolverProxy)) 16394+#define GXDP_PROXY_RESOLVER_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GXDP_TYPE_PROXY_RESOLVER_PROXY, GXdpProxyResolverProxyClass)) 16395+#define GXDP_PROXY_RESOLVER_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GXDP_TYPE_PROXY_RESOLVER_PROXY, GXdpProxyResolverProxyClass)) 16396+#define GXDP_IS_PROXY_RESOLVER_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GXDP_TYPE_PROXY_RESOLVER_PROXY)) 16397+#define GXDP_IS_PROXY_RESOLVER_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GXDP_TYPE_PROXY_RESOLVER_PROXY)) 16398+ 16399+typedef struct _GXdpProxyResolverProxy GXdpProxyResolverProxy; 16400+typedef struct _GXdpProxyResolverProxyClass GXdpProxyResolverProxyClass; 16401+typedef struct _GXdpProxyResolverProxyPrivate GXdpProxyResolverProxyPrivate; 16402+ 16403+struct _GXdpProxyResolverProxy 16404+{ 16405+ /*< private >*/ 16406+ GDBusProxy parent_instance; 16407+ GXdpProxyResolverProxyPrivate *priv; 16408+}; 16409+ 16410+struct _GXdpProxyResolverProxyClass 16411+{ 16412+ GDBusProxyClass parent_class; 16413+}; 16414+ 16415+GType gxdp_proxy_resolver_proxy_get_type (void) G_GNUC_CONST; 16416+ 16417+#if GLIB_CHECK_VERSION(2, 44, 0) 16418+G_DEFINE_AUTOPTR_CLEANUP_FUNC (GXdpProxyResolverProxy, g_object_unref) 16419+#endif 16420+ 16421+void gxdp_proxy_resolver_proxy_new ( 16422+ GDBusConnection *connection, 16423+ GDBusProxyFlags flags, 16424+ const gchar *name, 16425+ const gchar *object_path, 16426+ GCancellable *cancellable, 16427+ GAsyncReadyCallback callback, 16428+ gpointer user_data); 16429+GXdpProxyResolver *gxdp_proxy_resolver_proxy_new_finish ( 16430+ GAsyncResult *res, 16431+ GError **error); 16432+GXdpProxyResolver *gxdp_proxy_resolver_proxy_new_sync ( 16433+ GDBusConnection *connection, 16434+ GDBusProxyFlags flags, 16435+ const gchar *name, 16436+ const gchar *object_path, 16437+ GCancellable *cancellable, 16438+ GError **error); 16439+ 16440+void gxdp_proxy_resolver_proxy_new_for_bus ( 16441+ GBusType bus_type, 16442+ GDBusProxyFlags flags, 16443+ const gchar *name, 16444+ const gchar *object_path, 16445+ GCancellable *cancellable, 16446+ GAsyncReadyCallback callback, 16447+ gpointer user_data); 16448+GXdpProxyResolver *gxdp_proxy_resolver_proxy_new_for_bus_finish ( 16449+ GAsyncResult *res, 16450+ GError **error); 16451+GXdpProxyResolver *gxdp_proxy_resolver_proxy_new_for_bus_sync ( 16452+ GBusType bus_type, 16453+ GDBusProxyFlags flags, 16454+ const gchar *name, 16455+ const gchar *object_path, 16456+ GCancellable *cancellable, 16457+ GError **error); 16458+ 16459+ 16460+/* ---- */ 16461+ 16462+#define GXDP_TYPE_PROXY_RESOLVER_SKELETON (gxdp_proxy_resolver_skeleton_get_type ()) 16463+#define GXDP_PROXY_RESOLVER_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GXDP_TYPE_PROXY_RESOLVER_SKELETON, GXdpProxyResolverSkeleton)) 16464+#define GXDP_PROXY_RESOLVER_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GXDP_TYPE_PROXY_RESOLVER_SKELETON, GXdpProxyResolverSkeletonClass)) 16465+#define GXDP_PROXY_RESOLVER_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GXDP_TYPE_PROXY_RESOLVER_SKELETON, GXdpProxyResolverSkeletonClass)) 16466+#define GXDP_IS_PROXY_RESOLVER_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GXDP_TYPE_PROXY_RESOLVER_SKELETON)) 16467+#define GXDP_IS_PROXY_RESOLVER_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GXDP_TYPE_PROXY_RESOLVER_SKELETON)) 16468+ 16469+typedef struct _GXdpProxyResolverSkeleton GXdpProxyResolverSkeleton; 16470+typedef struct _GXdpProxyResolverSkeletonClass GXdpProxyResolverSkeletonClass; 16471+typedef struct _GXdpProxyResolverSkeletonPrivate GXdpProxyResolverSkeletonPrivate; 16472+ 16473+struct _GXdpProxyResolverSkeleton 16474+{ 16475+ /*< private >*/ 16476+ GDBusInterfaceSkeleton parent_instance; 16477+ GXdpProxyResolverSkeletonPrivate *priv; 16478+}; 16479+ 16480+struct _GXdpProxyResolverSkeletonClass 16481+{ 16482+ GDBusInterfaceSkeletonClass parent_class; 16483+}; 16484+ 16485+GType gxdp_proxy_resolver_skeleton_get_type (void) G_GNUC_CONST; 16486+ 16487+#if GLIB_CHECK_VERSION(2, 44, 0) 16488+G_DEFINE_AUTOPTR_CLEANUP_FUNC (GXdpProxyResolverSkeleton, g_object_unref) 16489+#endif 16490+ 16491+GXdpProxyResolver *gxdp_proxy_resolver_skeleton_new (void); 16492+ 16493+ 16494+/* ------------------------------------------------------------------------ */ 16495+/* Declarations for org.freedesktop.portal.Trash */ 16496+ 16497+#define GXDP_TYPE_TRASH (gxdp_trash_get_type ()) 16498+#define GXDP_TRASH(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GXDP_TYPE_TRASH, GXdpTrash)) 16499+#define GXDP_IS_TRASH(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GXDP_TYPE_TRASH)) 16500+#define GXDP_TRASH_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), GXDP_TYPE_TRASH, GXdpTrashIface)) 16501+ 16502+struct _GXdpTrash; 16503+typedef struct _GXdpTrash GXdpTrash; 16504+typedef struct _GXdpTrashIface GXdpTrashIface; 16505+ 16506+struct _GXdpTrashIface 16507+{ 16508+ GTypeInterface parent_iface; 16509+ 16510+ 16511+ gboolean (*handle_trash_file) ( 16512+ GXdpTrash *object, 16513+ GDBusMethodInvocation *invocation, 16514+ GUnixFDList *fd_list, 16515+ GVariant *arg_fd); 16516+ 16517+ guint (*get_version) (GXdpTrash *object); 16518+ 16519+}; 16520+ 16521+GType gxdp_trash_get_type (void) G_GNUC_CONST; 16522+ 16523+GDBusInterfaceInfo *gxdp_trash_interface_info (void); 16524+guint gxdp_trash_override_properties (GObjectClass *klass, guint property_id_begin); 16525+ 16526+ 16527+/* D-Bus method call completion functions: */ 16528+void gxdp_trash_complete_trash_file ( 16529+ GXdpTrash *object, 16530+ GDBusMethodInvocation *invocation, 16531+ GUnixFDList *fd_list, 16532+ guint result); 16533+ 16534+ 16535+ 16536+/* D-Bus method calls: */ 16537+void gxdp_trash_call_trash_file ( 16538+ GXdpTrash *proxy, 16539+ GVariant *arg_fd, 16540+ GUnixFDList *fd_list, 16541+ GCancellable *cancellable, 16542+ GAsyncReadyCallback callback, 16543+ gpointer user_data); 16544+ 16545+gboolean gxdp_trash_call_trash_file_finish ( 16546+ GXdpTrash *proxy, 16547+ guint *out_result, 16548+ GUnixFDList **out_fd_list, 16549+ GAsyncResult *res, 16550+ GError **error); 16551+ 16552+gboolean gxdp_trash_call_trash_file_sync ( 16553+ GXdpTrash *proxy, 16554+ GVariant *arg_fd, 16555+ GUnixFDList *fd_list, 16556+ guint *out_result, 16557+ GUnixFDList **out_fd_list, 16558+ GCancellable *cancellable, 16559+ GError **error); 16560+ 16561+ 16562+ 16563+/* D-Bus property accessors: */ 16564+guint gxdp_trash_get_version (GXdpTrash *object); 16565+void gxdp_trash_set_version (GXdpTrash *object, guint value); 16566+ 16567+ 16568+/* ---- */ 16569+ 16570+#define GXDP_TYPE_TRASH_PROXY (gxdp_trash_proxy_get_type ()) 16571+#define GXDP_TRASH_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GXDP_TYPE_TRASH_PROXY, GXdpTrashProxy)) 16572+#define GXDP_TRASH_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GXDP_TYPE_TRASH_PROXY, GXdpTrashProxyClass)) 16573+#define GXDP_TRASH_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GXDP_TYPE_TRASH_PROXY, GXdpTrashProxyClass)) 16574+#define GXDP_IS_TRASH_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GXDP_TYPE_TRASH_PROXY)) 16575+#define GXDP_IS_TRASH_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GXDP_TYPE_TRASH_PROXY)) 16576+ 16577+typedef struct _GXdpTrashProxy GXdpTrashProxy; 16578+typedef struct _GXdpTrashProxyClass GXdpTrashProxyClass; 16579+typedef struct _GXdpTrashProxyPrivate GXdpTrashProxyPrivate; 16580+ 16581+struct _GXdpTrashProxy 16582+{ 16583+ /*< private >*/ 16584+ GDBusProxy parent_instance; 16585+ GXdpTrashProxyPrivate *priv; 16586+}; 16587+ 16588+struct _GXdpTrashProxyClass 16589+{ 16590+ GDBusProxyClass parent_class; 16591+}; 16592+ 16593+GType gxdp_trash_proxy_get_type (void) G_GNUC_CONST; 16594+ 16595+#if GLIB_CHECK_VERSION(2, 44, 0) 16596+G_DEFINE_AUTOPTR_CLEANUP_FUNC (GXdpTrashProxy, g_object_unref) 16597+#endif 16598+ 16599+void gxdp_trash_proxy_new ( 16600+ GDBusConnection *connection, 16601+ GDBusProxyFlags flags, 16602+ const gchar *name, 16603+ const gchar *object_path, 16604+ GCancellable *cancellable, 16605+ GAsyncReadyCallback callback, 16606+ gpointer user_data); 16607+GXdpTrash *gxdp_trash_proxy_new_finish ( 16608+ GAsyncResult *res, 16609+ GError **error); 16610+GXdpTrash *gxdp_trash_proxy_new_sync ( 16611+ GDBusConnection *connection, 16612+ GDBusProxyFlags flags, 16613+ const gchar *name, 16614+ const gchar *object_path, 16615+ GCancellable *cancellable, 16616+ GError **error); 16617+ 16618+void gxdp_trash_proxy_new_for_bus ( 16619+ GBusType bus_type, 16620+ GDBusProxyFlags flags, 16621+ const gchar *name, 16622+ const gchar *object_path, 16623+ GCancellable *cancellable, 16624+ GAsyncReadyCallback callback, 16625+ gpointer user_data); 16626+GXdpTrash *gxdp_trash_proxy_new_for_bus_finish ( 16627+ GAsyncResult *res, 16628+ GError **error); 16629+GXdpTrash *gxdp_trash_proxy_new_for_bus_sync ( 16630+ GBusType bus_type, 16631+ GDBusProxyFlags flags, 16632+ const gchar *name, 16633+ const gchar *object_path, 16634+ GCancellable *cancellable, 16635+ GError **error); 16636+ 16637+ 16638+/* ---- */ 16639+ 16640+#define GXDP_TYPE_TRASH_SKELETON (gxdp_trash_skeleton_get_type ()) 16641+#define GXDP_TRASH_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GXDP_TYPE_TRASH_SKELETON, GXdpTrashSkeleton)) 16642+#define GXDP_TRASH_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GXDP_TYPE_TRASH_SKELETON, GXdpTrashSkeletonClass)) 16643+#define GXDP_TRASH_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GXDP_TYPE_TRASH_SKELETON, GXdpTrashSkeletonClass)) 16644+#define GXDP_IS_TRASH_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GXDP_TYPE_TRASH_SKELETON)) 16645+#define GXDP_IS_TRASH_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GXDP_TYPE_TRASH_SKELETON)) 16646+ 16647+typedef struct _GXdpTrashSkeleton GXdpTrashSkeleton; 16648+typedef struct _GXdpTrashSkeletonClass GXdpTrashSkeletonClass; 16649+typedef struct _GXdpTrashSkeletonPrivate GXdpTrashSkeletonPrivate; 16650+ 16651+struct _GXdpTrashSkeleton 16652+{ 16653+ /*< private >*/ 16654+ GDBusInterfaceSkeleton parent_instance; 16655+ GXdpTrashSkeletonPrivate *priv; 16656+}; 16657+ 16658+struct _GXdpTrashSkeletonClass 16659+{ 16660+ GDBusInterfaceSkeletonClass parent_class; 16661+}; 16662+ 16663+GType gxdp_trash_skeleton_get_type (void) G_GNUC_CONST; 16664+ 16665+#if GLIB_CHECK_VERSION(2, 44, 0) 16666+G_DEFINE_AUTOPTR_CLEANUP_FUNC (GXdpTrashSkeleton, g_object_unref) 16667+#endif 16668+ 16669+GXdpTrash *gxdp_trash_skeleton_new (void); 16670+ 16671+ 16672+G_END_DECLS 16673+ 16674+#endif /* __XDP_DBUS_H__ */ 16675diff --git a/glib/gatomic.h b/glib/gatomic.h 16676index 8b2b880..7bb4443 100644 16677--- a/glib/gatomic.h 16678+++ b/glib/gatomic.h 16679@@ -86,7 +86,13 @@ G_END_DECLS 16680 #if defined(G_ATOMIC_LOCK_FREE) && defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4) 16681 16682 /* We prefer the new C11-style atomic extension of GCC if available */ 16683-#if defined(__ATOMIC_SEQ_CST) 16684+/* OHOS_GLIB_COMPATIBLE 16685+ * ohos.glib.compatible.001: glib 2.62.5 update 2.68.1 Incompatible with gstreamer 1.16.2 16686+ * static volatile gsize _init_once = 0; // Conflicts with volatile, 16687+ * if (g_once_init_enter (&_init_once)) 16688+ * add "&& !defined(__clang__)" 16689+ */ 16690+#if defined(__ATOMIC_SEQ_CST) && !defined(__clang__) 16691 16692 #define g_atomic_int_get(atomic) \ 16693 (G_GNUC_EXTENSION ({ \ 16694diff --git a/glib/ggettext.c b/glib/ggettext.c 16695index 303b9b9..4d4cb25 100644 16696--- a/glib/ggettext.c 16697+++ b/glib/ggettext.c 16698@@ -40,7 +40,12 @@ 16699 16700 #include <string.h> 16701 #include <locale.h> 16702+#ifndef OHOS_OPT_COMPAT 16703+/* ohos.opt.compat.001: 16704+ * Remove dependency to gettext 16705+ */ 16706 #include <libintl.h> 16707+#endif 16708 16709 #ifdef G_OS_WIN32 16710 16711diff --git a/glib/gi18n-lib.h b/glib/gi18n-lib.h 16712index 74e50a3..b6cc3d8 100644 16713--- a/glib/gi18n-lib.h 16714+++ b/glib/gi18n-lib.h 16715@@ -20,7 +20,12 @@ 16716 16717 #include <glib.h> 16718 16719+#ifndef OHOS_OPT_COMPAT 16720+/* ohos.opt.compat.001: 16721+ * Remove dependency to gettext 16722+ */ 16723 #include <libintl.h> 16724+#endif 16725 #include <string.h> 16726 16727 #ifndef GETTEXT_PACKAGE 16728diff --git a/glib/gi18n.h b/glib/gi18n.h 16729index 5f996d2..a3e11c4 100644 16730--- a/glib/gi18n.h 16731+++ b/glib/gi18n.h 16732@@ -20,7 +20,12 @@ 16733 16734 #include <glib.h> 16735 16736+#ifndef OHOS_OPT_COMPAT 16737+/* ohos.opt.compat.001: 16738+ * Remove dependency to gettext 16739+ */ 16740 #include <libintl.h> 16741+#endif 16742 #include <string.h> 16743 16744 #define _(String) gettext (String) 16745diff --git a/glib/glibconfig.h b/glib/glibconfig.h 16746new file mode 100644 16747index 0000000..4189f00 16748--- /dev/null 16749+++ b/glib/glibconfig.h 16750@@ -0,0 +1,294 @@ 16751+/* glibconfig.h 16752+ * 16753+ * This is a generated file. Please modify 'glibconfig.h.in' 16754+ */ 16755+ 16756+#ifndef __GLIBCONFIG_H__ 16757+#define __GLIBCONFIG_H__ 16758+ 16759+#include <glib/gmacros.h> 16760+ 16761+#include <limits.h> 16762+#include <float.h> 16763+#define GLIB_HAVE_ALLOCA_H 16764+ 16765+/* Specifies that GLib's g_print*() functions wrap the 16766+ * system printf functions. This is useful to know, for example, 16767+ * when using glibc's register_printf_function(). 16768+ */ 16769+#undef GLIB_USING_SYSTEM_PRINTF 16770+ 16771+/* #undef GLIB_STATIC_COMPILATION */ 16772+/* #undef GOBJECT_STATIC_COMPILATION */ 16773+/* #undef G_INTL_STATIC_COMPILATION */ 16774+/* #undef FFI_STATIC_BUILD */ 16775+ 16776+G_BEGIN_DECLS 16777+ 16778+#define G_MINFLOAT FLT_MIN 16779+#define G_MAXFLOAT FLT_MAX 16780+#define G_MINDOUBLE DBL_MIN 16781+#define G_MAXDOUBLE DBL_MAX 16782+#define G_MINSHORT SHRT_MIN 16783+#define G_MAXSHORT SHRT_MAX 16784+#define G_MAXUSHORT USHRT_MAX 16785+#define G_MININT INT_MIN 16786+#define G_MAXINT INT_MAX 16787+#define G_MAXUINT UINT_MAX 16788+#define G_MINLONG LONG_MIN 16789+#define G_MAXLONG LONG_MAX 16790+#define G_MAXULONG ULONG_MAX 16791+ 16792+typedef signed char gint8; 16793+typedef unsigned char guint8; 16794+ 16795+typedef signed short gint16; 16796+typedef unsigned short guint16; 16797+ 16798+#define G_GINT16_MODIFIER "h" 16799+#define G_GINT16_FORMAT "hi" 16800+#define G_GUINT16_FORMAT "hu" 16801+ 16802+ 16803+typedef signed int gint32; 16804+typedef unsigned int guint32; 16805+ 16806+#define G_GINT32_MODIFIER "" 16807+#define G_GINT32_FORMAT "i" 16808+#define G_GUINT32_FORMAT "u" 16809+ 16810+ 16811+#define G_HAVE_GINT64 1 /* deprecated, always true */ 16812+ 16813+#ifdef __LP64__ 16814+ 16815+typedef signed long gint64; 16816+typedef unsigned long guint64; 16817+ 16818+#define G_GINT64_CONSTANT(val) (val##L) 16819+#define G_GUINT64_CONSTANT(val) (val##UL) 16820+ 16821+#define G_GINT64_MODIFIER "l" 16822+#define G_GINT64_FORMAT "li" 16823+#define G_GUINT64_FORMAT "lu" 16824+ 16825+ 16826+#define GLIB_SIZEOF_VOID_P 8 16827+#define GLIB_SIZEOF_LONG 8 16828+#define GLIB_SIZEOF_SIZE_T 8 16829+#define GLIB_SIZEOF_SSIZE_T 8 16830+ 16831+typedef signed long gssize; 16832+typedef unsigned long gsize; 16833+#define G_GSIZE_MODIFIER "l" 16834+#define G_GSSIZE_MODIFIER "l" 16835+#define G_GSIZE_FORMAT "lu" 16836+#define G_GSSIZE_FORMAT "li" 16837+ 16838+#define G_MAXSIZE G_MAXULONG 16839+#define G_MINSSIZE G_MINLONG 16840+#define G_MAXSSIZE G_MAXLONG 16841+ 16842+typedef gint64 goffset; 16843+#define G_MINOFFSET G_MININT64 16844+#define G_MAXOFFSET G_MAXINT64 16845+ 16846+#define G_GOFFSET_MODIFIER G_GINT64_MODIFIER 16847+#define G_GOFFSET_FORMAT G_GINT64_FORMAT 16848+#define G_GOFFSET_CONSTANT(val) G_GINT64_CONSTANT(val) 16849+ 16850+#define G_POLLFD_FORMAT "%d" 16851+ 16852+#define GPOINTER_TO_INT(p) ((gint) (glong) (p)) 16853+#define GPOINTER_TO_UINT(p) ((guint) (gulong) (p)) 16854+ 16855+#define GINT_TO_POINTER(i) ((gpointer) (glong) (i)) 16856+#define GUINT_TO_POINTER(u) ((gpointer) (gulong) (u)) 16857+ 16858+typedef signed long gintptr; 16859+typedef unsigned long guintptr; 16860+ 16861+#define G_GINTPTR_MODIFIER "l" 16862+#define G_GINTPTR_FORMAT "li" 16863+#define G_GUINTPTR_FORMAT "lu" 16864+ 16865+#else 16866+ 16867+G_GNUC_EXTENSION typedef signed long long gint64; 16868+G_GNUC_EXTENSION typedef unsigned long long guint64; 16869+ 16870+#define G_GINT64_CONSTANT(val) (G_GNUC_EXTENSION (val##LL)) 16871+#define G_GUINT64_CONSTANT(val) (G_GNUC_EXTENSION (val##ULL)) 16872+ 16873+#define G_GINT64_MODIFIER "ll" 16874+#define G_GINT64_FORMAT "lli" 16875+#define G_GUINT64_FORMAT "llu" 16876+ 16877+ 16878+#define GLIB_SIZEOF_VOID_P 4 16879+#define GLIB_SIZEOF_LONG 4 16880+#define GLIB_SIZEOF_SIZE_T 4 16881+#define GLIB_SIZEOF_SSIZE_T 4 16882+ 16883+typedef signed int gssize; 16884+typedef unsigned int gsize; 16885+#define G_GSIZE_MODIFIER "" 16886+#define G_GSSIZE_MODIFIER "" 16887+#define G_GSIZE_FORMAT "u" 16888+#define G_GSSIZE_FORMAT "i" 16889+ 16890+#define G_MAXSIZE G_MAXUINT 16891+#define G_MINSSIZE G_MININT 16892+#define G_MAXSSIZE G_MAXINT 16893+ 16894+typedef gint64 goffset; 16895+#define G_MINOFFSET G_MININT64 16896+#define G_MAXOFFSET G_MAXINT64 16897+ 16898+#define G_GOFFSET_MODIFIER G_GINT64_MODIFIER 16899+#define G_GOFFSET_FORMAT G_GINT64_FORMAT 16900+#define G_GOFFSET_CONSTANT(val) G_GINT64_CONSTANT(val) 16901+ 16902+#define G_POLLFD_FORMAT "%d" 16903+ 16904+#define GPOINTER_TO_INT(p) ((gint) (gint) (p)) 16905+#define GPOINTER_TO_UINT(p) ((guint) (guint) (p)) 16906+ 16907+#define GINT_TO_POINTER(i) ((gpointer) (gint) (i)) 16908+#define GUINT_TO_POINTER(u) ((gpointer) (guint) (u)) 16909+ 16910+typedef signed int gintptr; 16911+typedef unsigned int guintptr; 16912+ 16913+#define G_GINTPTR_MODIFIER "" 16914+#define G_GINTPTR_FORMAT "i" 16915+#define G_GUINTPTR_FORMAT "u" 16916+#endif 16917+ 16918+ 16919+#define GLIB_MAJOR_VERSION 2 16920+#define GLIB_MINOR_VERSION 72 16921+#define GLIB_MICRO_VERSION 2 16922+ 16923+#define G_OS_UNIX 16924+ 16925+#define G_VA_COPY va_copy 16926+#define G_VA_COPY_AS_ARRAY 1 16927+ 16928+ 16929+#ifndef __cplusplus 16930+# define G_HAVE_ISO_VARARGS 1 16931+#endif 16932+ 16933+#ifdef __cplusplus 16934+# define G_HAVE_ISO_VARARGS 1 16935+#endif 16936+ 16937+/* gcc-2.95.x supports both gnu style and ISO varargs, but if -ansi 16938+ * is passed ISO vararg support is turned off, and there is no work 16939+ * around to turn it on, so we unconditionally turn it off. 16940+ */ 16941+#if __GNUC__ == 2 && __GNUC_MINOR__ == 95 16942+# undef G_HAVE_ISO_VARARGS 16943+#endif 16944+ 16945+#define G_HAVE_GROWING_STACK 0 16946+#define G_HAVE_GNUC_VISIBILITY 1 16947+ 16948+#ifndef _MSC_VER 16949+# define G_HAVE_GNUC_VARARGS 1 16950+#endif 16951+ 16952+#if defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590) 16953+#define G_GNUC_INTERNAL __attribute__((visibility("hidden"))) 16954+#elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550) 16955+#define G_GNUC_INTERNAL __hidden 16956+#elif defined (__GNUC__) && defined (G_HAVE_GNUC_VISIBILITY) 16957+#define G_GNUC_INTERNAL __attribute__((visibility("hidden"))) 16958+#else 16959+#define G_GNUC_INTERNAL 16960+#endif 16961+ 16962+#define G_THREADS_ENABLED 16963+#define G_THREADS_IMPL_POSIX 16964+ 16965+#define G_ATOMIC_LOCK_FREE 16966+ 16967+#define GINT16_TO_LE(val) ((gint16) (val)) 16968+#define GUINT16_TO_LE(val) ((guint16) (val)) 16969+#define GINT16_TO_BE(val) ((gint16) GUINT16_SWAP_LE_BE (val)) 16970+#define GUINT16_TO_BE(val) (GUINT16_SWAP_LE_BE (val)) 16971+ 16972+#define GINT32_TO_LE(val) ((gint32) (val)) 16973+#define GUINT32_TO_LE(val) ((guint32) (val)) 16974+#define GINT32_TO_BE(val) ((gint32) GUINT32_SWAP_LE_BE (val)) 16975+#define GUINT32_TO_BE(val) (GUINT32_SWAP_LE_BE (val)) 16976+ 16977+#define GINT64_TO_LE(val) ((gint64) (val)) 16978+#define GUINT64_TO_LE(val) ((guint64) (val)) 16979+#define GINT64_TO_BE(val) ((gint64) GUINT64_SWAP_LE_BE (val)) 16980+#define GUINT64_TO_BE(val) (GUINT64_SWAP_LE_BE (val)) 16981+ 16982+#ifdef __LP64__ 16983+ 16984+#define GLONG_TO_LE(val) ((glong) GINT64_TO_LE (val)) 16985+#define GULONG_TO_LE(val) ((gulong) GUINT64_TO_LE (val)) 16986+#define GLONG_TO_BE(val) ((glong) GINT64_TO_BE (val)) 16987+#define GULONG_TO_BE(val) ((gulong) GUINT64_TO_BE (val)) 16988+#define GINT_TO_LE(val) ((gint) GINT32_TO_LE (val)) 16989+#define GUINT_TO_LE(val) ((guint) GUINT32_TO_LE (val)) 16990+#define GINT_TO_BE(val) ((gint) GINT32_TO_BE (val)) 16991+#define GUINT_TO_BE(val) ((guint) GUINT32_TO_BE (val)) 16992+#define GSIZE_TO_LE(val) ((gsize) GUINT64_TO_LE (val)) 16993+#define GSSIZE_TO_LE(val) ((gssize) GINT64_TO_LE (val)) 16994+#define GSIZE_TO_BE(val) ((gsize) GUINT64_TO_BE (val)) 16995+#define GSSIZE_TO_BE(val) ((gssize) GINT64_TO_BE (val)) 16996+#define G_BYTE_ORDER G_LITTLE_ENDIAN 16997+ 16998+#else 16999+ 17000+#define GLONG_TO_LE(val) ((glong) GINT32_TO_LE (val)) 17001+#define GULONG_TO_LE(val) ((gulong) GUINT32_TO_LE (val)) 17002+#define GLONG_TO_BE(val) ((glong) GINT32_TO_BE (val)) 17003+#define GULONG_TO_BE(val) ((gulong) GUINT32_TO_BE (val)) 17004+#define GINT_TO_LE(val) ((gint) GINT32_TO_LE (val)) 17005+#define GUINT_TO_LE(val) ((guint) GUINT32_TO_LE (val)) 17006+#define GINT_TO_BE(val) ((gint) GINT32_TO_BE (val)) 17007+#define GUINT_TO_BE(val) ((guint) GUINT32_TO_BE (val)) 17008+#define GSIZE_TO_LE(val) ((gsize) GUINT32_TO_LE (val)) 17009+#define GSSIZE_TO_LE(val) ((gssize) GINT32_TO_LE (val)) 17010+#define GSIZE_TO_BE(val) ((gsize) GUINT32_TO_BE (val)) 17011+#define GSSIZE_TO_BE(val) ((gssize) GINT32_TO_BE (val)) 17012+#define G_BYTE_ORDER G_LITTLE_ENDIAN 17013+ 17014+#endif 17015+ 17016+ 17017+#define GLIB_SYSDEF_POLLIN =1 17018+#define GLIB_SYSDEF_POLLOUT =4 17019+#define GLIB_SYSDEF_POLLPRI =2 17020+#define GLIB_SYSDEF_POLLHUP =16 17021+#define GLIB_SYSDEF_POLLERR =8 17022+#define GLIB_SYSDEF_POLLNVAL =32 17023+ 17024+#define G_MODULE_SUFFIX "so" 17025+ 17026+typedef int GPid; 17027+#define G_PID_FORMAT "i" 17028+ 17029+#define GLIB_SYSDEF_AF_UNIX 1 17030+#define GLIB_SYSDEF_AF_INET 2 17031+#define GLIB_SYSDEF_AF_INET6 10 17032+ 17033+#define GLIB_SYSDEF_MSG_OOB 1 17034+#define GLIB_SYSDEF_MSG_PEEK 2 17035+#define GLIB_SYSDEF_MSG_DONTROUTE 4 17036+ 17037+#define G_DIR_SEPARATOR '/' 17038+#define G_DIR_SEPARATOR_S "/" 17039+#define G_SEARCHPATH_SEPARATOR ':' 17040+#define G_SEARCHPATH_SEPARATOR_S ":" 17041+ 17042+G_END_DECLS 17043+ 17044+#endif /* __GLIBCONFIG_H__ */ 17045diff --git a/glib/gscanner.c b/glib/gscanner.c 17046index 5f34218..39a9269 100644 17047--- a/glib/gscanner.c 17048+++ b/glib/gscanner.c 17049@@ -1678,7 +1678,7 @@ g_scanner_get_token_i (GScanner *scanner, 17050 17051 case G_TOKEN_SYMBOL: 17052 if (scanner->config->symbol_2_token) 17053- *token_p = (GTokenType) ((size_t) value_p->v_symbol); 17054+ *token_p = (GTokenType)(intptr_t)value_p->v_symbol; 17055 break; 17056 17057 case G_TOKEN_BINARY: 17058diff --git a/glib/gslice.c b/glib/gslice.c 17059index 4e99920..c58591e 100644 17060--- a/glib/gslice.c 17061+++ b/glib/gslice.c 17062@@ -51,6 +51,18 @@ 17063 17064 #include "gvalgrind.h" 17065 17066+#include "gmemdfx.h" 17067+ 17068+#if defined(G_MEM_DFX) 17069+ 17070+#define DFX_TRACE(probe) probe 17071+ 17072+#else 17073+ 17074+#define DFX_TRACE(probe) 17075+ 17076+#endif 17077+ 17078 /** 17079 * SECTION:memory_slices 17080 * @title: Memory Slices 17081@@ -675,6 +687,66 @@ magazine_chain_prepare_fields (ChunkLink *magazine_chunks) 17082 #define magazine_chain_next(mc) ((mc)->next->next->data) 17083 #define magazine_chain_count(mc) ((mc)->next->next->next->data) 17084 17085+ 17086+#ifdef OHOS_OPT_PERFORMANCE 17087+/* 17088+ * ohos.opt.performance.0004 17089+ * fix glib cache too large problem. when thread exit, release mem no user. 17090+ */ 17091+ 17092+static void 17093+magazine_cache_trim (Allocator *local_allocator, 17094+ guint ix, 17095+ guint stamp, 17096+ gboolean release) 17097+{ 17098+ /* g_mutex_lock (local_allocator->mutex); done by caller */ 17099+ /* trim magazine cache from tail */ 17100+ ChunkLink *current = magazine_chain_prev (local_allocator->magazines[ix]); 17101+ ChunkLink *trash = NULL; 17102+ while (!G_APPROX_VALUE (stamp, magazine_chain_uint_stamp (current), 17103+ local_allocator->config.working_set_msecs) || release) 17104+ { 17105+ /* unlink */ 17106+ ChunkLink *prev = magazine_chain_prev (current); 17107+ ChunkLink *next = magazine_chain_next (current); 17108+ magazine_chain_next (prev) = next; 17109+ magazine_chain_prev (next) = prev; 17110+ /* clear special fields, put on trash stack */ 17111+ magazine_chain_next (current) = NULL; 17112+ magazine_chain_count (current) = NULL; 17113+ magazine_chain_stamp (current) = NULL; 17114+ magazine_chain_prev (current) = trash; 17115+ trash = current; 17116+ /* fixup list head if required */ 17117+ if (current == local_allocator->magazines[ix]) 17118+ { 17119+ local_allocator->magazines[ix] = NULL; 17120+ break; 17121+ } 17122+ current = prev; 17123+ } 17124+ g_mutex_unlock (&local_allocator->magazine_mutex); 17125+ /* free trash */ 17126+ if (trash) 17127+ { 17128+ const gsize chunk_size = SLAB_CHUNK_SIZE (local_allocator, ix); 17129+ g_mutex_lock (&local_allocator->slab_mutex); 17130+ while (trash) 17131+ { 17132+ current = trash; 17133+ trash = magazine_chain_prev (current); 17134+ magazine_chain_prev (current) = NULL; /* clear special field */ 17135+ while (current) 17136+ { 17137+ ChunkLink *chunk = magazine_chain_pop_head (¤t); 17138+ slab_allocator_free_chunk (chunk_size, chunk); 17139+ } 17140+ } 17141+ g_mutex_unlock (&local_allocator->slab_mutex); 17142+ } 17143+} 17144+#else 17145 static void 17146 magazine_cache_trim (Allocator *local_allocator, 17147 guint ix, 17148@@ -726,7 +798,42 @@ magazine_cache_trim (Allocator *local_allocator, 17149 g_mutex_unlock (&local_allocator->slab_mutex); 17150 } 17151 } 17152+#endif 17153 17154+#ifdef OHOS_OPT_PERFORMANCE 17155+/* 17156+ * ohos.opt.performance.0004 17157+ * fix glib cache too large problem. when thread exit, release mem no user. 17158+ */ 17159+static void 17160+magazine_cache_push_magazine (guint ix, 17161+ ChunkLink *magazine_chunks, 17162+ gsize count, /* must be >= MIN_MAGAZINE_SIZE */ 17163+ gboolean release) 17164+{ 17165+ ChunkLink *current = magazine_chain_prepare_fields (magazine_chunks); 17166+ ChunkLink *next, *prev; 17167+ g_mutex_lock (&allocator->magazine_mutex); 17168+ /* add magazine at head */ 17169+ next = allocator->magazines[ix]; 17170+ if (next) 17171+ prev = magazine_chain_prev (next); 17172+ else 17173+ next = prev = current; 17174+ magazine_chain_next (prev) = current; 17175+ magazine_chain_prev (next) = current; 17176+ magazine_chain_prev (current) = prev; 17177+ magazine_chain_next (current) = next; 17178+ magazine_chain_count (current) = (gpointer) count; 17179+ /* stamp magazine */ 17180+ magazine_cache_update_stamp(); 17181+ magazine_chain_stamp (current) = GUINT_TO_POINTER (allocator->last_stamp); 17182+ allocator->magazines[ix] = current; 17183+ /* free old magazines beyond a certain threshold */ 17184+ magazine_cache_trim (allocator, ix, allocator->last_stamp, release); 17185+ /* g_mutex_unlock (allocator->mutex); was done by magazine_cache_trim() */ 17186+} 17187+#else 17188 static void 17189 magazine_cache_push_magazine (guint ix, 17190 ChunkLink *magazine_chunks, 17191@@ -754,6 +861,7 @@ magazine_cache_push_magazine (guint ix, 17192 magazine_cache_trim (allocator, ix, allocator->last_stamp); 17193 /* g_mutex_unlock (allocator->mutex); was done by magazine_cache_trim() */ 17194 } 17195+#endif 17196 17197 static ChunkLink* 17198 magazine_cache_pop_magazine (guint ix, 17199@@ -818,7 +926,15 @@ private_thread_memory_cleanup (gpointer data) 17200 { 17201 Magazine *mag = mags[j]; 17202 if (mag->count >= MIN_MAGAZINE_SIZE) 17203+#ifdef OHOS_OPT_PERFORMANCE 17204+/* 17205+ * ohos.opt.performance.0004 17206+ * fix glib cache too large problem. when thread exit, release mem no user. 17207+ */ 17208+ magazine_cache_push_magazine (ix, mag->chunks, mag->count, TRUE); 17209+#else 17210 magazine_cache_push_magazine (ix, mag->chunks, mag->count); 17211+#endif 17212 else 17213 { 17214 const gsize chunk_size = SLAB_CHUNK_SIZE (allocator, ix); 17215@@ -850,7 +966,15 @@ thread_memory_magazine2_unload (ThreadMemory *tmem, 17216 guint ix) 17217 { 17218 Magazine *mag = &tmem->magazine2[ix]; 17219+#ifdef OHOS_OPT_PERFORMANCE 17220+/* 17221+ * ohos.opt.performance.0004 17222+ * fix glib cache too large problem. when thread exit, release mem no user. 17223+ */ 17224+ magazine_cache_push_magazine (ix, mag->chunks, mag->count, FALSE); 17225+#else 17226 magazine_cache_push_magazine (ix, mag->chunks, mag->count); 17227+#endif 17228 mag->chunks = NULL; 17229 mag->count = 0; 17230 } 17231@@ -1074,7 +1198,7 @@ g_slice_alloc (gsize mem_size) 17232 smc_notify_alloc (mem, mem_size); 17233 17234 TRACE (GLIB_SLICE_ALLOC((void*)mem, mem_size)); 17235- 17236+ DFX_TRACE(GMemAllocDfx((void *)mem, (unsigned int)mem_size)); 17237 return mem; 17238 } 17239 17240@@ -1183,6 +1307,7 @@ g_slice_free1 (gsize mem_size, 17241 g_free (mem_block); 17242 } 17243 TRACE (GLIB_SLICE_FREE((void*)mem_block, mem_size)); 17244+ DFX_TRACE(GMemFreeDfx((void *)mem_block)); 17245 } 17246 17247 /** 17248@@ -1210,6 +1335,7 @@ g_slice_free_chain_with_offset (gsize mem_size, 17249 gpointer mem_chain, 17250 gsize next_offset) 17251 { 17252+ DFX_TRACE(GChainMemFreeDfx((void *)mem_chain, next_offset)); 17253 gpointer slice = mem_chain; 17254 /* while the thread magazines and the magazine cache are implemented so that 17255 * they can easily be extended to allow for free lists containing more free 17256@@ -1457,6 +1583,7 @@ allocator_memalign (gsize alignment, 17257 gint err = ENOMEM; 17258 #if HAVE_POSIX_MEMALIGN 17259 err = posix_memalign (&aligned_memory, alignment, memsize); 17260+ DFX_TRACE(GMemPoolAllocDfx(aligned_memory, alignment, memsize)); 17261 #elif HAVE_MEMALIGN 17262 errno = 0; 17263 aligned_memory = memalign (alignment, memsize); 17264@@ -1500,6 +1627,7 @@ allocator_memfree (gsize memsize, 17265 gpointer mem) 17266 { 17267 #if HAVE_POSIX_MEMALIGN || HAVE_MEMALIGN || HAVE_VALLOC 17268+ DFX_TRACE(GMemPoolFreeDfx(mem)); 17269 free (mem); 17270 #else 17271 mem_assert (memsize <= sys_page_size); 17272diff --git a/glib/gstrfuncs.h b/glib/gstrfuncs.h 17273index 2b44c9a..520faa1 100644 17274--- a/glib/gstrfuncs.h 17275+++ b/glib/gstrfuncs.h 17276@@ -253,7 +253,15 @@ GLIB_AVAILABLE_IN_ALL 17277 gchar* g_strescape (const gchar *source, 17278 const gchar *exceptions) G_GNUC_MALLOC; 17279 17280+ 17281+/* ohos.glib.compatible.001: glib 2.62.5 update 2.68.1 Incompatible with gstreamer/libsoup 17282+ * GLIB Not allowed g_memdup but gstreamer/libsoup need to use g_memdup 17283+ */ 17284+#ifdef OHOS_GLIB_COMPATIBLE 17285+GLIB_AVAILABLE_IN_ALL 17286+#else 17287 GLIB_DEPRECATED_IN_2_68_FOR (g_memdup2) 17288+#endif 17289 gpointer g_memdup (gconstpointer mem, 17290 guint byte_size) G_GNUC_ALLOC_SIZE(2); 17291 17292diff --git a/glib/gthread-posix.c b/glib/gthread-posix.c 17293index 8e2e66d..9286fc7 100644 17294--- a/glib/gthread-posix.c 17295+++ b/glib/gthread-posix.c 17296@@ -72,8 +72,14 @@ 17297 #include <sys/syscall.h> 17298 #endif 17299 17300+/* OHOS_GLIB_COMPATIBLE 17301+ * ohos.glib.compatible.001: glib 2.62.5 update 2.68.1 Incompatible with gstreamer 1.16.2 17302+ * static volatile gsize _init_once = 0; // Conflicts with volatile, 17303+ * if (g_once_init_enter (&_init_once)) 17304+ * add "&& !defined(__clang__)" 17305+ */ 17306 #if defined(HAVE_FUTEX) && \ 17307- (defined(HAVE_STDATOMIC_H) || defined(__ATOMIC_SEQ_CST)) 17308+ (defined(HAVE_STDATOMIC_H) || defined(__ATOMIC_SEQ_CST)) && !defined(__clang__) 17309 #define USE_NATIVE_MUTEX 17310 #endif 17311 17312diff --git a/glibmemdfx/gmemdfx.cpp b/glibmemdfx/gmemdfx.cpp 17313new file mode 100644 17314index 0000000..7c36613 17315--- /dev/null 17316+++ b/glibmemdfx/gmemdfx.cpp 17317@@ -0,0 +1,224 @@ 17318+/* 17319+ * Copyright (C) 2022 Huawei Device Co., Ltd. 17320+ * Licensed under the Apache License, Version 2.0 (the "License"); 17321+ * you may not use this file except in compliance with the License. 17322+ * You may obtain a copy of the License at 17323+ * 17324+ * http://www.apache.org/licenses/LICENSE-2.0 17325+ * 17326+ * Unless required by applicable law or agreed to in writing, software 17327+ * distributed under the License is distributed on an "AS IS" BASIS, 17328+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17329+ * See the License for the specific language governing permissions and 17330+ * limitations under the License. 17331+ */ 17332+ 17333+#include "gmemdfx.h" 17334+#include <unordered_map> 17335+#include <vector> 17336+#include <hilog/log.h> 17337+#include <unistd.h> 17338+#include "gmemdfxdump.h" 17339+#include "dfx_dump_catcher.h" 17340+#include "param_wrapper.h" 17341+#include "string_ex.h" 17342+ 17343+#undef LOG_DOMAIN 17344+#define LOG_DOMAIN 0xD002B00 17345+ 17346+#define __LOG(func, fmt, args...) \ 17347+ do { \ 17348+ (void)func(LABEL, "{%{public}s():%{public}d} " fmt, __FUNCTION__, __LINE__, ##args); \ 17349+ } while (0) 17350+ 17351+#define LOGE(fmt, ...) __LOG(::OHOS::HiviewDFX::HiLog::Error, fmt, ##__VA_ARGS__) 17352+ 17353+#define POINTER_MASK 0x00FFFFFF 17354+#define FAKE_POINTER(addr) (POINTER_MASK & reinterpret_cast<uintptr_t>(addr)) 17355+ 17356+struct MemInfo { 17357+ uint64_t count = 0; 17358+ uint64_t size = 0; 17359+ std::string str; 17360+ intptr_t mem; 17361+}; 17362+ 17363+struct PoolInfo { 17364+ uint64_t count = 0; 17365+ uint64_t size = 0; 17366+ uint64_t alignment = 0; 17367+ uint64_t lastTid = 0; 17368+ intptr_t mem; 17369+}; 17370+ 17371+namespace { 17372+ constexpr OHOS::HiviewDFX::HiLogLabel LABEL = {LOG_CORE, LOG_DOMAIN, "AVGlibMemDfx"}; 17373+ static std::unordered_map<void *, MemInfo> memMap; 17374+ static std::unordered_map<void *, PoolInfo> poolMap; 17375+ static uint64_t memCount = 0; 17376+ static uint64_t poolCount = 0; 17377+ static std::mutex mutex; 17378+ static bool enableDump = false; 17379+ static unsigned int dumpSize = 0; 17380+ static unsigned int dumpStart = 0; 17381+ static unsigned int dumpCount = 0; 17382+ static bool dumpOpen = false; 17383+} 17384+ 17385+void GMemPoolAllocDfx(void *mem, unsigned int alignment, unsigned int size) 17386+{ 17387+ std::lock_guard<std::mutex> lock(mutex); 17388+ if (!dumpOpen || mem == nullptr) { 17389+ return; 17390+ } 17391+ if (poolMap.find(mem) != poolMap.end()) { 17392+ LOGE("the mem 0x%{public}06" PRIXPTR " is already allocated", FAKE_POINTER(mem)); 17393+ return; 17394+ } 17395+ 17396+ poolMap[mem] = {poolCount++, size, alignment, gettid(), (intptr_t)mem}; 17397+} 17398+ 17399+void GMemPoolFreeDfx(void *mem) 17400+{ 17401+ std::lock_guard<std::mutex> lock(mutex); 17402+ if (!dumpOpen || mem == nullptr) { 17403+ return; 17404+ } 17405+ if (mem != nullptr && poolMap.erase(mem) == 0) { 17406+ LOGE("the mem 0x%{public}06" PRIXPTR " is already free", FAKE_POINTER(mem)); 17407+ } 17408+} 17409+ 17410+void GMemAllocDfx(void *mem, unsigned int size) 17411+{ 17412+ std::lock_guard<std::mutex> lock(mutex); 17413+ if (!dumpOpen || mem == nullptr) { 17414+ return; 17415+ } 17416+ if (memMap.find(mem) != memMap.end()) { 17417+ LOGE("the mem 0x%{public}06" PRIXPTR " is already allocated", FAKE_POINTER(mem)); 17418+ return; 17419+ } 17420+ std::string str; 17421+ if (enableDump && size == dumpSize && (memCount - dumpStart) % dumpCount == 0) { 17422+ OHOS::HiviewDFX::DfxDumpCatcher dumpLog; 17423+ bool ret = dumpLog.DumpCatch(getpid(), gettid(), str); 17424+ if (!ret) { 17425+ LOGE("dump error"); 17426+ } 17427+ } 17428+ 17429+ memMap[mem] = {memCount++, size, str, (intptr_t)mem}; 17430+} 17431+ 17432+void GChainMemFreeDfx(void *mem_chain, unsigned long next_offset) 17433+{ 17434+ std::lock_guard<std::mutex> lock(mutex); 17435+ if (!dumpOpen || mem_chain == nullptr) { 17436+ return; 17437+ } 17438+ void *next = mem_chain; 17439+ while (next) { 17440+ uint8_t *current = (uint8_t *)next; 17441+ next = *(void **)(current + next_offset); 17442+ if (current != nullptr && memMap.erase(current) == 0) { 17443+ LOGE("the mem 0x%{public}06" PRIXPTR " is already free", FAKE_POINTER(current)); 17444+ } 17445+ } 17446+} 17447+ 17448+void GMemFreeDfx(void *mem) 17449+{ 17450+ std::lock_guard<std::mutex> lock(mutex); 17451+ if (!dumpOpen || mem == nullptr) { 17452+ return; 17453+ } 17454+ if (mem != nullptr && memMap.erase(mem) == 0) { 17455+ LOGE("the mem 0x%{public}06" PRIXPTR " is already free", FAKE_POINTER(mem)); 17456+ } 17457+} 17458+ 17459+void InitParameter() 17460+{ 17461+ std::string dumpSizeStr; 17462+ std::string dumpStartStr; 17463+ std::string dumpCountStr; 17464+ std::string dumpOpenStr; 17465+ int32_t size; 17466+ int32_t start; 17467+ int32_t count; 17468+ int32_t res = OHOS::system::GetStringParameter("sys.media.dump.mem.size", dumpSizeStr, ""); 17469+ if (res == 0 && !dumpSizeStr.empty()) { 17470+ OHOS::StrToInt(dumpSizeStr, size); 17471+ dumpSize = size; 17472+ enableDump = dumpSize == 0 ? false :true; 17473+ } else { 17474+ enableDump = false; 17475+ } 17476+ res = OHOS::system::GetStringParameter("sys.media.dump.mem.start", dumpStartStr, ""); 17477+ if (res == 0 && !dumpStartStr.empty()) { 17478+ OHOS::StrToInt(dumpStartStr, start); 17479+ dumpStart = start; 17480+ } else { 17481+ dumpStart = 0; 17482+ } 17483+ res = OHOS::system::GetStringParameter("sys.media.dump.mem.count", dumpCountStr, ""); 17484+ if (res == 0 && !dumpCountStr.empty()) { 17485+ OHOS::StrToInt(dumpCountStr, count); 17486+ dumpCount = count; 17487+ } else { 17488+ dumpCount = 1; 17489+ } 17490+ res = OHOS::system::GetStringParameter("sys.media.dump.mem.open", dumpOpenStr, ""); 17491+ if (res == 0 && !dumpOpenStr.empty()) { 17492+ dumpOpen = dumpOpenStr == "TRUE" ? true : false; 17493+ } else { 17494+ dumpOpen = false; 17495+ } 17496+} 17497+ 17498+void GetGMemDump(std::string &str) 17499+{ 17500+ std::unordered_map<void *, MemInfo> memMapCopy; 17501+ { 17502+ std::lock_guard<std::mutex> lock(mutex); 17503+ InitParameter(); 17504+ memMapCopy = memMap; 17505+ } 17506+ std::vector<std::pair<void *, MemInfo>> memInfoVec(memMapCopy.begin(), memMapCopy.end()); 17507+ std::sort(memInfoVec.begin(), memInfoVec.end(), [&](auto &left, auto &right) { 17508+ return left.second.count < right.second.count; 17509+ }); 17510+ for (auto iter = memInfoVec.begin(); iter != memInfoVec.end(); iter++) { 17511+ str += "count:"; 17512+ str += std::to_string(iter->second.count) + ";"; 17513+ str += "size:"; 17514+ str += std::to_string(iter->second.size) + "\n"; 17515+ str += iter->second.str + "\n"; 17516+ } 17517+} 17518+ 17519+void GetGMemPoolDump(std::string &str) 17520+{ 17521+ std::unordered_map<void *, PoolInfo> poolMapCopy; 17522+ { 17523+ std::lock_guard<std::mutex> lock(mutex); 17524+ InitParameter(); 17525+ poolMapCopy = poolMap; 17526+ } 17527+ std::vector<std::pair<void *, PoolInfo>> poolInfoVec(poolMapCopy.begin(), poolMapCopy.end()); 17528+ std::sort(poolInfoVec.begin(), poolInfoVec.end(), [&](auto &left, auto &right) { 17529+ return left.second.count < right.second.count; 17530+ }); 17531+ for (auto iter = poolInfoVec.begin(); iter != poolInfoVec.end(); iter++) { 17532+ str += "count:"; 17533+ str += std::to_string(iter->second.count) + ";"; 17534+ str += "size:"; 17535+ str += std::to_string(iter->second.size) + "\n"; 17536+ str += "alignment:"; 17537+ str += std::to_string(iter->second.alignment) + "\n"; 17538+ str += "lastTid:"; 17539+ str += std::to_string(iter->second.lastTid) + "\n"; 17540+ } 17541+} 17542\ No newline at end of file 17543diff --git a/glibmemdfx/gmemdfx.h b/glibmemdfx/gmemdfx.h 17544new file mode 100644 17545index 0000000..fd0e9df 17546--- /dev/null 17547+++ b/glibmemdfx/gmemdfx.h 17548@@ -0,0 +1,31 @@ 17549+/* 17550+ * Copyright (C) 2022 Huawei Device Co., Ltd. 17551+ * Licensed under the Apache License, Version 2.0 (the "License"); 17552+ * you may not use this file except in compliance with the License. 17553+ * You may obtain a copy of the License at 17554+ * 17555+ * http://www.apache.org/licenses/LICENSE-2.0 17556+ * 17557+ * Unless required by applicable law or agreed to in writing, software 17558+ * distributed under the License is distributed on an "AS IS" BASIS, 17559+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17560+ * See the License for the specific language governing permissions and 17561+ * limitations under the License. 17562+ */ 17563+#ifndef G_MEM_DFX_H 17564+#define G_MEM_DFX_H 17565+ 17566+#ifdef __cplusplus 17567+extern "C" { 17568+#endif 17569+ 17570+void __attribute__((visibility("default"))) GMemAllocDfx(void *mem, unsigned int size); 17571+void __attribute__((visibility("default"))) GChainMemFreeDfx(void *mem_chain, unsigned long next_offset); 17572+void __attribute__((visibility("default"))) GMemFreeDfx(void *mem); 17573+ 17574+void __attribute__((visibility("default"))) GMemPoolAllocDfx(void *mem, unsigned int alignment, unsigned int size); 17575+void __attribute__((visibility("default"))) GMemPoolFreeDfx(void *mem); 17576+#ifdef __cplusplus 17577+} 17578+#endif 17579+#endif 17580\ No newline at end of file 17581diff --git a/glibmemdfx/gmemdfxdump.h b/glibmemdfx/gmemdfxdump.h 17582new file mode 100644 17583index 0000000..edf58e3 17584--- /dev/null 17585+++ b/glibmemdfx/gmemdfxdump.h 17586@@ -0,0 +1,23 @@ 17587+/* 17588+ * Copyright (C) 2022 Huawei Device Co., Ltd. 17589+ * Licensed under the Apache License, Version 2.0 (the "License"); 17590+ * you may not use this file except in compliance with the License. 17591+ * You may obtain a copy of the License at 17592+ * 17593+ * http://www.apache.org/licenses/LICENSE-2.0 17594+ * 17595+ * Unless required by applicable law or agreed to in writing, software 17596+ * distributed under the License is distributed on an "AS IS" BASIS, 17597+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17598+ * See the License for the specific language governing permissions and 17599+ * limitations under the License. 17600+ */ 17601+#ifndef G_MEM_DFX_DUMP_H 17602+#define G_MEM_DFX_DUMP_H 17603+ 17604+#include <memory> 17605+ 17606+void __attribute__((visibility("default"))) GetGMemDump(std::string &str); 17607+void __attribute__((visibility("default"))) GetGMemPoolDump(std::string &str); 17608+ 17609+#endif 17610\ No newline at end of file 17611diff --git a/gmodule/gmoduleconf.h b/gmodule/gmoduleconf.h 17612new file mode 100644 17613index 0000000..9908fd1 17614--- /dev/null 17615+++ b/gmodule/gmoduleconf.h 17616@@ -0,0 +1,48 @@ 17617+/* GMODULE - GLIB wrapper code for dynamic module loading 17618+ * Copyright (C) 1998 Tim Janik 17619+ * 17620+ * This library is free software; you can redistribute it and/or 17621+ * modify it under the terms of the GNU Lesser General Public 17622+ * License as published by the Free Software Foundation; either 17623+ * version 2.1 of the License, or (at your option) any later version. 17624+ * 17625+ * This library is distributed in the hope that it will be useful, 17626+ * but WITHOUT ANY WARRANTY; without even the implied warranty of 17627+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17628+ * Lesser General Public License for more details. 17629+ * 17630+ * You should have received a copy of the GNU Lesser General Public 17631+ * License along with this library; if not, see <http://www.gnu.org/licenses/>. 17632+ */ 17633+#ifndef __G_MODULE_CONF_H__ 17634+#define __G_MODULE_CONF_H__ 17635+ 17636+ 17637+#ifdef __cplusplus 17638+extern "C" { 17639+#endif /* __cplusplus */ 17640+ 17641+ 17642+#define G_MODULE_IMPL_NONE 0 17643+#define G_MODULE_IMPL_DL 1 17644+#define G_MODULE_IMPL_WIN32 3 17645+#define G_MODULE_IMPL_AR 7 17646+ 17647+#define G_MODULE_IMPL G_MODULE_IMPL_DL 17648+#undef G_MODULE_HAVE_DLERROR 17649+#if (1) 17650+#define G_MODULE_HAVE_DLERROR 17651+#endif 17652+#if (0) 17653+#define G_MODULE_NEED_USCORE 17654+#endif 17655+#if (0) 17656+#define G_MODULE_BROKEN_RTLD_GLOBAL 17657+#endif 17658+ 17659+#ifdef __cplusplus 17660+} 17661+#endif /* __cplusplus */ 17662+ 17663+ 17664+#endif /* __G_MODULE_CONF_H__ */ 17665diff --git a/gobject/gclosure.c b/gobject/gclosure.c 17666index 85002a2..701181c 100644 17667--- a/gobject/gclosure.c 17668+++ b/gobject/gclosure.c 17669@@ -1302,7 +1302,11 @@ restart: 17670 g_value_set_boolean (gvalue, (gboolean) *int_val); 17671 break; 17672 case G_TYPE_STRING: 17673+#ifdef __ILP32__ 17674+ g_value_take_string (gvalue, (gchar*) *int_val); 17675+#else 17676 g_value_take_string (gvalue, *(gchar**)value); 17677+#endif 17678 break; 17679 case G_TYPE_CHAR: 17680 g_value_set_schar (gvalue, (gint8) *int_val); 17681diff --git a/gobject/glib-enumtypes.c b/gobject/glib-enumtypes.c 17682new file mode 100644 17683index 0000000..5d5eaf6 17684--- /dev/null 17685+++ b/gobject/glib-enumtypes.c 17686@@ -0,0 +1,328 @@ 17687+ 17688+/* This file is generated by glib-mkenums, do not modify it. This code is licensed under the same license as the containing project. Note that it links to GLib, so must comply with the LGPL linking clauses. */ 17689+ 17690+#include "config.h" 17691+#include "glib-enumtypes.h" 17692+#include <glib-object.h> 17693+ 17694+G_GNUC_BEGIN_IGNORE_DEPRECATIONS 17695+/* enumerations from "../gobject/../glib/gunicode.h" */ 17696+GType 17697+g_unicode_type_get_type (void) 17698+{ 17699+ static gsize static_g_define_type_id = 0; 17700+ 17701+ if (g_once_init_enter (&static_g_define_type_id)) 17702+ { 17703+ static const GEnumValue values[] = { 17704+ { G_UNICODE_CONTROL, "G_UNICODE_CONTROL", "control" }, 17705+ { G_UNICODE_FORMAT, "G_UNICODE_FORMAT", "format" }, 17706+ { G_UNICODE_UNASSIGNED, "G_UNICODE_UNASSIGNED", "unassigned" }, 17707+ { G_UNICODE_PRIVATE_USE, "G_UNICODE_PRIVATE_USE", "private-use" }, 17708+ { G_UNICODE_SURROGATE, "G_UNICODE_SURROGATE", "surrogate" }, 17709+ { G_UNICODE_LOWERCASE_LETTER, "G_UNICODE_LOWERCASE_LETTER", "lowercase-letter" }, 17710+ { G_UNICODE_MODIFIER_LETTER, "G_UNICODE_MODIFIER_LETTER", "modifier-letter" }, 17711+ { G_UNICODE_OTHER_LETTER, "G_UNICODE_OTHER_LETTER", "other-letter" }, 17712+ { G_UNICODE_TITLECASE_LETTER, "G_UNICODE_TITLECASE_LETTER", "titlecase-letter" }, 17713+ { G_UNICODE_UPPERCASE_LETTER, "G_UNICODE_UPPERCASE_LETTER", "uppercase-letter" }, 17714+ { G_UNICODE_SPACING_MARK, "G_UNICODE_SPACING_MARK", "spacing-mark" }, 17715+ { G_UNICODE_ENCLOSING_MARK, "G_UNICODE_ENCLOSING_MARK", "enclosing-mark" }, 17716+ { G_UNICODE_NON_SPACING_MARK, "G_UNICODE_NON_SPACING_MARK", "non-spacing-mark" }, 17717+ { G_UNICODE_DECIMAL_NUMBER, "G_UNICODE_DECIMAL_NUMBER", "decimal-number" }, 17718+ { G_UNICODE_LETTER_NUMBER, "G_UNICODE_LETTER_NUMBER", "letter-number" }, 17719+ { G_UNICODE_OTHER_NUMBER, "G_UNICODE_OTHER_NUMBER", "other-number" }, 17720+ { G_UNICODE_CONNECT_PUNCTUATION, "G_UNICODE_CONNECT_PUNCTUATION", "connect-punctuation" }, 17721+ { G_UNICODE_DASH_PUNCTUATION, "G_UNICODE_DASH_PUNCTUATION", "dash-punctuation" }, 17722+ { G_UNICODE_CLOSE_PUNCTUATION, "G_UNICODE_CLOSE_PUNCTUATION", "close-punctuation" }, 17723+ { G_UNICODE_FINAL_PUNCTUATION, "G_UNICODE_FINAL_PUNCTUATION", "final-punctuation" }, 17724+ { G_UNICODE_INITIAL_PUNCTUATION, "G_UNICODE_INITIAL_PUNCTUATION", "initial-punctuation" }, 17725+ { G_UNICODE_OTHER_PUNCTUATION, "G_UNICODE_OTHER_PUNCTUATION", "other-punctuation" }, 17726+ { G_UNICODE_OPEN_PUNCTUATION, "G_UNICODE_OPEN_PUNCTUATION", "open-punctuation" }, 17727+ { G_UNICODE_CURRENCY_SYMBOL, "G_UNICODE_CURRENCY_SYMBOL", "currency-symbol" }, 17728+ { G_UNICODE_MODIFIER_SYMBOL, "G_UNICODE_MODIFIER_SYMBOL", "modifier-symbol" }, 17729+ { G_UNICODE_MATH_SYMBOL, "G_UNICODE_MATH_SYMBOL", "math-symbol" }, 17730+ { G_UNICODE_OTHER_SYMBOL, "G_UNICODE_OTHER_SYMBOL", "other-symbol" }, 17731+ { G_UNICODE_LINE_SEPARATOR, "G_UNICODE_LINE_SEPARATOR", "line-separator" }, 17732+ { G_UNICODE_PARAGRAPH_SEPARATOR, "G_UNICODE_PARAGRAPH_SEPARATOR", "paragraph-separator" }, 17733+ { G_UNICODE_SPACE_SEPARATOR, "G_UNICODE_SPACE_SEPARATOR", "space-separator" }, 17734+ { 0, NULL, NULL } 17735+ }; 17736+ GType g_define_type_id = 17737+ g_enum_register_static (g_intern_static_string ("GUnicodeType"), values); 17738+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 17739+ } 17740+ 17741+ return static_g_define_type_id; 17742+} 17743+GType 17744+g_unicode_break_type_get_type (void) 17745+{ 17746+ static gsize static_g_define_type_id = 0; 17747+ 17748+ if (g_once_init_enter (&static_g_define_type_id)) 17749+ { 17750+ static const GEnumValue values[] = { 17751+ { G_UNICODE_BREAK_MANDATORY, "G_UNICODE_BREAK_MANDATORY", "mandatory" }, 17752+ { G_UNICODE_BREAK_CARRIAGE_RETURN, "G_UNICODE_BREAK_CARRIAGE_RETURN", "carriage-return" }, 17753+ { G_UNICODE_BREAK_LINE_FEED, "G_UNICODE_BREAK_LINE_FEED", "line-feed" }, 17754+ { G_UNICODE_BREAK_COMBINING_MARK, "G_UNICODE_BREAK_COMBINING_MARK", "combining-mark" }, 17755+ { G_UNICODE_BREAK_SURROGATE, "G_UNICODE_BREAK_SURROGATE", "surrogate" }, 17756+ { G_UNICODE_BREAK_ZERO_WIDTH_SPACE, "G_UNICODE_BREAK_ZERO_WIDTH_SPACE", "zero-width-space" }, 17757+ { G_UNICODE_BREAK_INSEPARABLE, "G_UNICODE_BREAK_INSEPARABLE", "inseparable" }, 17758+ { G_UNICODE_BREAK_NON_BREAKING_GLUE, "G_UNICODE_BREAK_NON_BREAKING_GLUE", "non-breaking-glue" }, 17759+ { G_UNICODE_BREAK_CONTINGENT, "G_UNICODE_BREAK_CONTINGENT", "contingent" }, 17760+ { G_UNICODE_BREAK_SPACE, "G_UNICODE_BREAK_SPACE", "space" }, 17761+ { G_UNICODE_BREAK_AFTER, "G_UNICODE_BREAK_AFTER", "after" }, 17762+ { G_UNICODE_BREAK_BEFORE, "G_UNICODE_BREAK_BEFORE", "before" }, 17763+ { G_UNICODE_BREAK_BEFORE_AND_AFTER, "G_UNICODE_BREAK_BEFORE_AND_AFTER", "before-and-after" }, 17764+ { G_UNICODE_BREAK_HYPHEN, "G_UNICODE_BREAK_HYPHEN", "hyphen" }, 17765+ { G_UNICODE_BREAK_NON_STARTER, "G_UNICODE_BREAK_NON_STARTER", "non-starter" }, 17766+ { G_UNICODE_BREAK_OPEN_PUNCTUATION, "G_UNICODE_BREAK_OPEN_PUNCTUATION", "open-punctuation" }, 17767+ { G_UNICODE_BREAK_CLOSE_PUNCTUATION, "G_UNICODE_BREAK_CLOSE_PUNCTUATION", "close-punctuation" }, 17768+ { G_UNICODE_BREAK_QUOTATION, "G_UNICODE_BREAK_QUOTATION", "quotation" }, 17769+ { G_UNICODE_BREAK_EXCLAMATION, "G_UNICODE_BREAK_EXCLAMATION", "exclamation" }, 17770+ { G_UNICODE_BREAK_IDEOGRAPHIC, "G_UNICODE_BREAK_IDEOGRAPHIC", "ideographic" }, 17771+ { G_UNICODE_BREAK_NUMERIC, "G_UNICODE_BREAK_NUMERIC", "numeric" }, 17772+ { G_UNICODE_BREAK_INFIX_SEPARATOR, "G_UNICODE_BREAK_INFIX_SEPARATOR", "infix-separator" }, 17773+ { G_UNICODE_BREAK_SYMBOL, "G_UNICODE_BREAK_SYMBOL", "symbol" }, 17774+ { G_UNICODE_BREAK_ALPHABETIC, "G_UNICODE_BREAK_ALPHABETIC", "alphabetic" }, 17775+ { G_UNICODE_BREAK_PREFIX, "G_UNICODE_BREAK_PREFIX", "prefix" }, 17776+ { G_UNICODE_BREAK_POSTFIX, "G_UNICODE_BREAK_POSTFIX", "postfix" }, 17777+ { G_UNICODE_BREAK_COMPLEX_CONTEXT, "G_UNICODE_BREAK_COMPLEX_CONTEXT", "complex-context" }, 17778+ { G_UNICODE_BREAK_AMBIGUOUS, "G_UNICODE_BREAK_AMBIGUOUS", "ambiguous" }, 17779+ { G_UNICODE_BREAK_UNKNOWN, "G_UNICODE_BREAK_UNKNOWN", "unknown" }, 17780+ { G_UNICODE_BREAK_NEXT_LINE, "G_UNICODE_BREAK_NEXT_LINE", "next-line" }, 17781+ { G_UNICODE_BREAK_WORD_JOINER, "G_UNICODE_BREAK_WORD_JOINER", "word-joiner" }, 17782+ { G_UNICODE_BREAK_HANGUL_L_JAMO, "G_UNICODE_BREAK_HANGUL_L_JAMO", "hangul-l-jamo" }, 17783+ { G_UNICODE_BREAK_HANGUL_V_JAMO, "G_UNICODE_BREAK_HANGUL_V_JAMO", "hangul-v-jamo" }, 17784+ { G_UNICODE_BREAK_HANGUL_T_JAMO, "G_UNICODE_BREAK_HANGUL_T_JAMO", "hangul-t-jamo" }, 17785+ { G_UNICODE_BREAK_HANGUL_LV_SYLLABLE, "G_UNICODE_BREAK_HANGUL_LV_SYLLABLE", "hangul-lv-syllable" }, 17786+ { G_UNICODE_BREAK_HANGUL_LVT_SYLLABLE, "G_UNICODE_BREAK_HANGUL_LVT_SYLLABLE", "hangul-lvt-syllable" }, 17787+ { G_UNICODE_BREAK_CLOSE_PARANTHESIS, "G_UNICODE_BREAK_CLOSE_PARANTHESIS", "close-paranthesis" }, 17788+ { G_UNICODE_BREAK_CLOSE_PARENTHESIS, "G_UNICODE_BREAK_CLOSE_PARENTHESIS", "close-parenthesis" }, 17789+ { G_UNICODE_BREAK_CONDITIONAL_JAPANESE_STARTER, "G_UNICODE_BREAK_CONDITIONAL_JAPANESE_STARTER", "conditional-japanese-starter" }, 17790+ { G_UNICODE_BREAK_HEBREW_LETTER, "G_UNICODE_BREAK_HEBREW_LETTER", "hebrew-letter" }, 17791+ { G_UNICODE_BREAK_REGIONAL_INDICATOR, "G_UNICODE_BREAK_REGIONAL_INDICATOR", "regional-indicator" }, 17792+ { G_UNICODE_BREAK_EMOJI_BASE, "G_UNICODE_BREAK_EMOJI_BASE", "emoji-base" }, 17793+ { G_UNICODE_BREAK_EMOJI_MODIFIER, "G_UNICODE_BREAK_EMOJI_MODIFIER", "emoji-modifier" }, 17794+ { G_UNICODE_BREAK_ZERO_WIDTH_JOINER, "G_UNICODE_BREAK_ZERO_WIDTH_JOINER", "zero-width-joiner" }, 17795+ { 0, NULL, NULL } 17796+ }; 17797+ GType g_define_type_id = 17798+ g_enum_register_static (g_intern_static_string ("GUnicodeBreakType"), values); 17799+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 17800+ } 17801+ 17802+ return static_g_define_type_id; 17803+} 17804+GType 17805+g_unicode_script_get_type (void) 17806+{ 17807+ static gsize static_g_define_type_id = 0; 17808+ 17809+ if (g_once_init_enter (&static_g_define_type_id)) 17810+ { 17811+ static const GEnumValue values[] = { 17812+ { G_UNICODE_SCRIPT_INVALID_CODE, "G_UNICODE_SCRIPT_INVALID_CODE", "invalid-code" }, 17813+ { G_UNICODE_SCRIPT_COMMON, "G_UNICODE_SCRIPT_COMMON", "common" }, 17814+ { G_UNICODE_SCRIPT_INHERITED, "G_UNICODE_SCRIPT_INHERITED", "inherited" }, 17815+ { G_UNICODE_SCRIPT_ARABIC, "G_UNICODE_SCRIPT_ARABIC", "arabic" }, 17816+ { G_UNICODE_SCRIPT_ARMENIAN, "G_UNICODE_SCRIPT_ARMENIAN", "armenian" }, 17817+ { G_UNICODE_SCRIPT_BENGALI, "G_UNICODE_SCRIPT_BENGALI", "bengali" }, 17818+ { G_UNICODE_SCRIPT_BOPOMOFO, "G_UNICODE_SCRIPT_BOPOMOFO", "bopomofo" }, 17819+ { G_UNICODE_SCRIPT_CHEROKEE, "G_UNICODE_SCRIPT_CHEROKEE", "cherokee" }, 17820+ { G_UNICODE_SCRIPT_COPTIC, "G_UNICODE_SCRIPT_COPTIC", "coptic" }, 17821+ { G_UNICODE_SCRIPT_CYRILLIC, "G_UNICODE_SCRIPT_CYRILLIC", "cyrillic" }, 17822+ { G_UNICODE_SCRIPT_DESERET, "G_UNICODE_SCRIPT_DESERET", "deseret" }, 17823+ { G_UNICODE_SCRIPT_DEVANAGARI, "G_UNICODE_SCRIPT_DEVANAGARI", "devanagari" }, 17824+ { G_UNICODE_SCRIPT_ETHIOPIC, "G_UNICODE_SCRIPT_ETHIOPIC", "ethiopic" }, 17825+ { G_UNICODE_SCRIPT_GEORGIAN, "G_UNICODE_SCRIPT_GEORGIAN", "georgian" }, 17826+ { G_UNICODE_SCRIPT_GOTHIC, "G_UNICODE_SCRIPT_GOTHIC", "gothic" }, 17827+ { G_UNICODE_SCRIPT_GREEK, "G_UNICODE_SCRIPT_GREEK", "greek" }, 17828+ { G_UNICODE_SCRIPT_GUJARATI, "G_UNICODE_SCRIPT_GUJARATI", "gujarati" }, 17829+ { G_UNICODE_SCRIPT_GURMUKHI, "G_UNICODE_SCRIPT_GURMUKHI", "gurmukhi" }, 17830+ { G_UNICODE_SCRIPT_HAN, "G_UNICODE_SCRIPT_HAN", "han" }, 17831+ { G_UNICODE_SCRIPT_HANGUL, "G_UNICODE_SCRIPT_HANGUL", "hangul" }, 17832+ { G_UNICODE_SCRIPT_HEBREW, "G_UNICODE_SCRIPT_HEBREW", "hebrew" }, 17833+ { G_UNICODE_SCRIPT_HIRAGANA, "G_UNICODE_SCRIPT_HIRAGANA", "hiragana" }, 17834+ { G_UNICODE_SCRIPT_KANNADA, "G_UNICODE_SCRIPT_KANNADA", "kannada" }, 17835+ { G_UNICODE_SCRIPT_KATAKANA, "G_UNICODE_SCRIPT_KATAKANA", "katakana" }, 17836+ { G_UNICODE_SCRIPT_KHMER, "G_UNICODE_SCRIPT_KHMER", "khmer" }, 17837+ { G_UNICODE_SCRIPT_LAO, "G_UNICODE_SCRIPT_LAO", "lao" }, 17838+ { G_UNICODE_SCRIPT_LATIN, "G_UNICODE_SCRIPT_LATIN", "latin" }, 17839+ { G_UNICODE_SCRIPT_MALAYALAM, "G_UNICODE_SCRIPT_MALAYALAM", "malayalam" }, 17840+ { G_UNICODE_SCRIPT_MONGOLIAN, "G_UNICODE_SCRIPT_MONGOLIAN", "mongolian" }, 17841+ { G_UNICODE_SCRIPT_MYANMAR, "G_UNICODE_SCRIPT_MYANMAR", "myanmar" }, 17842+ { G_UNICODE_SCRIPT_OGHAM, "G_UNICODE_SCRIPT_OGHAM", "ogham" }, 17843+ { G_UNICODE_SCRIPT_OLD_ITALIC, "G_UNICODE_SCRIPT_OLD_ITALIC", "old-italic" }, 17844+ { G_UNICODE_SCRIPT_ORIYA, "G_UNICODE_SCRIPT_ORIYA", "oriya" }, 17845+ { G_UNICODE_SCRIPT_RUNIC, "G_UNICODE_SCRIPT_RUNIC", "runic" }, 17846+ { G_UNICODE_SCRIPT_SINHALA, "G_UNICODE_SCRIPT_SINHALA", "sinhala" }, 17847+ { G_UNICODE_SCRIPT_SYRIAC, "G_UNICODE_SCRIPT_SYRIAC", "syriac" }, 17848+ { G_UNICODE_SCRIPT_TAMIL, "G_UNICODE_SCRIPT_TAMIL", "tamil" }, 17849+ { G_UNICODE_SCRIPT_TELUGU, "G_UNICODE_SCRIPT_TELUGU", "telugu" }, 17850+ { G_UNICODE_SCRIPT_THAANA, "G_UNICODE_SCRIPT_THAANA", "thaana" }, 17851+ { G_UNICODE_SCRIPT_THAI, "G_UNICODE_SCRIPT_THAI", "thai" }, 17852+ { G_UNICODE_SCRIPT_TIBETAN, "G_UNICODE_SCRIPT_TIBETAN", "tibetan" }, 17853+ { G_UNICODE_SCRIPT_CANADIAN_ABORIGINAL, "G_UNICODE_SCRIPT_CANADIAN_ABORIGINAL", "canadian-aboriginal" }, 17854+ { G_UNICODE_SCRIPT_YI, "G_UNICODE_SCRIPT_YI", "yi" }, 17855+ { G_UNICODE_SCRIPT_TAGALOG, "G_UNICODE_SCRIPT_TAGALOG", "tagalog" }, 17856+ { G_UNICODE_SCRIPT_HANUNOO, "G_UNICODE_SCRIPT_HANUNOO", "hanunoo" }, 17857+ { G_UNICODE_SCRIPT_BUHID, "G_UNICODE_SCRIPT_BUHID", "buhid" }, 17858+ { G_UNICODE_SCRIPT_TAGBANWA, "G_UNICODE_SCRIPT_TAGBANWA", "tagbanwa" }, 17859+ { G_UNICODE_SCRIPT_BRAILLE, "G_UNICODE_SCRIPT_BRAILLE", "braille" }, 17860+ { G_UNICODE_SCRIPT_CYPRIOT, "G_UNICODE_SCRIPT_CYPRIOT", "cypriot" }, 17861+ { G_UNICODE_SCRIPT_LIMBU, "G_UNICODE_SCRIPT_LIMBU", "limbu" }, 17862+ { G_UNICODE_SCRIPT_OSMANYA, "G_UNICODE_SCRIPT_OSMANYA", "osmanya" }, 17863+ { G_UNICODE_SCRIPT_SHAVIAN, "G_UNICODE_SCRIPT_SHAVIAN", "shavian" }, 17864+ { G_UNICODE_SCRIPT_LINEAR_B, "G_UNICODE_SCRIPT_LINEAR_B", "linear-b" }, 17865+ { G_UNICODE_SCRIPT_TAI_LE, "G_UNICODE_SCRIPT_TAI_LE", "tai-le" }, 17866+ { G_UNICODE_SCRIPT_UGARITIC, "G_UNICODE_SCRIPT_UGARITIC", "ugaritic" }, 17867+ { G_UNICODE_SCRIPT_NEW_TAI_LUE, "G_UNICODE_SCRIPT_NEW_TAI_LUE", "new-tai-lue" }, 17868+ { G_UNICODE_SCRIPT_BUGINESE, "G_UNICODE_SCRIPT_BUGINESE", "buginese" }, 17869+ { G_UNICODE_SCRIPT_GLAGOLITIC, "G_UNICODE_SCRIPT_GLAGOLITIC", "glagolitic" }, 17870+ { G_UNICODE_SCRIPT_TIFINAGH, "G_UNICODE_SCRIPT_TIFINAGH", "tifinagh" }, 17871+ { G_UNICODE_SCRIPT_SYLOTI_NAGRI, "G_UNICODE_SCRIPT_SYLOTI_NAGRI", "syloti-nagri" }, 17872+ { G_UNICODE_SCRIPT_OLD_PERSIAN, "G_UNICODE_SCRIPT_OLD_PERSIAN", "old-persian" }, 17873+ { G_UNICODE_SCRIPT_KHAROSHTHI, "G_UNICODE_SCRIPT_KHAROSHTHI", "kharoshthi" }, 17874+ { G_UNICODE_SCRIPT_UNKNOWN, "G_UNICODE_SCRIPT_UNKNOWN", "unknown" }, 17875+ { G_UNICODE_SCRIPT_BALINESE, "G_UNICODE_SCRIPT_BALINESE", "balinese" }, 17876+ { G_UNICODE_SCRIPT_CUNEIFORM, "G_UNICODE_SCRIPT_CUNEIFORM", "cuneiform" }, 17877+ { G_UNICODE_SCRIPT_PHOENICIAN, "G_UNICODE_SCRIPT_PHOENICIAN", "phoenician" }, 17878+ { G_UNICODE_SCRIPT_PHAGS_PA, "G_UNICODE_SCRIPT_PHAGS_PA", "phags-pa" }, 17879+ { G_UNICODE_SCRIPT_NKO, "G_UNICODE_SCRIPT_NKO", "nko" }, 17880+ { G_UNICODE_SCRIPT_KAYAH_LI, "G_UNICODE_SCRIPT_KAYAH_LI", "kayah-li" }, 17881+ { G_UNICODE_SCRIPT_LEPCHA, "G_UNICODE_SCRIPT_LEPCHA", "lepcha" }, 17882+ { G_UNICODE_SCRIPT_REJANG, "G_UNICODE_SCRIPT_REJANG", "rejang" }, 17883+ { G_UNICODE_SCRIPT_SUNDANESE, "G_UNICODE_SCRIPT_SUNDANESE", "sundanese" }, 17884+ { G_UNICODE_SCRIPT_SAURASHTRA, "G_UNICODE_SCRIPT_SAURASHTRA", "saurashtra" }, 17885+ { G_UNICODE_SCRIPT_CHAM, "G_UNICODE_SCRIPT_CHAM", "cham" }, 17886+ { G_UNICODE_SCRIPT_OL_CHIKI, "G_UNICODE_SCRIPT_OL_CHIKI", "ol-chiki" }, 17887+ { G_UNICODE_SCRIPT_VAI, "G_UNICODE_SCRIPT_VAI", "vai" }, 17888+ { G_UNICODE_SCRIPT_CARIAN, "G_UNICODE_SCRIPT_CARIAN", "carian" }, 17889+ { G_UNICODE_SCRIPT_LYCIAN, "G_UNICODE_SCRIPT_LYCIAN", "lycian" }, 17890+ { G_UNICODE_SCRIPT_LYDIAN, "G_UNICODE_SCRIPT_LYDIAN", "lydian" }, 17891+ { G_UNICODE_SCRIPT_AVESTAN, "G_UNICODE_SCRIPT_AVESTAN", "avestan" }, 17892+ { G_UNICODE_SCRIPT_BAMUM, "G_UNICODE_SCRIPT_BAMUM", "bamum" }, 17893+ { G_UNICODE_SCRIPT_EGYPTIAN_HIEROGLYPHS, "G_UNICODE_SCRIPT_EGYPTIAN_HIEROGLYPHS", "egyptian-hieroglyphs" }, 17894+ { G_UNICODE_SCRIPT_IMPERIAL_ARAMAIC, "G_UNICODE_SCRIPT_IMPERIAL_ARAMAIC", "imperial-aramaic" }, 17895+ { G_UNICODE_SCRIPT_INSCRIPTIONAL_PAHLAVI, "G_UNICODE_SCRIPT_INSCRIPTIONAL_PAHLAVI", "inscriptional-pahlavi" }, 17896+ { G_UNICODE_SCRIPT_INSCRIPTIONAL_PARTHIAN, "G_UNICODE_SCRIPT_INSCRIPTIONAL_PARTHIAN", "inscriptional-parthian" }, 17897+ { G_UNICODE_SCRIPT_JAVANESE, "G_UNICODE_SCRIPT_JAVANESE", "javanese" }, 17898+ { G_UNICODE_SCRIPT_KAITHI, "G_UNICODE_SCRIPT_KAITHI", "kaithi" }, 17899+ { G_UNICODE_SCRIPT_LISU, "G_UNICODE_SCRIPT_LISU", "lisu" }, 17900+ { G_UNICODE_SCRIPT_MEETEI_MAYEK, "G_UNICODE_SCRIPT_MEETEI_MAYEK", "meetei-mayek" }, 17901+ { G_UNICODE_SCRIPT_OLD_SOUTH_ARABIAN, "G_UNICODE_SCRIPT_OLD_SOUTH_ARABIAN", "old-south-arabian" }, 17902+ { G_UNICODE_SCRIPT_OLD_TURKIC, "G_UNICODE_SCRIPT_OLD_TURKIC", "old-turkic" }, 17903+ { G_UNICODE_SCRIPT_SAMARITAN, "G_UNICODE_SCRIPT_SAMARITAN", "samaritan" }, 17904+ { G_UNICODE_SCRIPT_TAI_THAM, "G_UNICODE_SCRIPT_TAI_THAM", "tai-tham" }, 17905+ { G_UNICODE_SCRIPT_TAI_VIET, "G_UNICODE_SCRIPT_TAI_VIET", "tai-viet" }, 17906+ { G_UNICODE_SCRIPT_BATAK, "G_UNICODE_SCRIPT_BATAK", "batak" }, 17907+ { G_UNICODE_SCRIPT_BRAHMI, "G_UNICODE_SCRIPT_BRAHMI", "brahmi" }, 17908+ { G_UNICODE_SCRIPT_MANDAIC, "G_UNICODE_SCRIPT_MANDAIC", "mandaic" }, 17909+ { G_UNICODE_SCRIPT_CHAKMA, "G_UNICODE_SCRIPT_CHAKMA", "chakma" }, 17910+ { G_UNICODE_SCRIPT_MEROITIC_CURSIVE, "G_UNICODE_SCRIPT_MEROITIC_CURSIVE", "meroitic-cursive" }, 17911+ { G_UNICODE_SCRIPT_MEROITIC_HIEROGLYPHS, "G_UNICODE_SCRIPT_MEROITIC_HIEROGLYPHS", "meroitic-hieroglyphs" }, 17912+ { G_UNICODE_SCRIPT_MIAO, "G_UNICODE_SCRIPT_MIAO", "miao" }, 17913+ { G_UNICODE_SCRIPT_SHARADA, "G_UNICODE_SCRIPT_SHARADA", "sharada" }, 17914+ { G_UNICODE_SCRIPT_SORA_SOMPENG, "G_UNICODE_SCRIPT_SORA_SOMPENG", "sora-sompeng" }, 17915+ { G_UNICODE_SCRIPT_TAKRI, "G_UNICODE_SCRIPT_TAKRI", "takri" }, 17916+ { G_UNICODE_SCRIPT_BASSA_VAH, "G_UNICODE_SCRIPT_BASSA_VAH", "bassa-vah" }, 17917+ { G_UNICODE_SCRIPT_CAUCASIAN_ALBANIAN, "G_UNICODE_SCRIPT_CAUCASIAN_ALBANIAN", "caucasian-albanian" }, 17918+ { G_UNICODE_SCRIPT_DUPLOYAN, "G_UNICODE_SCRIPT_DUPLOYAN", "duployan" }, 17919+ { G_UNICODE_SCRIPT_ELBASAN, "G_UNICODE_SCRIPT_ELBASAN", "elbasan" }, 17920+ { G_UNICODE_SCRIPT_GRANTHA, "G_UNICODE_SCRIPT_GRANTHA", "grantha" }, 17921+ { G_UNICODE_SCRIPT_KHOJKI, "G_UNICODE_SCRIPT_KHOJKI", "khojki" }, 17922+ { G_UNICODE_SCRIPT_KHUDAWADI, "G_UNICODE_SCRIPT_KHUDAWADI", "khudawadi" }, 17923+ { G_UNICODE_SCRIPT_LINEAR_A, "G_UNICODE_SCRIPT_LINEAR_A", "linear-a" }, 17924+ { G_UNICODE_SCRIPT_MAHAJANI, "G_UNICODE_SCRIPT_MAHAJANI", "mahajani" }, 17925+ { G_UNICODE_SCRIPT_MANICHAEAN, "G_UNICODE_SCRIPT_MANICHAEAN", "manichaean" }, 17926+ { G_UNICODE_SCRIPT_MENDE_KIKAKUI, "G_UNICODE_SCRIPT_MENDE_KIKAKUI", "mende-kikakui" }, 17927+ { G_UNICODE_SCRIPT_MODI, "G_UNICODE_SCRIPT_MODI", "modi" }, 17928+ { G_UNICODE_SCRIPT_MRO, "G_UNICODE_SCRIPT_MRO", "mro" }, 17929+ { G_UNICODE_SCRIPT_NABATAEAN, "G_UNICODE_SCRIPT_NABATAEAN", "nabataean" }, 17930+ { G_UNICODE_SCRIPT_OLD_NORTH_ARABIAN, "G_UNICODE_SCRIPT_OLD_NORTH_ARABIAN", "old-north-arabian" }, 17931+ { G_UNICODE_SCRIPT_OLD_PERMIC, "G_UNICODE_SCRIPT_OLD_PERMIC", "old-permic" }, 17932+ { G_UNICODE_SCRIPT_PAHAWH_HMONG, "G_UNICODE_SCRIPT_PAHAWH_HMONG", "pahawh-hmong" }, 17933+ { G_UNICODE_SCRIPT_PALMYRENE, "G_UNICODE_SCRIPT_PALMYRENE", "palmyrene" }, 17934+ { G_UNICODE_SCRIPT_PAU_CIN_HAU, "G_UNICODE_SCRIPT_PAU_CIN_HAU", "pau-cin-hau" }, 17935+ { G_UNICODE_SCRIPT_PSALTER_PAHLAVI, "G_UNICODE_SCRIPT_PSALTER_PAHLAVI", "psalter-pahlavi" }, 17936+ { G_UNICODE_SCRIPT_SIDDHAM, "G_UNICODE_SCRIPT_SIDDHAM", "siddham" }, 17937+ { G_UNICODE_SCRIPT_TIRHUTA, "G_UNICODE_SCRIPT_TIRHUTA", "tirhuta" }, 17938+ { G_UNICODE_SCRIPT_WARANG_CITI, "G_UNICODE_SCRIPT_WARANG_CITI", "warang-citi" }, 17939+ { G_UNICODE_SCRIPT_AHOM, "G_UNICODE_SCRIPT_AHOM", "ahom" }, 17940+ { G_UNICODE_SCRIPT_ANATOLIAN_HIEROGLYPHS, "G_UNICODE_SCRIPT_ANATOLIAN_HIEROGLYPHS", "anatolian-hieroglyphs" }, 17941+ { G_UNICODE_SCRIPT_HATRAN, "G_UNICODE_SCRIPT_HATRAN", "hatran" }, 17942+ { G_UNICODE_SCRIPT_MULTANI, "G_UNICODE_SCRIPT_MULTANI", "multani" }, 17943+ { G_UNICODE_SCRIPT_OLD_HUNGARIAN, "G_UNICODE_SCRIPT_OLD_HUNGARIAN", "old-hungarian" }, 17944+ { G_UNICODE_SCRIPT_SIGNWRITING, "G_UNICODE_SCRIPT_SIGNWRITING", "signwriting" }, 17945+ { G_UNICODE_SCRIPT_ADLAM, "G_UNICODE_SCRIPT_ADLAM", "adlam" }, 17946+ { G_UNICODE_SCRIPT_BHAIKSUKI, "G_UNICODE_SCRIPT_BHAIKSUKI", "bhaiksuki" }, 17947+ { G_UNICODE_SCRIPT_MARCHEN, "G_UNICODE_SCRIPT_MARCHEN", "marchen" }, 17948+ { G_UNICODE_SCRIPT_NEWA, "G_UNICODE_SCRIPT_NEWA", "newa" }, 17949+ { G_UNICODE_SCRIPT_OSAGE, "G_UNICODE_SCRIPT_OSAGE", "osage" }, 17950+ { G_UNICODE_SCRIPT_TANGUT, "G_UNICODE_SCRIPT_TANGUT", "tangut" }, 17951+ { G_UNICODE_SCRIPT_MASARAM_GONDI, "G_UNICODE_SCRIPT_MASARAM_GONDI", "masaram-gondi" }, 17952+ { G_UNICODE_SCRIPT_NUSHU, "G_UNICODE_SCRIPT_NUSHU", "nushu" }, 17953+ { G_UNICODE_SCRIPT_SOYOMBO, "G_UNICODE_SCRIPT_SOYOMBO", "soyombo" }, 17954+ { G_UNICODE_SCRIPT_ZANABAZAR_SQUARE, "G_UNICODE_SCRIPT_ZANABAZAR_SQUARE", "zanabazar-square" }, 17955+ { G_UNICODE_SCRIPT_DOGRA, "G_UNICODE_SCRIPT_DOGRA", "dogra" }, 17956+ { G_UNICODE_SCRIPT_GUNJALA_GONDI, "G_UNICODE_SCRIPT_GUNJALA_GONDI", "gunjala-gondi" }, 17957+ { G_UNICODE_SCRIPT_HANIFI_ROHINGYA, "G_UNICODE_SCRIPT_HANIFI_ROHINGYA", "hanifi-rohingya" }, 17958+ { G_UNICODE_SCRIPT_MAKASAR, "G_UNICODE_SCRIPT_MAKASAR", "makasar" }, 17959+ { G_UNICODE_SCRIPT_MEDEFAIDRIN, "G_UNICODE_SCRIPT_MEDEFAIDRIN", "medefaidrin" }, 17960+ { G_UNICODE_SCRIPT_OLD_SOGDIAN, "G_UNICODE_SCRIPT_OLD_SOGDIAN", "old-sogdian" }, 17961+ { G_UNICODE_SCRIPT_SOGDIAN, "G_UNICODE_SCRIPT_SOGDIAN", "sogdian" }, 17962+ { G_UNICODE_SCRIPT_ELYMAIC, "G_UNICODE_SCRIPT_ELYMAIC", "elymaic" }, 17963+ { G_UNICODE_SCRIPT_NANDINAGARI, "G_UNICODE_SCRIPT_NANDINAGARI", "nandinagari" }, 17964+ { G_UNICODE_SCRIPT_NYIAKENG_PUACHUE_HMONG, "G_UNICODE_SCRIPT_NYIAKENG_PUACHUE_HMONG", "nyiakeng-puachue-hmong" }, 17965+ { G_UNICODE_SCRIPT_WANCHO, "G_UNICODE_SCRIPT_WANCHO", "wancho" }, 17966+ { G_UNICODE_SCRIPT_CHORASMIAN, "G_UNICODE_SCRIPT_CHORASMIAN", "chorasmian" }, 17967+ { G_UNICODE_SCRIPT_DIVES_AKURU, "G_UNICODE_SCRIPT_DIVES_AKURU", "dives-akuru" }, 17968+ { G_UNICODE_SCRIPT_KHITAN_SMALL_SCRIPT, "G_UNICODE_SCRIPT_KHITAN_SMALL_SCRIPT", "khitan-small-script" }, 17969+ { G_UNICODE_SCRIPT_YEZIDI, "G_UNICODE_SCRIPT_YEZIDI", "yezidi" }, 17970+ { G_UNICODE_SCRIPT_CYPRO_MINOAN, "G_UNICODE_SCRIPT_CYPRO_MINOAN", "cypro-minoan" }, 17971+ { G_UNICODE_SCRIPT_OLD_UYGHUR, "G_UNICODE_SCRIPT_OLD_UYGHUR", "old-uyghur" }, 17972+ { G_UNICODE_SCRIPT_TANGSA, "G_UNICODE_SCRIPT_TANGSA", "tangsa" }, 17973+ { G_UNICODE_SCRIPT_TOTO, "G_UNICODE_SCRIPT_TOTO", "toto" }, 17974+ { G_UNICODE_SCRIPT_VITHKUQI, "G_UNICODE_SCRIPT_VITHKUQI", "vithkuqi" }, 17975+ { G_UNICODE_SCRIPT_MATH, "G_UNICODE_SCRIPT_MATH", "math" }, 17976+ { 0, NULL, NULL } 17977+ }; 17978+ GType g_define_type_id = 17979+ g_enum_register_static (g_intern_static_string ("GUnicodeScript"), values); 17980+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 17981+ } 17982+ 17983+ return static_g_define_type_id; 17984+} 17985+GType 17986+g_normalize_mode_get_type (void) 17987+{ 17988+ static gsize static_g_define_type_id = 0; 17989+ 17990+ if (g_once_init_enter (&static_g_define_type_id)) 17991+ { 17992+ static const GEnumValue values[] = { 17993+ { G_NORMALIZE_DEFAULT, "G_NORMALIZE_DEFAULT", "default" }, 17994+ { G_NORMALIZE_NFD, "G_NORMALIZE_NFD", "nfd" }, 17995+ { G_NORMALIZE_DEFAULT_COMPOSE, "G_NORMALIZE_DEFAULT_COMPOSE", "default-compose" }, 17996+ { G_NORMALIZE_NFC, "G_NORMALIZE_NFC", "nfc" }, 17997+ { G_NORMALIZE_ALL, "G_NORMALIZE_ALL", "all" }, 17998+ { G_NORMALIZE_NFKD, "G_NORMALIZE_NFKD", "nfkd" }, 17999+ { G_NORMALIZE_ALL_COMPOSE, "G_NORMALIZE_ALL_COMPOSE", "all-compose" }, 18000+ { G_NORMALIZE_NFKC, "G_NORMALIZE_NFKC", "nfkc" }, 18001+ { 0, NULL, NULL } 18002+ }; 18003+ GType g_define_type_id = 18004+ g_enum_register_static (g_intern_static_string ("GNormalizeMode"), values); 18005+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); 18006+ } 18007+ 18008+ return static_g_define_type_id; 18009+} 18010+ 18011+G_GNUC_END_IGNORE_DEPRECATIONS 18012+ 18013+/* Generated data ends here */ 18014+ 18015diff --git a/gobject/glib-enumtypes.h b/gobject/glib-enumtypes.h 18016new file mode 100644 18017index 0000000..9844954 18018--- /dev/null 18019+++ b/gobject/glib-enumtypes.h 18020@@ -0,0 +1,25 @@ 18021+ 18022+/* This file is generated by glib-mkenums, do not modify it. This code is licensed under the same license as the containing project. Note that it links to GLib, so must comply with the LGPL linking clauses. */ 18023+ 18024+#ifndef __GOBJECT_ENUM_TYPES_H__ 18025+#define __GOBJECT_ENUM_TYPES_H__ 18026+ 18027+#include <glib-object.h> 18028+ 18029+G_BEGIN_DECLS 18030+ 18031+/* enumerations from "../gobject/../glib/gunicode.h" */ 18032+GLIB_AVAILABLE_IN_2_60 GType g_unicode_type_get_type (void) G_GNUC_CONST; 18033+#define G_TYPE_UNICODE_TYPE (g_unicode_type_get_type ()) 18034+GLIB_AVAILABLE_IN_2_60 GType g_unicode_break_type_get_type (void) G_GNUC_CONST; 18035+#define G_TYPE_UNICODE_BREAK_TYPE (g_unicode_break_type_get_type ()) 18036+GLIB_AVAILABLE_IN_2_60 GType g_unicode_script_get_type (void) G_GNUC_CONST; 18037+#define G_TYPE_UNICODE_SCRIPT (g_unicode_script_get_type ()) 18038+GLIB_AVAILABLE_IN_2_60 GType g_normalize_mode_get_type (void) G_GNUC_CONST; 18039+#define G_TYPE_NORMALIZE_MODE (g_normalize_mode_get_type ()) 18040+G_END_DECLS 18041+ 18042+#endif /* __GOBJECT_ENUM_TYPES_H__ */ 18043+ 18044+/* Generated data ends here */ 18045+ 18046