Add g_file_info_has_namespace
[platform/upstream/glib.git] / gio / gfileinfo.h
index a7a75b9..330e996 100644 (file)
@@ -129,7 +129,7 @@ typedef struct _GFileInfoClass   GFileInfoClass;
  * G_FILE_ATTRIBUTE_STANDARD_COPY_NAME:
  *
  * A key in the "standard" namespace for getting the copy name of the file.
- * The copy name is an optional version of the name. If availible its always
+ * The copy name is an optional version of the name. If available it's always
  * in UTF8, and corresponds directly to the original filename (only transcoded to
  * UTF8). This is useful if you want to copy the file to another filesystem that
  * might have a different encoding. If the filename is not a valid string in the
@@ -192,6 +192,18 @@ typedef struct _GFileInfoClass   GFileInfoClass;
 #define G_FILE_ATTRIBUTE_STANDARD_SIZE "standard::size"                     /* uint64 */
 
 /**
+ * G_FILE_ATTRIBUTE_ALLOCATED_SIZE:
+ *
+ * A key in the "standard" namespace for getting the amount of disk space
+ * that is consumed by the file (in bytes).  This will generally be larger
+ * than the file size (due to block size overhead) but can occasionally be
+ * smaller (for example, for sparse files).
+ *
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64.
+ **/
+#define G_FILE_ATTRIBUTE_STANDARD_ALLOCATED_SIZE "standard::allocated-size" /* uint64 */
+
+/**
  * G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET:
  *
  * A key in the "standard" namespace for getting the symlink target, if the file
@@ -358,6 +370,37 @@ typedef struct _GFileInfoClass   GFileInfoClass;
  **/
 #define G_FILE_ATTRIBUTE_MOUNTABLE_HAL_UDI "mountable::hal-udi"         /* string */
 
+/**
+ * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_START:
+ *
+ * A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE) can be started.
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
+ *
+ * Since: 2.22
+ */
+#define G_FILE_ATTRIBUTE_MOUNTABLE_CAN_START "mountable::can-start"     /* boolean */
+
+/**
+ * G_FILE_ATTRIBUTE_MOUNTABLE_CAN_STOP:
+ *
+ * A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE) can be stopped.
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
+ *
+ * Since: 2.22
+ */
+#define G_FILE_ATTRIBUTE_MOUNTABLE_CAN_STOP "mountable::can-stop"      /* boolean */
+
+/**
+ * G_FILE_ATTRIBUTE_MOUNTABLE_START_STOP_TYPE:
+ *
+ * A key in the "mountable" namespace for getting the #GDriveStartStopType.
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
+ *
+ * Since: 2.22
+ */
+#define G_FILE_ATTRIBUTE_MOUNTABLE_START_STOP_TYPE "mountable::start-stop-type" /* uint32 (GDriveStartStopType) */
+
+
 /* Time attributes */
 
 /**
@@ -608,6 +651,21 @@ typedef struct _GFileInfoClass   GFileInfoClass;
  **/
 #define G_FILE_ATTRIBUTE_THUMBNAILING_FAILED "thumbnail::failed"         /* boolean */
 
+/* Preview */
+
+/**
+ * G_FILE_ATTRIBUTE_PREVIEW_ICON:
+ *
+ * A key in the "preview" namespace for getting a #GIcon that can be
+ * used to get preview of the file. For example, it may be a low
+ * resolution thumbnail without metadata. Corresponding
+ * #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_OBJECT.  The value
+ * for this key should contain a #GIcon.
+ *
+ * Since: 2.20
+ **/
+#define G_FILE_ATTRIBUTE_PREVIEW_ICON "preview::icon"         /* object (GIcon) */
+
 /* File system info (for g_file_get_filesystem_info) */
 
 /**
@@ -691,6 +749,8 @@ void               g_file_info_copy_into                 (GFileInfo  *src_info,
                                                          GFileInfo  *dest_info);
 gboolean           g_file_info_has_attribute             (GFileInfo  *info,
                                                          const char *attribute);
+gboolean           g_file_info_has_namespace             (GFileInfo  *info,
+                                                         const char *name_space);
 char **            g_file_info_list_attributes           (GFileInfo  *info,
                                                          const char *name_space);
 gboolean           g_file_info_get_attribute_data        (GFileInfo  *info,
@@ -722,6 +782,8 @@ gint64             g_file_info_get_attribute_int64       (GFileInfo  *info,
                                                          const char *attribute);
 GObject *          g_file_info_get_attribute_object      (GFileInfo  *info,
                                                          const char *attribute);
+char **            g_file_info_get_attribute_stringv     (GFileInfo  *info,
+                                                         const char *attribute);
 
 void               g_file_info_set_attribute             (GFileInfo  *info,
                                                          const char *attribute,
@@ -751,6 +813,9 @@ void               g_file_info_set_attribute_int64       (GFileInfo  *info,
 void               g_file_info_set_attribute_object      (GFileInfo  *info,
                                                          const char *attribute,
                                                          GObject    *attr_value);
+void               g_file_info_set_attribute_stringv     (GFileInfo  *info,
+                                                         const char *attribute,
+                                                         char      **attr_value);
 
 void               g_file_info_clear_status              (GFileInfo  *info);