gfileinfo.h 43 KB

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