Imported Upstream version 2.28.6
[platform/upstream/pygobject2.git] / docs / reference / pygio-fileinfo.xml
1 <?xml version="1.0" standalone="no"?>
2 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
3     "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
4
5 <refentry id="class-giofileinfo">
6     <refnamediv>
7         <refname>gio.FileInfo</refname>
8         <refpurpose>File Information and Attributes</refpurpose>
9     </refnamediv>
10
11     <refsect1>
12         <title>Synopsis</title>
13
14     <classsynopsis language="python">
15         <ooclass><classname>gio.FileInfo</classname></ooclass>
16         <ooclass><classname><link linkend="class-gobject">gobject.GObject</link></classname></ooclass>
17     
18     <constructorsynopsis language="python">
19     <methodname><link linkend="constructor-giofileinfo">gio.FileInfo</link></methodname>
20         <methodparam></methodparam>
21     </constructorsynopsis>
22
23     <methodsynopsis language="python">
24         <methodname><link linkend="method-giofileinfo--clear-status">clear_status</link></methodname>
25         <methodparam></methodparam>
26     </methodsynopsis>
27     <methodsynopsis language="python">
28         <methodname><link linkend="method-giofileinfo--copy-into">copy_into</link></methodname>
29         <methodparam></methodparam>
30     </methodsynopsis>
31     <methodsynopsis language="python">
32         <methodname><link linkend="method-giofileinfo--dup">dup</link></methodname>
33         <methodparam></methodparam>
34     </methodsynopsis>
35     <methodsynopsis language="python">
36         <methodname><link linkend="method-giofileinfo--get-attribute-as-string">get_attribute_as_string</link></methodname>
37         <methodparam><parameter role="keyword">attribute</parameter></methodparam>
38     </methodsynopsis>
39     <methodsynopsis language="python">
40         <methodname><link linkend="method-giofileinfo--get-attribute-boolean">get_attribute_boolean</link></methodname>
41         <methodparam><parameter role="keyword">attribute</parameter></methodparam>
42     </methodsynopsis>
43     <methodsynopsis language="python">
44         <methodname><link linkend="method-giofileinfo--get-attribute-byte-string">get_attribute_byte_string</link></methodname>
45         <methodparam><parameter role="keyword">attribute</parameter></methodparam>
46     </methodsynopsis>
47     <methodsynopsis language="python">
48         <methodname><link linkend="method-giofileinfo--get-attribute-data">get_attribute_data</link></methodname>
49         <methodparam><parameter role="keyword">attribute</parameter></methodparam>
50     </methodsynopsis>
51     <methodsynopsis language="python">
52         <methodname><link linkend="method-giofileinfo--get-attribute-int32">get_attribute_int32</link></methodname>
53         <methodparam><parameter role="keyword">attribute</parameter></methodparam>
54     </methodsynopsis>
55     <methodsynopsis language="python">
56         <methodname><link linkend="method-giofileinfo--get-attribute-int64">get_attribute_int64</link></methodname>
57         <methodparam><parameter role="keyword">attribute</parameter></methodparam>
58     </methodsynopsis>
59     <methodsynopsis language="python">
60         <methodname><link linkend="method-giofileinfo--get-attribute-object">get_attribute_object</link></methodname>
61         <methodparam><parameter role="keyword">attribute</parameter></methodparam>
62     </methodsynopsis>
63     <methodsynopsis language="python">
64         <methodname><link linkend="method-giofileinfo--get-attribute-status">get_attribute_status</link></methodname>
65         <methodparam><parameter role="keyword">attribute</parameter></methodparam>
66     </methodsynopsis>
67     <methodsynopsis language="python">
68         <methodname><link linkend="method-giofileinfo--get-attribute-string">get_attribute_string</link></methodname>
69         <methodparam><parameter role="keyword">attribute</parameter></methodparam>
70     </methodsynopsis>
71     <methodsynopsis language="python">
72         <methodname><link linkend="method-giofileinfo--get-attribute-type">get_attribute_type</link></methodname>
73         <methodparam><parameter role="keyword">attribute</parameter></methodparam>
74     </methodsynopsis>
75     <methodsynopsis language="python">
76         <methodname><link linkend="method-giofileinfo--get-attribute-uint32">get_attribute_uint32</link></methodname>
77         <methodparam><parameter role="keyword">attribute</parameter></methodparam>
78     </methodsynopsis>
79     <methodsynopsis language="python">
80         <methodname><link linkend="method-giofileinfo--get-attribute-uint64">get_attribute_uint64</link></methodname>
81         <methodparam><parameter role="keyword">attribute</parameter></methodparam>
82     </methodsynopsis>
83     <methodsynopsis language="python">
84         <methodname><link linkend="method-giofileinfo--get-content-type">get_content_type</link></methodname>
85         <methodparam></methodparam>
86     </methodsynopsis>
87     <methodsynopsis language="python">
88         <methodname><link linkend="method-giofileinfo--get-display-name">get_display_name</link></methodname>
89         <methodparam></methodparam>
90     </methodsynopsis>
91     <methodsynopsis language="python">
92         <methodname><link linkend="method-giofileinfo--get-edit-name">get_edit_name</link></methodname>
93         <methodparam></methodparam>
94     </methodsynopsis>
95     <methodsynopsis language="python">
96         <methodname><link linkend="method-giofileinfo--get-etag">get_etag</link></methodname>
97         <methodparam></methodparam>
98     </methodsynopsis>
99     <methodsynopsis language="python">
100         <methodname><link linkend="method-giofileinfo--get-file-type">get_file_type</link></methodname>
101         <methodparam></methodparam>
102     </methodsynopsis>
103     <methodsynopsis language="python">
104         <methodname><link linkend="method-giofileinfo--get-icon">get_icon</link></methodname>
105         <methodparam></methodparam>
106     </methodsynopsis>
107     <methodsynopsis language="python">
108         <methodname><link linkend="method-giofileinfo--get-is-backup">get_is_backup</link></methodname>
109         <methodparam></methodparam>
110     </methodsynopsis>
111     <methodsynopsis language="python">
112         <methodname><link linkend="method-giofileinfo--get-is-hidden">get_is_hidden</link></methodname>
113         <methodparam></methodparam>
114     </methodsynopsis>
115     <methodsynopsis language="python">
116         <methodname><link linkend="method-giofileinfo--get-is-symlink">get_is_symlink</link></methodname>
117         <methodparam></methodparam>
118     </methodsynopsis>
119     <methodsynopsis language="python">
120         <methodname><link linkend="method-giofileinfo--get-modification-time">get_modification_time</link></methodname>
121         <methodparam></methodparam>
122     </methodsynopsis>
123     <methodsynopsis language="python">
124         <methodname><link linkend="method-giofileinfo--get-name">get_name</link></methodname>
125         <methodparam></methodparam>
126     </methodsynopsis>
127     <methodsynopsis language="python">
128         <methodname><link linkend="method-giofileinfo--get-size">get_size</link></methodname>
129         <methodparam></methodparam>
130     </methodsynopsis>
131     <methodsynopsis language="python">
132         <methodname><link linkend="method-giofileinfo--get-sort-order">get_sort_order</link></methodname>
133         <methodparam></methodparam>
134     </methodsynopsis>
135     <methodsynopsis language="python">
136         <methodname><link linkend="method-giofileinfo--get-symlink-target">get_symlink_target</link></methodname>
137         <methodparam></methodparam>
138     </methodsynopsis>
139     <methodsynopsis language="python">
140         <methodname><link linkend="method-giofileinfo--has-attribute">has_attribute</link></methodname>
141         <methodparam><parameter role="keyword">attribute</parameter></methodparam>
142     </methodsynopsis>
143     <methodsynopsis language="python">
144         <methodname><link linkend="method-giofileinfo--list-attributes">list_attributes</link></methodname>
145         <methodparam><parameter role="keyword">name_space</parameter></methodparam>
146     </methodsynopsis>
147     <methodsynopsis language="python">
148         <methodname><link linkend="method-giofileinfo--remove-attribute">remove_attribute</link></methodname>
149         <methodparam><parameter role="keyword">attribute</parameter></methodparam>
150     </methodsynopsis>
151     <methodsynopsis language="python">
152         <methodname><link linkend="method-giofileinfo--set-attribute">set_attribute</link></methodname>
153         <methodparam><parameter role="keyword">attribute</parameter></methodparam>
154         <methodparam><parameter role="keyword">type</parameter></methodparam>
155         <methodparam><parameter role="keyword">value_p</parameter></methodparam>
156     </methodsynopsis>
157     <methodsynopsis language="python">
158         <methodname><link linkend="method-giofileinfo--set-attribute-boolean">set_attribute_boolean</link></methodname>
159         <methodparam><parameter role="keyword">attribute</parameter></methodparam>
160         <methodparam><parameter role="keyword">attr_value</parameter></methodparam>
161     </methodsynopsis>
162     <methodsynopsis language="python">
163         <methodname><link linkend="method-giofileinfo--set-attribute-byte-string">set_attribute_byte_string</link></methodname>
164         <methodparam><parameter role="keyword">attribute</parameter></methodparam>
165         <methodparam><parameter role="keyword">attr_value</parameter></methodparam>
166     </methodsynopsis>
167     <methodsynopsis language="python">
168         <methodname><link linkend="method-giofileinfo--set-attribute-data">set_attribute_data</link></methodname>
169         <methodparam><parameter role="keyword">attribute</parameter></methodparam>
170         <methodparam><parameter role="keyword">attr_value</parameter></methodparam>
171     </methodsynopsis>
172     <methodsynopsis language="python">
173         <methodname><link linkend="method-giofileinfo--set-attribute-int32">set_attribute_int32</link></methodname>
174         <methodparam><parameter role="keyword">attribute</parameter></methodparam>
175         <methodparam><parameter role="keyword">attr_value</parameter></methodparam>
176     </methodsynopsis>
177     <methodsynopsis language="python">
178         <methodname><link linkend="method-giofileinfo--set-attribute-int64">set_attribute_int64</link></methodname>
179         <methodparam><parameter role="keyword">attribute</parameter></methodparam>
180         <methodparam><parameter role="keyword">attr_value</parameter></methodparam>
181     </methodsynopsis>
182     <methodsynopsis language="python">
183         <methodname><link linkend="method-giofileinfo--set-attribute-int64">set_attribute_mask</link></methodname>
184         <methodparam><parameter role="keyword">mask</parameter></methodparam>
185     </methodsynopsis>
186     <methodsynopsis language="python">
187         <methodname><link linkend="method-giofileinfo--set-attribute-object">set_attribute_object</link></methodname>
188         <methodparam><parameter role="keyword">attribute</parameter></methodparam>
189         <methodparam><parameter role="keyword">attr_value</parameter></methodparam>
190     </methodsynopsis>
191     <methodsynopsis language="python">
192         <methodname><link linkend="method-giofileinfo--set-attribute-status">set_attribute_status</link></methodname>
193         <methodparam><parameter role="keyword">attribute</parameter></methodparam>
194         <methodparam><parameter role="keyword">attr_value</parameter></methodparam>
195     </methodsynopsis>
196     <methodsynopsis language="python">
197         <methodname><link linkend="method-giofileinfo--set-attribute-string">set_attribute_string</link></methodname>
198         <methodparam><parameter role="keyword">attribute</parameter></methodparam>
199         <methodparam><parameter role="keyword">attr_value</parameter></methodparam>
200     </methodsynopsis>
201     <methodsynopsis language="python">
202         <methodname><link linkend="method-giofileinfo--set-attribute-uint32">set_attribute_uint32</link></methodname>
203         <methodparam><parameter role="keyword">attribute</parameter></methodparam>
204     </methodsynopsis>
205     <methodsynopsis language="python">
206         <methodname><link linkend="method-giofileinfo--set-attribute-uint64">set_attribute_uint64</link></methodname>
207         <methodparam><parameter role="keyword">attribute</parameter></methodparam>
208     </methodsynopsis>
209     <methodsynopsis language="python">
210         <methodname><link linkend="method-giofileinfo--set-content-type">set_content_type</link></methodname>
211         <methodparam><parameter role="keyword">content_type</parameter></methodparam>
212     </methodsynopsis>
213     <methodsynopsis language="python">
214         <methodname><link linkend="method-giofileinfo--set-display-name">set_display_name</link></methodname>
215         <methodparam><parameter role="keyword">display_name</parameter></methodparam>
216     </methodsynopsis>
217     <methodsynopsis language="python">
218         <methodname><link linkend="method-giofileinfo--set-edit-name">set_edit_name</link></methodname>
219         <methodparam><parameter role="keyword">edit_name</parameter></methodparam>
220     </methodsynopsis>
221     <methodsynopsis language="python">
222         <methodname><link linkend="method-giofileinfo--set-file-type">set_file_type</link></methodname>
223         <methodparam><parameter role="keyword">type</parameter></methodparam>
224     </methodsynopsis>
225     <methodsynopsis language="python">
226         <methodname><link linkend="method-giofileinfo--set-icon">set_icon</link></methodname>
227         <methodparam><parameter role="keyword">icon</parameter></methodparam>
228     </methodsynopsis>
229     <methodsynopsis language="python">
230         <methodname><link linkend="method-giofileinfo--set-is-hidden">set_is_hidden</link></methodname>
231         <methodparam><parameter role="keyword">is_hidden</parameter></methodparam>
232     </methodsynopsis>
233     <methodsynopsis language="python">
234         <methodname><link linkend="method-giofileinfo--set-is-symlink">set_is_symlink</link></methodname>
235         <methodparam><parameter role="keyword">is_symlink</parameter></methodparam>
236     </methodsynopsis>
237     <methodsynopsis language="python">
238         <methodname><link linkend="method-giofileinfo--set-modification-time">set_modification_time</link></methodname>
239         <methodparam><parameter role="keyword">mtime</parameter></methodparam>
240     </methodsynopsis>
241     <methodsynopsis language="python">
242         <methodname><link linkend="method-giofileinfo--set-name">set_name</link></methodname>
243         <methodparam><parameter role="keyword">name</parameter></methodparam>
244     </methodsynopsis>
245     <methodsynopsis language="python">
246         <methodname><link linkend="method-giofileinfo--set-size">set_size</link></methodname>
247         <methodparam><parameter role="keyword">size</parameter></methodparam>
248     </methodsynopsis>
249     <methodsynopsis language="python">
250         <methodname><link linkend="method-giofileinfo--set-sort-order">set_sort_order</link></methodname>
251         <methodparam><parameter role="keyword">sort_order</parameter></methodparam>
252     </methodsynopsis>
253     <methodsynopsis language="python">
254         <methodname><link linkend="method-giofileinfo--set-symlink-tarset">set_symlink_tarset</link></methodname>
255         <methodparam><parameter role="keyword">symlink_target</parameter></methodparam>
256     </methodsynopsis>
257     <methodsynopsis language="python">
258         <methodname><link linkend="method-giofileinfo--unset-attribute-mask">unset_attribute_mask</link></methodname>
259         <methodparam></methodparam>
260     </methodsynopsis>
261
262     </classsynopsis>
263
264     </refsect1>
265
266     <refsect1>
267         <title>Ancestry</title>
268
269 <synopsis>+-- <link linkend="class-gobject">gobject.GObject</link>
270   +-- <link linkend="class-giofileinfo">gio.FileInfo</link>
271 </synopsis>
272
273     </refsect1>
274
275     <refsect1>
276         <title>Description</title>
277
278         <para>
279             Functionality for manipulating basic metadata for files.
280             <link linkend="class-giofileinfo"><classname>gio.FileInfo</classname></link>
281             implements methods for getting information that all files should contain,
282             and allows for manipulation of extended attributes.
283         </para>
284         <para>
285             See <link linkend="class-giofileattribute"><classname>gio.FileAttribute</classname></link>
286             for more information on how GIO handles file attributes.
287         </para>
288         <para>
289            To obtain a <link linkend="class-giofileinfo"><classname>gio.FileInfo</classname></link>
290            for a <link linkend="class-giofile"><classname>gio.File</classname></link>, use
291            <methodname><link linkend="method-giofile--query-info">gio.File.query_info</link></methodname>()
292            (or its async variant). To obtain a
293            <link linkend="class-giofileinfo"><classname>gio.FileInfo</classname></link>
294            for a file input or output stream, use
295            <methodname><link linkend="method-giofileinputstream--query-info">gio.FileInputStream.query_info</link></methodname>() or
296            <methodname><link linkend="method-giofileoutputstream--query-info">gio.FileOutputStream.query_info</link></methodname>()
297            (or their async variants).
298         </para>
299         <para>
300            To change the actual attributes of a file, you should then set the attribute in the
301            <link linkend="class-giofileinfo"><classname>gio.FileInfo</classname></link> and call
302            <methodname><link linkend="method-giofile--set-attributes-from-info">gio.File.set_attributes_from_info</link></methodname>() or
303            <methodname><link linkend="method-giofile--set-attributes-async">gio.File.set_attributes_async</link></methodname>()
304            on a <link linkend="class-giofile"><classname>gio.File</classname></link>.
305         </para>
306         <para>
307            However, not all attributes can be changed in the file. For instance, the
308            actual size of a file cannot be changed via
309            <methodname><link linkend="method-giofileinfo--set-size">gio.FileInfo.set_size</link></methodname>(). You may call
310            <methodname><link linkend="method-giofile--query-settable-attributes">gio.File.query_settable_attributes</link></methodname>() and
311            <methodname><link linkend="method-giofile--query-writable-namespace">gio.File.query_writable_namespace</link></methodname>()
312            to discover the settable attributes of a particular file at runtime.
313         </para>
314         <para>
315            <link linkend="class-giofileattributematcher"><classname>gio.FileAttributeMatcher</classname></link>
316            allows for searching through a GFileInfo for attributes.
317         </para>
318     </refsect1>
319
320     <refsect1 id="constructor-giofileinfo">
321         <title>Constructor</title>
322   
323         <programlisting><constructorsynopsis language="python">
324             <methodname>gio.FileInfo</methodname>
325             <methodparam></methodparam>
326         </constructorsynopsis></programlisting>
327         <variablelist>
328             <varlistentry>
329                 <term><emphasis>Returns</emphasis>&nbsp;:</term>
330                 <listitem><simpara>a new
331                 <link linkend="class-giofileinfo"><classname>gio.FileInfo</classname></link>
332                 </simpara></listitem>
333             </varlistentry>
334         </variablelist>
335     
336         <para>
337             Creates a new <link linkend="class-giofileinfo"><classname>gio.FileInfo</classname></link>
338         </para>
339   
340     </refsect1>
341
342     <refsect1>
343         <title>Methods</title>
344         <para> Unfinished section, you may want to see the relevant C API docs for methods descriptions.</para>
345     </refsect1>
346 </refentry>