Merge remote branch 'gvdb/master'
[platform/upstream/glib.git] / gio / gfileinfo-priv.h
1 /* GIO - GLib Input, Output and Streaming Library
2  * 
3  * Copyright (C) 2006-2007 Red Hat, Inc.
4  *               2009 Benjamin Otte
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General
17  * Public License along with this library; if not, write to the
18  * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
19  * Boston, MA 02111-1307, USA.
20  *
21  * Author: Benjamin Otte <otte@gnome.org>
22  */
23
24 #ifndef __G_FILE_INFO_PRIV_H__
25 #define __G_FILE_INFO_PRIV_H__
26
27 #include "gfileinfo.h"
28
29 #define G_FILE_ATTRIBUTE_ID_STANDARD_TYPE (1048576 + 1)
30 #define G_FILE_ATTRIBUTE_ID_STANDARD_IS_HIDDEN (1048576 + 2)
31 #define G_FILE_ATTRIBUTE_ID_STANDARD_IS_BACKUP (1048576 + 3)
32 #define G_FILE_ATTRIBUTE_ID_STANDARD_IS_SYMLINK (1048576 + 4)
33 #define G_FILE_ATTRIBUTE_ID_STANDARD_IS_VIRTUAL (1048576 + 5)
34 #define G_FILE_ATTRIBUTE_ID_STANDARD_NAME (1048576 + 6)
35 #define G_FILE_ATTRIBUTE_ID_STANDARD_DISPLAY_NAME (1048576 + 7)
36 #define G_FILE_ATTRIBUTE_ID_STANDARD_EDIT_NAME (1048576 + 8)
37 #define G_FILE_ATTRIBUTE_ID_STANDARD_COPY_NAME (1048576 + 9)
38 #define G_FILE_ATTRIBUTE_ID_STANDARD_DESCRIPTION (1048576 + 10)
39 #define G_FILE_ATTRIBUTE_ID_STANDARD_ICON (1048576 + 11)
40 #define G_FILE_ATTRIBUTE_ID_STANDARD_CONTENT_TYPE (1048576 + 12)
41 #define G_FILE_ATTRIBUTE_ID_STANDARD_FAST_CONTENT_TYPE (1048576 + 13)
42 #define G_FILE_ATTRIBUTE_ID_STANDARD_SIZE (1048576 + 14)
43 #define G_FILE_ATTRIBUTE_ID_STANDARD_ALLOCATED_SIZE (1048576 + 15)
44 #define G_FILE_ATTRIBUTE_ID_STANDARD_SYMLINK_TARGET (1048576 + 16)
45 #define G_FILE_ATTRIBUTE_ID_STANDARD_TARGET_URI (1048576 + 17)
46 #define G_FILE_ATTRIBUTE_ID_STANDARD_SORT_ORDER (1048576 + 18)
47 #define G_FILE_ATTRIBUTE_ID_ETAG_VALUE (2097152 + 1)
48 #define G_FILE_ATTRIBUTE_ID_ID_FILE (3145728 + 1)
49 #define G_FILE_ATTRIBUTE_ID_ID_FILESYSTEM (3145728 + 2)
50 #define G_FILE_ATTRIBUTE_ID_ACCESS_CAN_READ (4194304 + 1)
51 #define G_FILE_ATTRIBUTE_ID_ACCESS_CAN_WRITE (4194304 + 2)
52 #define G_FILE_ATTRIBUTE_ID_ACCESS_CAN_EXECUTE (4194304 + 3)
53 #define G_FILE_ATTRIBUTE_ID_ACCESS_CAN_DELETE (4194304 + 4)
54 #define G_FILE_ATTRIBUTE_ID_ACCESS_CAN_TRASH (4194304 + 5)
55 #define G_FILE_ATTRIBUTE_ID_ACCESS_CAN_RENAME (4194304 + 6)
56 #define G_FILE_ATTRIBUTE_ID_MOUNTABLE_CAN_MOUNT (5242880 + 1)
57 #define G_FILE_ATTRIBUTE_ID_MOUNTABLE_CAN_UNMOUNT (5242880 + 2)
58 #define G_FILE_ATTRIBUTE_ID_MOUNTABLE_CAN_EJECT (5242880 + 3)
59 #define G_FILE_ATTRIBUTE_ID_MOUNTABLE_UNIX_DEVICE (5242880 + 4)
60 #define G_FILE_ATTRIBUTE_ID_MOUNTABLE_UNIX_DEVICE_FILE (5242880 + 5)
61 #define G_FILE_ATTRIBUTE_ID_MOUNTABLE_HAL_UDI (5242880 + 6)
62 #define G_FILE_ATTRIBUTE_ID_MOUNTABLE_CAN_START (5242880 + 7)
63 #define G_FILE_ATTRIBUTE_ID_MOUNTABLE_CAN_START_DEGRADED (5242880 + 8)
64 #define G_FILE_ATTRIBUTE_ID_MOUNTABLE_CAN_STOP (5242880 + 9)
65 #define G_FILE_ATTRIBUTE_ID_MOUNTABLE_START_STOP_TYPE (5242880 + 10)
66 #define G_FILE_ATTRIBUTE_ID_MOUNTABLE_CAN_POLL (5242880 + 11)
67 #define G_FILE_ATTRIBUTE_ID_MOUNTABLE_IS_MEDIA_CHECK_AUTOMATIC (5242880 + 12)
68 #define G_FILE_ATTRIBUTE_ID_TIME_MODIFIED (6291456 + 1)
69 #define G_FILE_ATTRIBUTE_ID_TIME_MODIFIED_USEC (6291456 + 2)
70 #define G_FILE_ATTRIBUTE_ID_TIME_ACCESS (6291456 + 3)
71 #define G_FILE_ATTRIBUTE_ID_TIME_ACCESS_USEC (6291456 + 4)
72 #define G_FILE_ATTRIBUTE_ID_TIME_CHANGED (6291456 + 5)
73 #define G_FILE_ATTRIBUTE_ID_TIME_CHANGED_USEC (6291456 + 6)
74 #define G_FILE_ATTRIBUTE_ID_TIME_CREATED (6291456 + 7)
75 #define G_FILE_ATTRIBUTE_ID_TIME_CREATED_USEC (6291456 + 8)
76 #define G_FILE_ATTRIBUTE_ID_UNIX_DEVICE (7340032 + 1)
77 #define G_FILE_ATTRIBUTE_ID_UNIX_INODE (7340032 + 2)
78 #define G_FILE_ATTRIBUTE_ID_UNIX_MODE (7340032 + 3)
79 #define G_FILE_ATTRIBUTE_ID_UNIX_NLINK (7340032 + 4)
80 #define G_FILE_ATTRIBUTE_ID_UNIX_UID (7340032 + 5)
81 #define G_FILE_ATTRIBUTE_ID_UNIX_GID (7340032 + 6)
82 #define G_FILE_ATTRIBUTE_ID_UNIX_RDEV (7340032 + 7)
83 #define G_FILE_ATTRIBUTE_ID_UNIX_BLOCK_SIZE (7340032 + 8)
84 #define G_FILE_ATTRIBUTE_ID_UNIX_BLOCKS (7340032 + 9)
85 #define G_FILE_ATTRIBUTE_ID_UNIX_IS_MOUNTPOINT (7340032 + 10)
86 #define G_FILE_ATTRIBUTE_ID_DOS_IS_ARCHIVE (8388608 + 1)
87 #define G_FILE_ATTRIBUTE_ID_DOS_IS_SYSTEM (8388608 + 2)
88 #define G_FILE_ATTRIBUTE_ID_OWNER_USER (9437184 + 1)
89 #define G_FILE_ATTRIBUTE_ID_OWNER_USER_REAL (9437184 + 2)
90 #define G_FILE_ATTRIBUTE_ID_OWNER_GROUP (9437184 + 3)
91 #define G_FILE_ATTRIBUTE_ID_THUMBNAIL_PATH (10485760 + 1)
92 #define G_FILE_ATTRIBUTE_ID_THUMBNAILING_FAILED (10485760 + 2)
93 #define G_FILE_ATTRIBUTE_ID_PREVIEW_ICON (11534336 + 1)
94 #define G_FILE_ATTRIBUTE_ID_FILESYSTEM_SIZE (12582912 + 1)
95 #define G_FILE_ATTRIBUTE_ID_FILESYSTEM_FREE (12582912 + 2)
96 #define G_FILE_ATTRIBUTE_ID_FILESYSTEM_TYPE (12582912 + 3)
97 #define G_FILE_ATTRIBUTE_ID_FILESYSTEM_READONLY (12582912 + 4)
98 #define G_FILE_ATTRIBUTE_ID_FILESYSTEM_USE_PREVIEW (12582912 + 5)
99 #define G_FILE_ATTRIBUTE_ID_GVFS_BACKEND (13631488 + 1)
100 #define G_FILE_ATTRIBUTE_ID_SELINUX_CONTEXT (14680064 + 1)
101 #define G_FILE_ATTRIBUTE_ID_TRASH_ITEM_COUNT (15728640 + 1)
102 #define G_FILE_ATTRIBUTE_ID_TRASH_ORIG_PATH (15728640 + 2)
103 #define G_FILE_ATTRIBUTE_ID_TRASH_DELETION_DATE (15728640 + 3)
104
105 gboolean           _g_file_attribute_matcher_matches_id         (GFileAttributeMatcher *matcher,
106                                                                  guint32                id);
107
108 void               _g_file_info_set_attribute_by_id             (GFileInfo             *info,
109                                                                  guint32                attribute,
110                                                                  GFileAttributeType     type,
111                                                                  gpointer               value_p);
112 void               _g_file_info_set_attribute_string_by_id      (GFileInfo             *info,
113                                                                  guint32                attribute,
114                                                                  const char            *attr_value);
115 void               _g_file_info_set_attribute_byte_string_by_id (GFileInfo             *info,
116                                                                  guint32                attribute,
117                                                                  const char            *attr_value);
118 void               _g_file_info_set_attribute_boolean_by_id     (GFileInfo             *info,
119                                                                  guint32                attribute,
120                                                                  gboolean               attr_value);
121 void               _g_file_info_set_attribute_uint32_by_id      (GFileInfo             *info,
122                                                                  guint32                attribute,
123                                                                  guint32                attr_value);
124 void               _g_file_info_set_attribute_int32_by_id       (GFileInfo             *info,
125                                                                  guint32                attribute,
126                                                                  gint32                 attr_value);
127 void               _g_file_info_set_attribute_uint64_by_id      (GFileInfo             *info,
128                                                                  guint32                attribute,
129                                                                  guint64                attr_value);
130 void               _g_file_info_set_attribute_int64_by_id       (GFileInfo             *info,
131                                                                  guint32                attribute,
132                                                                  gint64                 attr_value);
133 void               _g_file_info_set_attribute_object_by_id      (GFileInfo             *info,
134                                                                  guint32                attribute,
135                                                                  GObject               *attr_value);
136 void               _g_file_info_set_attribute_stringv_by_id     (GFileInfo             *info,
137                                                                  guint32                attribute,
138                                                                  char                 **attr_value);
139
140
141 #endif /* __G_FILE_INFO_PRIV_H__ */