1 /* GIO - GLib Input, Output and Streaming Library 2 * 3 * Copyright (C) 2006-2007 Red Hat, Inc. 4 * 5 * This library is free software; you can redistribute it and/or 6 * modify it under the terms of the GNU Lesser General Public 7 * License as published by the Free Software Foundation; either 8 * version 2.1 of the License, or (at your option) any later version. 9 * 10 * This library is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 * Lesser General Public License for more details. 14 * 15 * You should have received a copy of the GNU Lesser General 16 * Public License along with this library; if not, see <http://www.gnu.org/licenses/>. 17 * 18 * Author: Alexander Larsson <alexl@redhat.com> 19 */ 20 21 #ifndef __G_FILE_INFO_H__ 22 #define __G_FILE_INFO_H__ 23 24 #if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) 25 #error "Only <gio/gio.h> can be included directly." 26 #endif 27 28 #include <gio/giotypes.h> 29 30 G_BEGIN_DECLS 31 32 #define G_TYPE_FILE_INFO (g_file_info_get_type ()) 33 #define G_FILE_INFO(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_FILE_INFO, GFileInfo)) 34 #define G_FILE_INFO_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_FILE_INFO, GFileInfoClass)) 35 #define G_IS_FILE_INFO(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_FILE_INFO)) 36 #define G_IS_FILE_INFO_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_FILE_INFO)) 37 #define G_FILE_INFO_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_FILE_INFO, GFileInfoClass)) 38 39 /** 40 * GFileInfo: 41 * 42 * Stores information about a file system object referenced by a #GFile. 43 **/ 44 typedef struct _GFileInfoClass GFileInfoClass; 45 46 47 /* Common Attributes: */ 48 /** 49 * G_FILE_ATTRIBUTE_STANDARD_TYPE: 50 * 51 * A key in the "standard" namespace for storing file types. 52 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32. 53 * The value for this key should contain a #GFileType. 54 **/ 55 #define G_FILE_ATTRIBUTE_STANDARD_TYPE "standard::type" /* uint32 (GFileType) */ 56 57 /** 58 * G_FILE_ATTRIBUTE_STANDARD_IS_HIDDEN: 59 * 60 * A key in the "standard" namespace for checking if a file is hidden. 61 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. 62 **/ 63 #define G_FILE_ATTRIBUTE_STANDARD_IS_HIDDEN "standard::is-hidden" /* boolean */ 64 65 /** 66 * G_FILE_ATTRIBUTE_STANDARD_IS_BACKUP: 67 * 68 * A key in the "standard" namespace for checking if a file is a backup file. 69 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. 70 **/ 71 #define G_FILE_ATTRIBUTE_STANDARD_IS_BACKUP "standard::is-backup" /* boolean */ 72 73 /** 74 * G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK: 75 * 76 * A key in the "standard" namespace for checking if the file is a symlink. 77 * Typically the actual type is something else, if we followed the symlink 78 * to get the type. 79 * On Windows NTFS mountpoints are considered to be symlinks as well. 80 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. 81 **/ 82 #define G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK "standard::is-symlink" /* boolean */ 83 84 /** 85 * G_FILE_ATTRIBUTE_STANDARD_IS_VIRTUAL: 86 * 87 * A key in the "standard" namespace for checking if a file is virtual. 88 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. 89 **/ 90 #define G_FILE_ATTRIBUTE_STANDARD_IS_VIRTUAL "standard::is-virtual" /* boolean */ 91 92 /** 93 * G_FILE_ATTRIBUTE_STANDARD_IS_VOLATILE: 94 * 95 * A key in the "standard" namespace for checking if a file is 96 * volatile. This is meant for opaque, non-POSIX-like backends to 97 * indicate that the URI is not persistent. Applications should look 98 * at #G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET for the persistent URI. 99 * 100 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. 101 * 102 * Since: 2.46 103 **/ 104 #define G_FILE_ATTRIBUTE_STANDARD_IS_VOLATILE "standard::is-volatile" /* boolean */ 105 106 /** 107 * G_FILE_ATTRIBUTE_STANDARD_NAME: 108 * 109 * A key in the "standard" namespace for getting the name of the file. 110 * The name is the on-disk filename which may not be in any known encoding, 111 * and can thus not be generally displayed as is. It is guaranteed to be set on 112 * every file. 113 * Use #G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME if you need to display the 114 * name in a user interface. 115 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BYTE_STRING. 116 **/ 117 #define G_FILE_ATTRIBUTE_STANDARD_NAME "standard::name" /* byte string */ 118 119 /** 120 * G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME: 121 * 122 * A key in the "standard" namespace for getting the display name of the file. 123 * A display name is guaranteed to be in UTF-8 and can thus be displayed in 124 * the UI. It is guaranteed to be set on every file. 125 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. 126 **/ 127 #define G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME "standard::display-name" /* string */ 128 129 /** 130 * G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME: 131 * 132 * A key in the "standard" namespace for edit name of the file. 133 * An edit name is similar to the display name, but it is meant to be 134 * used when you want to rename the file in the UI. The display name 135 * might contain information you don't want in the new filename (such as 136 * "(invalid unicode)" if the filename was in an invalid encoding). 137 * 138 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. 139 **/ 140 #define G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME "standard::edit-name" /* string */ 141 142 /** 143 * G_FILE_ATTRIBUTE_STANDARD_COPY_NAME: 144 * 145 * A key in the "standard" namespace for getting the copy name of the file. 146 * The copy name is an optional version of the name. If available it's always 147 * in UTF8, and corresponds directly to the original filename (only transcoded to 148 * UTF8). This is useful if you want to copy the file to another filesystem that 149 * might have a different encoding. If the filename is not a valid string in the 150 * encoding selected for the filesystem it is in then the copy name will not be set. 151 * 152 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. 153 **/ 154 #define G_FILE_ATTRIBUTE_STANDARD_COPY_NAME "standard::copy-name" /* string */ 155 156 /** 157 * G_FILE_ATTRIBUTE_STANDARD_DESCRIPTION: 158 * 159 * A key in the "standard" namespace for getting the description of the file. 160 * The description is a utf8 string that describes the file, generally containing 161 * the filename, but can also contain further information. Example descriptions 162 * could be "filename (on hostname)" for a remote file or "filename (in trash)" 163 * for a file in the trash. This is useful for instance as the window title 164 * when displaying a directory or for a bookmarks menu. 165 * 166 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. 167 **/ 168 #define G_FILE_ATTRIBUTE_STANDARD_DESCRIPTION "standard::description" /* string */ 169 170 /** 171 * G_FILE_ATTRIBUTE_STANDARD_ICON: 172 * 173 * A key in the "standard" namespace for getting the icon for the file. 174 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_OBJECT. 175 * The value for this key should contain a #GIcon. 176 **/ 177 #define G_FILE_ATTRIBUTE_STANDARD_ICON "standard::icon" /* object (GIcon) */ 178 179 /** 180 * G_FILE_ATTRIBUTE_STANDARD_SYMBOLIC_ICON: 181 * 182 * A key in the "standard" namespace for getting the symbolic icon for the file. 183 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_OBJECT. 184 * The value for this key should contain a #GIcon. 185 * 186 * Since: 2.34 187 **/ 188 #define G_FILE_ATTRIBUTE_STANDARD_SYMBOLIC_ICON "standard::symbolic-icon" /* object (GIcon) */ 189 190 /** 191 * G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE: 192 * 193 * A key in the "standard" namespace for getting the content type of the file. 194 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. 195 * The value for this key should contain a valid content type. 196 **/ 197 #define G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE "standard::content-type" /* string */ 198 199 /** 200 * G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE: 201 * 202 * A key in the "standard" namespace for getting the fast content type. 203 * The fast content type isn't as reliable as the regular one, as it 204 * only uses the filename to guess it, but it is faster to calculate than the 205 * regular content type. 206 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. 207 * 208 **/ 209 #define G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE "standard::fast-content-type" /* string */ 210 211 /** 212 * G_FILE_ATTRIBUTE_STANDARD_SIZE: 213 * 214 * A key in the "standard" namespace for getting the file's size (in bytes). 215 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64. 216 **/ 217 #define G_FILE_ATTRIBUTE_STANDARD_SIZE "standard::size" /* uint64 */ 218 219 /** 220 * G_FILE_ATTRIBUTE_STANDARD_ALLOCATED_SIZE: 221 * 222 * A key in the "standard" namespace for getting the amount of disk space 223 * that is consumed by the file (in bytes). This will generally be larger 224 * than the file size (due to block size overhead) but can occasionally be 225 * smaller (for example, for sparse files). 226 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64. 227 * 228 * Since: 2.20 229 **/ 230 #define G_FILE_ATTRIBUTE_STANDARD_ALLOCATED_SIZE "standard::allocated-size" /* uint64 */ 231 232 /** 233 * G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET: 234 * 235 * A key in the "standard" namespace for getting the symlink target, if the file 236 * is a symlink. Corresponding #GFileAttributeType is 237 * %G_FILE_ATTRIBUTE_TYPE_BYTE_STRING. 238 **/ 239 #define G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET "standard::symlink-target" /* byte string */ 240 241 /** 242 * G_FILE_ATTRIBUTE_STANDARD_TARGET_URI: 243 * 244 * A key in the "standard" namespace for getting the target URI for the file, in 245 * the case of %G_FILE_TYPE_SHORTCUT or %G_FILE_TYPE_MOUNTABLE files. 246 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. 247 **/ 248 #define G_FILE_ATTRIBUTE_STANDARD_TARGET_URI "standard::target-uri" /* string */ 249 250 /** 251 * G_FILE_ATTRIBUTE_STANDARD_SORT_ORDER: 252 * 253 * A key in the "standard" namespace for setting the sort order of a file. 254 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_INT32. 255 * An example use would be in file managers, which would use this key 256 * to set the order files are displayed. Files with smaller sort order 257 * should be sorted first, and files without sort order as if sort order 258 * was zero. 259 **/ 260 #define G_FILE_ATTRIBUTE_STANDARD_SORT_ORDER "standard::sort-order" /* int32 */ 261 262 /* Entity tags, used to avoid missing updates on save */ 263 264 /** 265 * G_FILE_ATTRIBUTE_ETAG_VALUE: 266 * 267 * A key in the "etag" namespace for getting the value of the file's 268 * entity tag. Corresponding #GFileAttributeType is 269 * %G_FILE_ATTRIBUTE_TYPE_STRING. 270 **/ 271 #define G_FILE_ATTRIBUTE_ETAG_VALUE "etag::value" /* string */ 272 273 /* File identifier, for e.g. avoiding loops when doing recursive 274 * directory scanning 275 */ 276 277 /** 278 * G_FILE_ATTRIBUTE_ID_FILE: 279 * 280 * A key in the "id" namespace for getting a file identifier. 281 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. 282 * An example use would be during listing files, to avoid recursive 283 * directory scanning. 284 **/ 285 #define G_FILE_ATTRIBUTE_ID_FILE "id::file" /* string */ 286 287 /** 288 * G_FILE_ATTRIBUTE_ID_FILESYSTEM: 289 * 290 * A key in the "id" namespace for getting the file system identifier. 291 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. 292 * An example use would be during drag and drop to see if the source 293 * and target are on the same filesystem (default to move) or not (default 294 * to copy). 295 **/ 296 #define G_FILE_ATTRIBUTE_ID_FILESYSTEM "id::filesystem" /* string */ 297 298 /* Calculated Access Rights for current user */ 299 300 /** 301 * G_FILE_ATTRIBUTE_ACCESS_CAN_READ: 302 * 303 * A key in the "access" namespace for getting read privileges. 304 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. 305 * This attribute will be %TRUE if the user is able to read the file. 306 **/ 307 #define G_FILE_ATTRIBUTE_ACCESS_CAN_READ "access::can-read" /* boolean */ 308 309 /** 310 * G_FILE_ATTRIBUTE_ACCESS_CAN_WRITE: 311 * 312 * A key in the "access" namespace for getting write privileges. 313 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. 314 * This attribute will be %TRUE if the user is able to write to the file. 315 **/ 316 #define G_FILE_ATTRIBUTE_ACCESS_CAN_WRITE "access::can-write" /* boolean */ 317 318 /** 319 * G_FILE_ATTRIBUTE_ACCESS_CAN_EXECUTE: 320 * 321 * A key in the "access" namespace for getting execution privileges. 322 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. 323 * This attribute will be %TRUE if the user is able to execute the file. 324 **/ 325 #define G_FILE_ATTRIBUTE_ACCESS_CAN_EXECUTE "access::can-execute" /* boolean */ 326 327 /** 328 * G_FILE_ATTRIBUTE_ACCESS_CAN_DELETE: 329 * 330 * A key in the "access" namespace for checking deletion privileges. 331 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. 332 * This attribute will be %TRUE if the user is able to delete the file. 333 **/ 334 #define G_FILE_ATTRIBUTE_ACCESS_CAN_DELETE "access::can-delete" /* boolean */ 335 336 /** 337 * G_FILE_ATTRIBUTE_ACCESS_CAN_TRASH: 338 * 339 * A key in the "access" namespace for checking trashing privileges. 340 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. 341 * This attribute will be %TRUE if the user is able to move the file to 342 * the trash. 343 **/ 344 #define G_FILE_ATTRIBUTE_ACCESS_CAN_TRASH "access::can-trash" /* boolean */ 345 346 /** 347 * G_FILE_ATTRIBUTE_ACCESS_CAN_RENAME: 348 * 349 * A key in the "access" namespace for checking renaming privileges. 350 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. 351 * This attribute will be %TRUE if the user is able to rename the file. 352 **/ 353 #define G_FILE_ATTRIBUTE_ACCESS_CAN_RENAME "access::can-rename" /* boolean */ 354 355 /* TODO: Should we have special version for directories? can_enumerate, etc */ 356 357 /* Mountable attributes */ 358 359 /** 360 * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_MOUNT: 361 * 362 * A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE) is mountable. 363 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. 364 **/ 365 #define G_FILE_ATTRIBUTE_MOUNTABLE_CAN_MOUNT "mountable::can-mount" /* boolean */ 366 367 /** 368 * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_UNMOUNT: 369 * 370 * A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE) is unmountable. 371 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. 372 **/ 373 #define G_FILE_ATTRIBUTE_MOUNTABLE_CAN_UNMOUNT "mountable::can-unmount" /* boolean */ 374 375 /** 376 * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_EJECT: 377 * 378 * A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE) can be ejected. 379 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. 380 **/ 381 #define G_FILE_ATTRIBUTE_MOUNTABLE_CAN_EJECT "mountable::can-eject" /* boolean */ 382 383 /** 384 * G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE: 385 * 386 * A key in the "mountable" namespace for getting the unix device. 387 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32. 388 **/ 389 #define G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE "mountable::unix-device" /* uint32 */ 390 391 /** 392 * G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE_FILE: 393 * 394 * A key in the "mountable" namespace for getting the unix device file. 395 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. 396 * 397 * Since: 2.22 398 **/ 399 #define G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE_FILE "mountable::unix-device-file" /* string */ 400 401 /** 402 * G_FILE_ATTRIBUTE_MOUNTABLE_HAL_UDI: 403 * 404 * A key in the "mountable" namespace for getting the HAL UDI for the mountable 405 * file. Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. 406 **/ 407 #define G_FILE_ATTRIBUTE_MOUNTABLE_HAL_UDI "mountable::hal-udi" /* string */ 408 409 /** 410 * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_START: 411 * 412 * A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE) can be started. 413 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. 414 * 415 * Since: 2.22 416 */ 417 #define G_FILE_ATTRIBUTE_MOUNTABLE_CAN_START "mountable::can-start" /* boolean */ 418 419 /** 420 * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_START_DEGRADED: 421 * 422 * A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE) can be started 423 * degraded. 424 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. 425 * 426 * Since: 2.22 427 */ 428 #define G_FILE_ATTRIBUTE_MOUNTABLE_CAN_START_DEGRADED "mountable::can-start-degraded" /* boolean */ 429 430 /** 431 * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_STOP: 432 * 433 * A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE) can be stopped. 434 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. 435 * 436 * Since: 2.22 437 */ 438 #define G_FILE_ATTRIBUTE_MOUNTABLE_CAN_STOP "mountable::can-stop" /* boolean */ 439 440 /** 441 * G_FILE_ATTRIBUTE_MOUNTABLE_START_STOP_TYPE: 442 * 443 * A key in the "mountable" namespace for getting the #GDriveStartStopType. 444 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32. 445 * 446 * Since: 2.22 447 */ 448 #define G_FILE_ATTRIBUTE_MOUNTABLE_START_STOP_TYPE "mountable::start-stop-type" /* uint32 (GDriveStartStopType) */ 449 450 /** 451 * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_POLL: 452 * 453 * A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE) can be polled. 454 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. 455 * 456 * Since: 2.22 457 */ 458 #define G_FILE_ATTRIBUTE_MOUNTABLE_CAN_POLL "mountable::can-poll" /* boolean */ 459 460 /** 461 * G_FILE_ATTRIBUTE_MOUNTABLE_IS_MEDIA_CHECK_AUTOMATIC: 462 * 463 * A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE) 464 * is automatically polled for media. 465 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. 466 * 467 * Since: 2.22 468 */ 469 #define G_FILE_ATTRIBUTE_MOUNTABLE_IS_MEDIA_CHECK_AUTOMATIC "mountable::is-media-check-automatic" /* boolean */ 470 471 /* Time attributes */ 472 473 /** 474 * G_FILE_ATTRIBUTE_TIME_MODIFIED: 475 * 476 * A key in the "time" namespace for getting the time the file was last 477 * modified. Corresponding #GFileAttributeType is 478 * %G_FILE_ATTRIBUTE_TYPE_UINT64, and contains the time since the 479 * file was modified, in seconds since the UNIX epoch. 480 **/ 481 #define G_FILE_ATTRIBUTE_TIME_MODIFIED "time::modified" /* uint64 */ 482 483 /** 484 * G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC: 485 * 486 * A key in the "time" namespace for getting the microseconds of the time 487 * the file was last modified. This should be used in conjunction with 488 * #G_FILE_ATTRIBUTE_TIME_MODIFIED. Corresponding #GFileAttributeType is 489 * %G_FILE_ATTRIBUTE_TYPE_UINT32. 490 **/ 491 #define G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC "time::modified-usec" /* uint32 */ 492 493 /** 494 * G_FILE_ATTRIBUTE_TIME_ACCESS: 495 * 496 * A key in the "time" namespace for getting the time the file was last 497 * accessed. Corresponding #GFileAttributeType is 498 * %G_FILE_ATTRIBUTE_TYPE_UINT64, and contains the time since the 499 * file was last accessed, in seconds since the UNIX epoch. 500 **/ 501 #define G_FILE_ATTRIBUTE_TIME_ACCESS "time::access" /* uint64 */ 502 503 /** 504 * G_FILE_ATTRIBUTE_TIME_ACCESS_USEC: 505 * 506 * A key in the "time" namespace for getting the microseconds of the time 507 * the file was last accessed. This should be used in conjunction with 508 * #G_FILE_ATTRIBUTE_TIME_ACCESS. Corresponding #GFileAttributeType is 509 * %G_FILE_ATTRIBUTE_TYPE_UINT32. 510 **/ 511 #define G_FILE_ATTRIBUTE_TIME_ACCESS_USEC "time::access-usec" /* uint32 */ 512 513 /** 514 * G_FILE_ATTRIBUTE_TIME_CHANGED: 515 * 516 * A key in the "time" namespace for getting the time the file was last 517 * changed. Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64, 518 * and contains the time since the file was last changed, in seconds since the 519 * UNIX epoch. 520 * 521 * This corresponds to the traditional UNIX ctime. 522 **/ 523 #define G_FILE_ATTRIBUTE_TIME_CHANGED "time::changed" /* uint64 */ 524 525 /** 526 * G_FILE_ATTRIBUTE_TIME_CHANGED_USEC: 527 * 528 * A key in the "time" namespace for getting the microseconds of the time 529 * the file was last changed. This should be used in conjunction with 530 * #G_FILE_ATTRIBUTE_TIME_CHANGED. Corresponding #GFileAttributeType is 531 * %G_FILE_ATTRIBUTE_TYPE_UINT32. 532 **/ 533 #define G_FILE_ATTRIBUTE_TIME_CHANGED_USEC "time::changed-usec" /* uint32 */ 534 535 /** 536 * G_FILE_ATTRIBUTE_TIME_CREATED: 537 * 538 * A key in the "time" namespace for getting the time the file was created. 539 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64, 540 * and contains the time since the file was created, in seconds since the UNIX 541 * epoch. 542 * 543 * This may correspond to Linux stx_btime, FreeBSD st_birthtim, NetBSD 544 * st_birthtime or NTFS ctime. 545 **/ 546 #define G_FILE_ATTRIBUTE_TIME_CREATED "time::created" /* uint64 */ 547 548 /** 549 * G_FILE_ATTRIBUTE_TIME_CREATED_USEC: 550 * 551 * A key in the "time" namespace for getting the microseconds of the time 552 * the file was created. This should be used in conjunction with 553 * #G_FILE_ATTRIBUTE_TIME_CREATED. Corresponding #GFileAttributeType is 554 * %G_FILE_ATTRIBUTE_TYPE_UINT32. 555 **/ 556 #define G_FILE_ATTRIBUTE_TIME_CREATED_USEC "time::created-usec" /* uint32 */ 557 558 /* Unix specific attributes */ 559 560 /** 561 * G_FILE_ATTRIBUTE_UNIX_DEVICE: 562 * 563 * A key in the "unix" namespace for getting the device id of the device the 564 * file is located on (see stat() documentation). This attribute is only 565 * available for UNIX file systems. Corresponding #GFileAttributeType is 566 * %G_FILE_ATTRIBUTE_TYPE_UINT32. 567 **/ 568 #define G_FILE_ATTRIBUTE_UNIX_DEVICE "unix::device" /* uint32 */ 569 570 /** 571 * G_FILE_ATTRIBUTE_UNIX_INODE: 572 * 573 * A key in the "unix" namespace for getting the inode of the file. 574 * This attribute is only available for UNIX file systems. Corresponding 575 * #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64. 576 **/ 577 #define G_FILE_ATTRIBUTE_UNIX_INODE "unix::inode" /* uint64 */ 578 579 /** 580 * G_FILE_ATTRIBUTE_UNIX_MODE: 581 * 582 * A key in the "unix" namespace for getting the mode of the file 583 * (e.g. whether the file is a regular file, symlink, etc). See the 584 * documentation for `lstat()`: this attribute is equivalent to the `st_mode` 585 * member of `struct stat`, and includes both the file type and permissions. 586 * This attribute is only available for UNIX file systems. 587 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32. 588 **/ 589 #define G_FILE_ATTRIBUTE_UNIX_MODE "unix::mode" /* uint32 */ 590 591 /** 592 * G_FILE_ATTRIBUTE_UNIX_NLINK: 593 * 594 * A key in the "unix" namespace for getting the number of hard links 595 * for a file. See lstat() documentation. This attribute is only available 596 * for UNIX file systems. Corresponding #GFileAttributeType is 597 * %G_FILE_ATTRIBUTE_TYPE_UINT32. 598 **/ 599 #define G_FILE_ATTRIBUTE_UNIX_NLINK "unix::nlink" /* uint32 */ 600 601 /** 602 * G_FILE_ATTRIBUTE_UNIX_UID: 603 * 604 * A key in the "unix" namespace for getting the user ID for the file. 605 * This attribute is only available for UNIX file systems. 606 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32. 607 **/ 608 #define G_FILE_ATTRIBUTE_UNIX_UID "unix::uid" /* uint32 */ 609 610 /** 611 * G_FILE_ATTRIBUTE_UNIX_GID: 612 * 613 * A key in the "unix" namespace for getting the group ID for the file. 614 * This attribute is only available for UNIX file systems. 615 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32. 616 **/ 617 #define G_FILE_ATTRIBUTE_UNIX_GID "unix::gid" /* uint32 */ 618 619 /** 620 * G_FILE_ATTRIBUTE_UNIX_RDEV: 621 * 622 * A key in the "unix" namespace for getting the device ID for the file 623 * (if it is a special file). See lstat() documentation. This attribute 624 * is only available for UNIX file systems. Corresponding #GFileAttributeType 625 * is %G_FILE_ATTRIBUTE_TYPE_UINT32. 626 **/ 627 #define G_FILE_ATTRIBUTE_UNIX_RDEV "unix::rdev" /* uint32 */ 628 629 /** 630 * G_FILE_ATTRIBUTE_UNIX_BLOCK_SIZE: 631 * 632 * A key in the "unix" namespace for getting the block size for the file 633 * system. This attribute is only available for UNIX file systems. 634 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32. 635 **/ 636 #define G_FILE_ATTRIBUTE_UNIX_BLOCK_SIZE "unix::block-size" /* uint32 */ 637 638 /** 639 * G_FILE_ATTRIBUTE_UNIX_BLOCKS: 640 * 641 * A key in the "unix" namespace for getting the number of blocks allocated 642 * for the file. This attribute is only available for UNIX file systems. 643 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64. 644 **/ 645 #define G_FILE_ATTRIBUTE_UNIX_BLOCKS "unix::blocks" /* uint64 */ 646 647 /** 648 * G_FILE_ATTRIBUTE_UNIX_IS_MOUNTPOINT: 649 * 650 * A key in the "unix" namespace for checking if the file represents a 651 * UNIX mount point. This attribute is %TRUE if the file is a UNIX mount 652 * point. Since 2.58, `/` is considered to be a mount point. 653 * This attribute is only available for UNIX file systems. 654 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. 655 **/ 656 #define G_FILE_ATTRIBUTE_UNIX_IS_MOUNTPOINT "unix::is-mountpoint" /* boolean */ 657 658 /* DOS specific attributes */ 659 660 /** 661 * G_FILE_ATTRIBUTE_DOS_IS_ARCHIVE: 662 * 663 * A key in the "dos" namespace for checking if the file's archive flag 664 * is set. This attribute is %TRUE if the archive flag is set. This attribute 665 * is only available for DOS file systems. Corresponding #GFileAttributeType 666 * is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. 667 **/ 668 #define G_FILE_ATTRIBUTE_DOS_IS_ARCHIVE "dos::is-archive" /* boolean */ 669 670 /** 671 * G_FILE_ATTRIBUTE_DOS_IS_SYSTEM: 672 * 673 * A key in the "dos" namespace for checking if the file's backup flag 674 * is set. This attribute is %TRUE if the backup flag is set. This attribute 675 * is only available for DOS file systems. Corresponding #GFileAttributeType 676 * is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. 677 **/ 678 #define G_FILE_ATTRIBUTE_DOS_IS_SYSTEM "dos::is-system" /* boolean */ 679 680 /** 681 * G_FILE_ATTRIBUTE_DOS_IS_MOUNTPOINT: 682 * 683 * A key in the "dos" namespace for checking if the file is a NTFS mount point 684 * (a volume mount or a junction point). 685 * This attribute is %TRUE if file is a reparse point of type 686 * [IO_REPARSE_TAG_MOUNT_POINT](https://msdn.microsoft.com/en-us/library/dd541667.aspx). 687 * This attribute is only available for DOS file systems. 688 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. 689 * 690 * Since: 2.60 691 **/ 692 #define G_FILE_ATTRIBUTE_DOS_IS_MOUNTPOINT "dos::is-mountpoint" /* boolean */ 693 694 /** 695 * G_FILE_ATTRIBUTE_DOS_REPARSE_POINT_TAG: 696 * 697 * A key in the "dos" namespace for getting the file NTFS reparse tag. 698 * This value is 0 for files that are not reparse points. 699 * See the [Reparse Tags](https://msdn.microsoft.com/en-us/library/dd541667.aspx) 700 * page for possible reparse tag values. Corresponding #GFileAttributeType 701 * is %G_FILE_ATTRIBUTE_TYPE_UINT32. 702 * 703 * Since: 2.60 704 **/ 705 #define G_FILE_ATTRIBUTE_DOS_REPARSE_POINT_TAG "dos::reparse-point-tag" /* uint32 */ 706 707 /* Owner attributes */ 708 709 /** 710 * G_FILE_ATTRIBUTE_OWNER_USER: 711 * 712 * A key in the "owner" namespace for getting the user name of the 713 * file's owner. Corresponding #GFileAttributeType is 714 * %G_FILE_ATTRIBUTE_TYPE_STRING. 715 **/ 716 #define G_FILE_ATTRIBUTE_OWNER_USER "owner::user" /* string */ 717 718 /** 719 * G_FILE_ATTRIBUTE_OWNER_USER_REAL: 720 * 721 * A key in the "owner" namespace for getting the real name of the 722 * user that owns the file. Corresponding #GFileAttributeType is 723 * %G_FILE_ATTRIBUTE_TYPE_STRING. 724 **/ 725 #define G_FILE_ATTRIBUTE_OWNER_USER_REAL "owner::user-real" /* string */ 726 727 /** 728 * G_FILE_ATTRIBUTE_OWNER_GROUP: 729 * 730 * A key in the "owner" namespace for getting the file owner's group. 731 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. 732 **/ 733 #define G_FILE_ATTRIBUTE_OWNER_GROUP "owner::group" /* string */ 734 735 /* Thumbnails */ 736 737 /** 738 * G_FILE_ATTRIBUTE_THUMBNAIL_PATH: 739 * 740 * A key in the "thumbnail" namespace for getting the path to the thumbnail 741 * image. Corresponding #GFileAttributeType is 742 * %G_FILE_ATTRIBUTE_TYPE_BYTE_STRING. 743 **/ 744 #define G_FILE_ATTRIBUTE_THUMBNAIL_PATH "thumbnail::path" /* bytestring */ 745 /** 746 * G_FILE_ATTRIBUTE_THUMBNAILING_FAILED: 747 * 748 * A key in the "thumbnail" namespace for checking if thumbnailing failed. 749 * This attribute is %TRUE if thumbnailing failed. Corresponding 750 * #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. 751 **/ 752 #define G_FILE_ATTRIBUTE_THUMBNAILING_FAILED "thumbnail::failed" /* boolean */ 753 /** 754 * G_FILE_ATTRIBUTE_THUMBNAIL_IS_VALID: 755 * 756 * A key in the "thumbnail" namespace for checking whether the thumbnail is outdated. 757 * This attribute is %TRUE if the thumbnail is up-to-date with the file it represents, 758 * and %FALSE if the file has been modified since the thumbnail was generated. 759 * 760 * If %G_FILE_ATTRIBUTE_THUMBNAILING_FAILED is %TRUE and this attribute is %FALSE, 761 * it indicates that thumbnailing may be attempted again and may succeed. 762 * 763 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. 764 * 765 * Since: 2.40 766 */ 767 #define G_FILE_ATTRIBUTE_THUMBNAIL_IS_VALID "thumbnail::is-valid" /* boolean */ 768 769 /* Preview */ 770 771 /** 772 * G_FILE_ATTRIBUTE_PREVIEW_ICON: 773 * 774 * A key in the "preview" namespace for getting a #GIcon that can be 775 * used to get preview of the file. For example, it may be a low 776 * resolution thumbnail without metadata. Corresponding 777 * #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_OBJECT. The value 778 * for this key should contain a #GIcon. 779 * 780 * Since: 2.20 781 **/ 782 #define G_FILE_ATTRIBUTE_PREVIEW_ICON "preview::icon" /* object (GIcon) */ 783 784 /* File system info (for g_file_get_filesystem_info) */ 785 786 /** 787 * G_FILE_ATTRIBUTE_FILESYSTEM_SIZE: 788 * 789 * A key in the "filesystem" namespace for getting the total size (in bytes) of the file system, 790 * used in g_file_query_filesystem_info(). Corresponding #GFileAttributeType 791 * is %G_FILE_ATTRIBUTE_TYPE_UINT64. 792 **/ 793 #define G_FILE_ATTRIBUTE_FILESYSTEM_SIZE "filesystem::size" /* uint64 */ 794 795 /** 796 * G_FILE_ATTRIBUTE_FILESYSTEM_FREE: 797 * 798 * A key in the "filesystem" namespace for getting the number of bytes of free space left on the 799 * file system. Corresponding #GFileAttributeType is 800 * %G_FILE_ATTRIBUTE_TYPE_UINT64. 801 **/ 802 #define G_FILE_ATTRIBUTE_FILESYSTEM_FREE "filesystem::free" /* uint64 */ 803 804 /** 805 * G_FILE_ATTRIBUTE_FILESYSTEM_USED: 806 * 807 * A key in the "filesystem" namespace for getting the number of bytes of used on the 808 * file system. Corresponding #GFileAttributeType is 809 * %G_FILE_ATTRIBUTE_TYPE_UINT64. 810 * 811 * Since: 2.32 812 */ 813 #define G_FILE_ATTRIBUTE_FILESYSTEM_USED "filesystem::used" /* uint64 */ 814 815 /** 816 * G_FILE_ATTRIBUTE_FILESYSTEM_TYPE: 817 * 818 * A key in the "filesystem" namespace for getting the file system's type. 819 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. 820 **/ 821 #define G_FILE_ATTRIBUTE_FILESYSTEM_TYPE "filesystem::type" /* string */ 822 823 /** 824 * G_FILE_ATTRIBUTE_FILESYSTEM_READONLY: 825 * 826 * A key in the "filesystem" namespace for checking if the file system 827 * is read only. Is set to %TRUE if the file system is read only. 828 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. 829 **/ 830 #define G_FILE_ATTRIBUTE_FILESYSTEM_READONLY "filesystem::readonly" /* boolean */ 831 832 /** 833 * G_FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW: 834 * 835 * A key in the "filesystem" namespace for hinting a file manager 836 * application whether it should preview (e.g. thumbnail) files on the 837 * file system. The value for this key contain a 838 * #GFilesystemPreviewType. 839 **/ 840 #define G_FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW "filesystem::use-preview" /* uint32 (GFilesystemPreviewType) */ 841 842 /** 843 * G_FILE_ATTRIBUTE_FILESYSTEM_REMOTE: 844 * 845 * A key in the "filesystem" namespace for checking if the file system 846 * is remote. Is set to %TRUE if the file system is remote. 847 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. 848 **/ 849 #define G_FILE_ATTRIBUTE_FILESYSTEM_REMOTE "filesystem::remote" /* boolean */ 850 851 /** 852 * G_FILE_ATTRIBUTE_GVFS_BACKEND: 853 * 854 * A key in the "gvfs" namespace that gets the name of the current 855 * GVFS backend in use. Corresponding #GFileAttributeType is 856 * %G_FILE_ATTRIBUTE_TYPE_STRING. 857 **/ 858 #define G_FILE_ATTRIBUTE_GVFS_BACKEND "gvfs::backend" /* string */ 859 860 /** 861 * G_FILE_ATTRIBUTE_SELINUX_CONTEXT: 862 * 863 * A key in the "selinux" namespace for getting the file's SELinux 864 * context. Corresponding #GFileAttributeType is 865 * %G_FILE_ATTRIBUTE_TYPE_STRING. Note that this attribute is only 866 * available if GLib has been built with SELinux support. 867 **/ 868 #define G_FILE_ATTRIBUTE_SELINUX_CONTEXT "selinux::context" /* string */ 869 870 /** 871 * G_FILE_ATTRIBUTE_TRASH_ITEM_COUNT: 872 * 873 * A key in the "trash" namespace. When requested against 874 * `trash:///` returns the number of (toplevel) items in the trash folder. 875 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32. 876 **/ 877 #define G_FILE_ATTRIBUTE_TRASH_ITEM_COUNT "trash::item-count" /* uint32 */ 878 879 /** 880 * G_FILE_ATTRIBUTE_TRASH_ORIG_PATH: 881 * 882 * A key in the "trash" namespace. When requested against 883 * items in `trash:///`, will return the original path to the file before it 884 * was trashed. Corresponding #GFileAttributeType is 885 * %G_FILE_ATTRIBUTE_TYPE_BYTE_STRING. 886 * 887 * Since: 2.24 888 **/ 889 #define G_FILE_ATTRIBUTE_TRASH_ORIG_PATH "trash::orig-path" /* byte string */ 890 891 /** 892 * G_FILE_ATTRIBUTE_TRASH_DELETION_DATE: 893 * 894 * A key in the "trash" namespace. When requested against 895 * items in `trash:///`, will return the date and time when the file 896 * was trashed. The format of the returned string is YYYY-MM-DDThh:mm:ss. 897 * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. 898 * 899 * Since: 2.24 900 **/ 901 #define G_FILE_ATTRIBUTE_TRASH_DELETION_DATE "trash::deletion-date" /* string */ 902 903 /** 904 * G_FILE_ATTRIBUTE_RECENT_MODIFIED: 905 * 906 * A key in the "recent" namespace for getting time, when the metadata for the 907 * file in `recent:///` was last changed. Corresponding #GFileAttributeType is 908 * %G_FILE_ATTRIBUTE_TYPE_INT64. 909 * 910 * Since: 2.52 911 **/ 912 #define G_FILE_ATTRIBUTE_RECENT_MODIFIED "recent::modified" /* int64 (time_t) */ 913 914 GLIB_AVAILABLE_IN_ALL 915 GType g_file_info_get_type (void) G_GNUC_CONST; 916 917 GLIB_AVAILABLE_IN_ALL 918 GFileInfo * g_file_info_new (void); 919 GLIB_AVAILABLE_IN_ALL 920 GFileInfo * g_file_info_dup (GFileInfo *other); 921 GLIB_AVAILABLE_IN_ALL 922 void g_file_info_copy_into (GFileInfo *src_info, 923 GFileInfo *dest_info); 924 GLIB_AVAILABLE_IN_ALL 925 gboolean g_file_info_has_attribute (GFileInfo *info, 926 const char *attribute); 927 GLIB_AVAILABLE_IN_ALL 928 gboolean g_file_info_has_namespace (GFileInfo *info, 929 const char *name_space); 930 GLIB_AVAILABLE_IN_ALL 931 char ** g_file_info_list_attributes (GFileInfo *info, 932 const char *name_space); 933 GLIB_AVAILABLE_IN_ALL 934 gboolean g_file_info_get_attribute_data (GFileInfo *info, 935 const char *attribute, 936 GFileAttributeType *type, 937 gpointer *value_pp, 938 GFileAttributeStatus *status); 939 GLIB_AVAILABLE_IN_ALL 940 GFileAttributeType g_file_info_get_attribute_type (GFileInfo *info, 941 const char *attribute); 942 GLIB_AVAILABLE_IN_ALL 943 void g_file_info_remove_attribute (GFileInfo *info, 944 const char *attribute); 945 GLIB_AVAILABLE_IN_ALL 946 GFileAttributeStatus g_file_info_get_attribute_status (GFileInfo *info, 947 const char *attribute); 948 GLIB_AVAILABLE_IN_ALL 949 gboolean g_file_info_set_attribute_status (GFileInfo *info, 950 const char *attribute, 951 GFileAttributeStatus status); 952 GLIB_AVAILABLE_IN_ALL 953 char * g_file_info_get_attribute_as_string (GFileInfo *info, 954 const char *attribute); 955 GLIB_AVAILABLE_IN_ALL 956 const char * g_file_info_get_attribute_string (GFileInfo *info, 957 const char *attribute); 958 GLIB_AVAILABLE_IN_ALL 959 const char * g_file_info_get_attribute_byte_string (GFileInfo *info, 960 const char *attribute); 961 GLIB_AVAILABLE_IN_ALL 962 gboolean g_file_info_get_attribute_boolean (GFileInfo *info, 963 const char *attribute); 964 GLIB_AVAILABLE_IN_ALL 965 guint32 g_file_info_get_attribute_uint32 (GFileInfo *info, 966 const char *attribute); 967 GLIB_AVAILABLE_IN_ALL 968 gint32 g_file_info_get_attribute_int32 (GFileInfo *info, 969 const char *attribute); 970 GLIB_AVAILABLE_IN_ALL 971 guint64 g_file_info_get_attribute_uint64 (GFileInfo *info, 972 const char *attribute); 973 GLIB_AVAILABLE_IN_ALL 974 gint64 g_file_info_get_attribute_int64 (GFileInfo *info, 975 const char *attribute); 976 GLIB_AVAILABLE_IN_ALL 977 GObject * g_file_info_get_attribute_object (GFileInfo *info, 978 const char *attribute); 979 GLIB_AVAILABLE_IN_ALL 980 char ** g_file_info_get_attribute_stringv (GFileInfo *info, 981 const char *attribute); 982 983 GLIB_AVAILABLE_IN_ALL 984 void g_file_info_set_attribute (GFileInfo *info, 985 const char *attribute, 986 GFileAttributeType type, 987 gpointer value_p); 988 GLIB_AVAILABLE_IN_ALL 989 void g_file_info_set_attribute_string (GFileInfo *info, 990 const char *attribute, 991 const char *attr_value); 992 GLIB_AVAILABLE_IN_ALL 993 void g_file_info_set_attribute_byte_string (GFileInfo *info, 994 const char *attribute, 995 const char *attr_value); 996 GLIB_AVAILABLE_IN_ALL 997 void g_file_info_set_attribute_boolean (GFileInfo *info, 998 const char *attribute, 999 gboolean attr_value); 1000 GLIB_AVAILABLE_IN_ALL 1001 void g_file_info_set_attribute_uint32 (GFileInfo *info, 1002 const char *attribute, 1003 guint32 attr_value); 1004 GLIB_AVAILABLE_IN_ALL 1005 void g_file_info_set_attribute_int32 (GFileInfo *info, 1006 const char *attribute, 1007 gint32 attr_value); 1008 GLIB_AVAILABLE_IN_ALL 1009 void g_file_info_set_attribute_uint64 (GFileInfo *info, 1010 const char *attribute, 1011 guint64 attr_value); 1012 GLIB_AVAILABLE_IN_ALL 1013 void g_file_info_set_attribute_int64 (GFileInfo *info, 1014 const char *attribute, 1015 gint64 attr_value); 1016 GLIB_AVAILABLE_IN_ALL 1017 void g_file_info_set_attribute_object (GFileInfo *info, 1018 const char *attribute, 1019 GObject *attr_value); 1020 GLIB_AVAILABLE_IN_ALL 1021 void g_file_info_set_attribute_stringv (GFileInfo *info, 1022 const char *attribute, 1023 char **attr_value); 1024 1025 GLIB_AVAILABLE_IN_ALL 1026 void g_file_info_clear_status (GFileInfo *info); 1027 1028 /* Helper getters: */ 1029 GLIB_AVAILABLE_IN_2_36 1030 GDateTime * g_file_info_get_deletion_date (GFileInfo *info); 1031 GLIB_AVAILABLE_IN_ALL 1032 GFileType g_file_info_get_file_type (GFileInfo *info); 1033 GLIB_AVAILABLE_IN_ALL 1034 gboolean g_file_info_get_is_hidden (GFileInfo *info); 1035 GLIB_AVAILABLE_IN_ALL 1036 gboolean g_file_info_get_is_backup (GFileInfo *info); 1037 GLIB_AVAILABLE_IN_ALL 1038 gboolean g_file_info_get_is_symlink (GFileInfo *info); 1039 GLIB_AVAILABLE_IN_ALL 1040 const char * g_file_info_get_name (GFileInfo *info); 1041 GLIB_AVAILABLE_IN_ALL 1042 const char * g_file_info_get_display_name (GFileInfo *info); 1043 GLIB_AVAILABLE_IN_ALL 1044 const char * g_file_info_get_edit_name (GFileInfo *info); 1045 GLIB_AVAILABLE_IN_ALL 1046 GIcon * g_file_info_get_icon (GFileInfo *info); 1047 GLIB_AVAILABLE_IN_ALL 1048 GIcon * g_file_info_get_symbolic_icon (GFileInfo *info); 1049 GLIB_AVAILABLE_IN_ALL 1050 const char * g_file_info_get_content_type (GFileInfo *info); 1051 GLIB_AVAILABLE_IN_ALL 1052 goffset g_file_info_get_size (GFileInfo *info); 1053 G_GNUC_BEGIN_IGNORE_DEPRECATIONS 1054 GLIB_DEPRECATED_IN_2_62_FOR(g_file_info_get_modification_date_time) 1055 void g_file_info_get_modification_time (GFileInfo *info, 1056 GTimeVal *result); 1057 G_GNUC_END_IGNORE_DEPRECATIONS 1058 GLIB_AVAILABLE_IN_2_62 1059 GDateTime * g_file_info_get_modification_date_time (GFileInfo *info); 1060 GLIB_AVAILABLE_IN_ALL 1061 const char * g_file_info_get_symlink_target (GFileInfo *info); 1062 GLIB_AVAILABLE_IN_ALL 1063 const char * g_file_info_get_etag (GFileInfo *info); 1064 GLIB_AVAILABLE_IN_ALL 1065 gint32 g_file_info_get_sort_order (GFileInfo *info); 1066 1067 GLIB_AVAILABLE_IN_ALL 1068 void g_file_info_set_attribute_mask (GFileInfo *info, 1069 GFileAttributeMatcher *mask); 1070 GLIB_AVAILABLE_IN_ALL 1071 void g_file_info_unset_attribute_mask (GFileInfo *info); 1072 1073 /* Helper setters: */ 1074 GLIB_AVAILABLE_IN_ALL 1075 void g_file_info_set_file_type (GFileInfo *info, 1076 GFileType type); 1077 GLIB_AVAILABLE_IN_ALL 1078 void g_file_info_set_is_hidden (GFileInfo *info, 1079 gboolean is_hidden); 1080 GLIB_AVAILABLE_IN_ALL 1081 void g_file_info_set_is_symlink (GFileInfo *info, 1082 gboolean is_symlink); 1083 GLIB_AVAILABLE_IN_ALL 1084 void g_file_info_set_name (GFileInfo *info, 1085 const char *name); 1086 GLIB_AVAILABLE_IN_ALL 1087 void g_file_info_set_display_name (GFileInfo *info, 1088 const char *display_name); 1089 GLIB_AVAILABLE_IN_ALL 1090 void g_file_info_set_edit_name (GFileInfo *info, 1091 const char *edit_name); 1092 GLIB_AVAILABLE_IN_ALL 1093 void g_file_info_set_icon (GFileInfo *info, 1094 GIcon *icon); 1095 GLIB_AVAILABLE_IN_ALL 1096 void g_file_info_set_symbolic_icon (GFileInfo *info, 1097 GIcon *icon); 1098 GLIB_AVAILABLE_IN_ALL 1099 void g_file_info_set_content_type (GFileInfo *info, 1100 const char *content_type); 1101 GLIB_AVAILABLE_IN_ALL 1102 void g_file_info_set_size (GFileInfo *info, 1103 goffset size); 1104 G_GNUC_BEGIN_IGNORE_DEPRECATIONS 1105 GLIB_DEPRECATED_IN_2_62_FOR(g_file_info_set_modification_date_time) 1106 void g_file_info_set_modification_time (GFileInfo *info, 1107 GTimeVal *mtime); 1108 G_GNUC_END_IGNORE_DEPRECATIONS 1109 GLIB_AVAILABLE_IN_2_62 1110 void g_file_info_set_modification_date_time (GFileInfo *info, 1111 GDateTime *mtime); 1112 GLIB_AVAILABLE_IN_ALL 1113 void g_file_info_set_symlink_target (GFileInfo *info, 1114 const char *symlink_target); 1115 GLIB_AVAILABLE_IN_ALL 1116 void g_file_info_set_sort_order (GFileInfo *info, 1117 gint32 sort_order); 1118 1119 #define G_TYPE_FILE_ATTRIBUTE_MATCHER (g_file_attribute_matcher_get_type ()) 1120 GLIB_AVAILABLE_IN_ALL 1121 GType g_file_attribute_matcher_get_type (void) G_GNUC_CONST; 1122 1123 GLIB_AVAILABLE_IN_ALL 1124 GFileAttributeMatcher *g_file_attribute_matcher_new (const char *attributes); 1125 GLIB_AVAILABLE_IN_ALL 1126 GFileAttributeMatcher *g_file_attribute_matcher_ref (GFileAttributeMatcher *matcher); 1127 GLIB_AVAILABLE_IN_ALL 1128 void g_file_attribute_matcher_unref (GFileAttributeMatcher *matcher); 1129 GLIB_AVAILABLE_IN_ALL 1130 GFileAttributeMatcher *g_file_attribute_matcher_subtract (GFileAttributeMatcher *matcher, 1131 GFileAttributeMatcher *subtract); 1132 GLIB_AVAILABLE_IN_ALL 1133 gboolean g_file_attribute_matcher_matches (GFileAttributeMatcher *matcher, 1134 const char *attribute); 1135 GLIB_AVAILABLE_IN_ALL 1136 gboolean g_file_attribute_matcher_matches_only (GFileAttributeMatcher *matcher, 1137 const char *attribute); 1138 GLIB_AVAILABLE_IN_ALL 1139 gboolean g_file_attribute_matcher_enumerate_namespace (GFileAttributeMatcher *matcher, 1140 const char *ns); 1141 GLIB_AVAILABLE_IN_ALL 1142 const char * g_file_attribute_matcher_enumerate_next (GFileAttributeMatcher *matcher); 1143 GLIB_AVAILABLE_IN_2_32 1144 char * g_file_attribute_matcher_to_string (GFileAttributeMatcher *matcher); 1145 1146 G_END_DECLS 1147 1148 #endif /* __G_FILE_INFO_H__ */ 1149