gfileinfo.h 40 KB

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