gfileinfo.h 52 KB

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