24
25
<title role="synopsis.title">Synopsis</title>
28
28
#include <totem-disc.h>
30
30
enum <link linkend="TotemDiscMediaType">TotemDiscMediaType</link>;
31
<link linkend="TotemDiscMediaType">TotemDiscMediaType</link> <link linkend="totem-cd-detect-type">totem_cd_detect_type</link> (const <link linkend="char">char</link> *device,
32
<link linkend="GError">GError</link> **error);
33
<link linkend="TotemDiscMediaType">TotemDiscMediaType</link> <link linkend="totem-cd-detect-type-with-url">totem_cd_detect_type_with_url</link> (const <link linkend="char">char</link> *device,
34
<link linkend="char">char</link> **mrl,
35
<link linkend="GError">GError</link> **error);
36
<link linkend="TotemDiscMediaType">TotemDiscMediaType</link> <link linkend="totem-cd-detect-type-from-dir">totem_cd_detect_type_from_dir</link> (const <link linkend="char">char</link> *dir,
37
<link linkend="char">char</link> **mrl,
38
<link linkend="GError">GError</link> **error);
39
const <link linkend="char">char</link> * <link linkend="totem-cd-get-human-readable-name">totem_cd_get_human_readable_name</link> (<link linkend="TotemDiscMediaType">TotemDiscMediaType</link> type);
40
<link linkend="char">char</link> * <link linkend="totem-cd-mrl-from-type">totem_cd_mrl_from_type</link> (const <link linkend="char">char</link> *scheme,
41
const <link linkend="char">char</link> *dir);
42
<link linkend="gboolean">gboolean</link> <link linkend="totem-cd-has-medium">totem_cd_has_medium</link> (const <link linkend="char">char</link> *device);
31
<link linkend="TotemDiscMediaType"><returnvalue>TotemDiscMediaType</returnvalue></link> <link linkend="totem-cd-detect-type">totem_cd_detect_type</link> (<parameter>const <link linkend="char"><type>char</type></link> *device</parameter>,
32
<parameter><link linkend="GError"><type>GError</type></link> **error</parameter>);
33
<link linkend="TotemDiscMediaType"><returnvalue>TotemDiscMediaType</returnvalue></link> <link linkend="totem-cd-detect-type-with-url">totem_cd_detect_type_with_url</link> (<parameter>const <link linkend="char"><type>char</type></link> *device</parameter>,
34
<parameter><link linkend="char"><type>char</type></link> **mrl</parameter>,
35
<parameter><link linkend="GError"><type>GError</type></link> **error</parameter>);
36
<link linkend="TotemDiscMediaType"><returnvalue>TotemDiscMediaType</returnvalue></link> <link linkend="totem-cd-detect-type-from-dir">totem_cd_detect_type_from_dir</link> (<parameter>const <link linkend="char"><type>char</type></link> *dir</parameter>,
37
<parameter><link linkend="char"><type>char</type></link> **mrl</parameter>,
38
<parameter><link linkend="GError"><type>GError</type></link> **error</parameter>);
39
const <link linkend="char"><returnvalue>char</returnvalue></link> * <link linkend="totem-cd-get-human-readable-name">totem_cd_get_human_readable_name</link> (<parameter><link linkend="TotemDiscMediaType"><type>TotemDiscMediaType</type></link> type</parameter>);
40
<link linkend="char"><returnvalue>char</returnvalue></link> * <link linkend="totem-cd-mrl-from-type">totem_cd_mrl_from_type</link> (<parameter>const <link linkend="char"><type>char</type></link> *scheme</parameter>,
41
<parameter>const <link linkend="char"><type>char</type></link> *dir</parameter>);
42
<link linkend="gboolean"><returnvalue>gboolean</returnvalue></link> <link linkend="totem-cd-has-medium">totem_cd_has_medium</link> (<parameter>const <link linkend="char"><type>char</type></link> *device</parameter>);
54
46
<refsect1 id="totem-pl-parser-TotemDisc.description" role="desc">
55
47
<title role="desc.title">Description</title>
64
56
valid URI as far as, for example, GIO is concerned.
67
The rest of the totem-pl-parser API exclusively uses URIs.</para>
59
The rest of the totem-pl-parser API exclusively uses URIs.
72
62
<refsect1 id="totem-pl-parser-TotemDisc.details" role="details">
73
63
<title role="details.title">Details</title>
74
64
<refsect2 id="TotemDiscMediaType" role="enum">
75
65
<title>enum TotemDiscMediaType</title>
76
<indexterm zone="TotemDiscMediaType"><primary>TotemDiscMediaType</primary></indexterm><programlisting>typedef enum {
66
<indexterm zone="TotemDiscMediaType"><primary>TotemDiscMediaType</primary></indexterm>
67
<programlisting>typedef enum {
77
68
MEDIA_TYPE_ERROR = -1,
78
69
MEDIA_TYPE_DATA = 1,
84
74
} TotemDiscMediaType;
87
Gives the media type of a disc, or <link linkend="MEDIA-TYPE-ERROR--CAPS"><literal>MEDIA_TYPE_ERROR</literal></link> if the media type
88
could not be determined.</para>
77
Gives the media type of a disc, or <link linkend="MEDIA-TYPE-ERROR:CAPS"><literal>MEDIA_TYPE_ERROR</literal></link> if the media type
78
could not be determined.
90
79
</para><variablelist role="enum">
91
<varlistentry id="MEDIA-TYPE-ERROR--CAPS" role="constant">
80
<varlistentry id="MEDIA-TYPE-ERROR:CAPS" role="constant">
92
81
<term><literal>MEDIA_TYPE_ERROR</literal></term>
93
<listitem><simpara> there was an error determining the media's type
82
<listitem><simpara>there was an error determining the media's type
94
83
</simpara></listitem>
96
<varlistentry id="MEDIA-TYPE-DATA--CAPS" role="constant">
85
<varlistentry id="MEDIA-TYPE-DATA:CAPS" role="constant">
97
86
<term><literal>MEDIA_TYPE_DATA</literal></term>
98
<listitem><simpara> data disc
87
<listitem><simpara>data disc
99
88
</simpara></listitem>
101
<varlistentry id="MEDIA-TYPE-CDDA--CAPS" role="constant">
90
<varlistentry id="MEDIA-TYPE-CDDA:CAPS" role="constant">
102
91
<term><literal>MEDIA_TYPE_CDDA</literal></term>
103
<listitem><simpara> audio CD
92
<listitem><simpara>audio CD
104
93
</simpara></listitem>
106
<varlistentry id="MEDIA-TYPE-VCD--CAPS" role="constant">
95
<varlistentry id="MEDIA-TYPE-VCD:CAPS" role="constant">
107
96
<term><literal>MEDIA_TYPE_VCD</literal></term>
108
<listitem><simpara> video CD
97
<listitem><simpara>video CD
109
98
</simpara></listitem>
111
<varlistentry id="MEDIA-TYPE-DVD--CAPS" role="constant">
100
<varlistentry id="MEDIA-TYPE-DVD:CAPS" role="constant">
112
101
<term><literal>MEDIA_TYPE_DVD</literal></term>
113
<listitem><simpara> video DVD
102
<listitem><simpara>video DVD
114
103
</simpara></listitem>
116
<varlistentry id="MEDIA-TYPE-DVB--CAPS" role="constant">
105
<varlistentry id="MEDIA-TYPE-DVB:CAPS" role="constant">
117
106
<term><literal>MEDIA_TYPE_DVB</literal></term>
118
<listitem><simpara> digital television
119
</simpara></listitem>
121
<varlistentry id="MEDIA-TYPE-NUM-TYPES--CAPS" role="constant">
122
<term><literal>MEDIA_TYPE_NUM_TYPES</literal></term>
123
<listitem><simpara> the number of supported media types
107
<listitem><simpara>digital television
124
108
</simpara></listitem>
126
110
</variablelist></refsect2>
127
111
<refsect2 id="totem-cd-detect-type" role="function">
128
112
<title>totem_cd_detect_type ()</title>
129
<indexterm zone="totem-cd-detect-type"><primary sortas="cd_detect_type">totem_cd_detect_type</primary></indexterm><programlisting><link linkend="TotemDiscMediaType">TotemDiscMediaType</link> totem_cd_detect_type (const <link linkend="char">char</link> *device,
130
<link linkend="GError">GError</link> **error);</programlisting>
113
<indexterm zone="totem-cd-detect-type"><primary sortas="cd_detect_type">totem_cd_detect_type</primary></indexterm>
114
<programlisting><link linkend="TotemDiscMediaType"><returnvalue>TotemDiscMediaType</returnvalue></link> totem_cd_detect_type (<parameter>const <link linkend="char"><type>char</type></link> *device</parameter>,
115
<parameter><link linkend="GError"><type>GError</type></link> **error</parameter>);</programlisting>
132
117
Detects the disc's type, given its device node path.
135
Possible error codes are as per <link linkend="totem-cd-detect-type-with-url"><function>totem_cd_detect_type_with_url()</function></link>.</para>
120
Possible error codes are as per <link linkend="totem-cd-detect-type-with-url"><function>totem_cd_detect_type_with_url()</function></link>.
137
121
</para><variablelist role="params">
138
122
<varlistentry><term><parameter>device</parameter> :</term>
139
<listitem><simpara> a device node path
123
<listitem><simpara>a device node path
140
124
</simpara></listitem></varlistentry>
141
125
<varlistentry><term><parameter>error</parameter> :</term>
142
<listitem><simpara> return location for a <link linkend="GError"><type>GError</type></link>, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
126
<listitem><simpara>return location for a <link linkend="GError"><type>GError</type></link>, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>
143
127
</simpara></listitem></varlistentry>
144
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="TotemDiscMediaType"><type>TotemDiscMediaType</type></link> corresponding to the disc's type, or <link linkend="MEDIA-TYPE-ERROR--CAPS"><type>MEDIA_TYPE_ERROR</type></link> on failure
128
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="TotemDiscMediaType"><type>TotemDiscMediaType</type></link> corresponding to the disc's type, or <link linkend="MEDIA-TYPE-ERROR:CAPS"><type>MEDIA_TYPE_ERROR</type></link> on failure
145
129
</simpara></listitem></varlistentry>
146
130
</variablelist></refsect2>
147
131
<refsect2 id="totem-cd-detect-type-with-url" role="function">
148
132
<title>totem_cd_detect_type_with_url ()</title>
149
<indexterm zone="totem-cd-detect-type-with-url"><primary sortas="cd_detect_type_with_url">totem_cd_detect_type_with_url</primary></indexterm><programlisting><link linkend="TotemDiscMediaType">TotemDiscMediaType</link> totem_cd_detect_type_with_url (const <link linkend="char">char</link> *device,
150
<link linkend="char">char</link> **mrl,
151
<link linkend="GError">GError</link> **error);</programlisting>
133
<indexterm zone="totem-cd-detect-type-with-url"><primary sortas="cd_detect_type_with_url">totem_cd_detect_type_with_url</primary></indexterm>
134
<programlisting><link linkend="TotemDiscMediaType"><returnvalue>TotemDiscMediaType</returnvalue></link> totem_cd_detect_type_with_url (<parameter>const <link linkend="char"><type>char</type></link> *device</parameter>,
135
<parameter><link linkend="char"><type>char</type></link> **mrl</parameter>,
136
<parameter><link linkend="GError"><type>GError</type></link> **error</parameter>);</programlisting>
153
138
Detects the disc's type, given its device node path. If
154
139
a string pointer is passed to <parameter>mrl</parameter>, it will return the disc's
158
143
Note that this function does synchronous I/O.
161
Possible error codes are as per <link linkend="totem-cd-detect-type-from-dir"><function>totem_cd_detect_type_from_dir()</function></link>.</para>
146
Possible error codes are as per <link linkend="totem-cd-detect-type-from-dir"><function>totem_cd_detect_type_from_dir()</function></link>.
163
147
</para><variablelist role="params">
164
148
<varlistentry><term><parameter>device</parameter> :</term>
165
<listitem><simpara> a device node path
149
<listitem><simpara>a device node path
166
150
</simpara></listitem></varlistentry>
167
151
<varlistentry><term><parameter>mrl</parameter> :</term>
168
<listitem><simpara> return location for the disc's MRL, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>. <acronym>out</acronym>. <acronym>transfer</acronym> full. <acronym>allow-none</acronym> full. </simpara></listitem></varlistentry>
152
<listitem><simpara> return location for the disc's MRL, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. <acronym>out</acronym>. <acronym>transfer full</acronym>. <acronym>allow-none</acronym>. </simpara></listitem></varlistentry>
169
153
<varlistentry><term><parameter>error</parameter> :</term>
170
<listitem><simpara> return location for a <link linkend="GError"><type>GError</type></link>, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
154
<listitem><simpara>return location for a <link linkend="GError"><type>GError</type></link>, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>
171
155
</simpara></listitem></varlistentry>
172
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="TotemDiscMediaType"><type>TotemDiscMediaType</type></link> corresponding to the disc's type, or <link linkend="MEDIA-TYPE-ERROR--CAPS"><type>MEDIA_TYPE_ERROR</type></link> on failure
156
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="TotemDiscMediaType"><type>TotemDiscMediaType</type></link> corresponding to the disc's type, or <link linkend="MEDIA-TYPE-ERROR:CAPS"><type>MEDIA_TYPE_ERROR</type></link> on failure
173
157
</simpara></listitem></varlistentry>
174
158
</variablelist></refsect2>
175
159
<refsect2 id="totem-cd-detect-type-from-dir" role="function">
176
160
<title>totem_cd_detect_type_from_dir ()</title>
177
<indexterm zone="totem-cd-detect-type-from-dir"><primary sortas="cd_detect_type_from_dir">totem_cd_detect_type_from_dir</primary></indexterm><programlisting><link linkend="TotemDiscMediaType">TotemDiscMediaType</link> totem_cd_detect_type_from_dir (const <link linkend="char">char</link> *dir,
178
<link linkend="char">char</link> **mrl,
179
<link linkend="GError">GError</link> **error);</programlisting>
161
<indexterm zone="totem-cd-detect-type-from-dir"><primary sortas="cd_detect_type_from_dir">totem_cd_detect_type_from_dir</primary></indexterm>
162
<programlisting><link linkend="TotemDiscMediaType"><returnvalue>TotemDiscMediaType</returnvalue></link> totem_cd_detect_type_from_dir (<parameter>const <link linkend="char"><type>char</type></link> *dir</parameter>,
163
<parameter><link linkend="char"><type>char</type></link> **mrl</parameter>,
164
<parameter><link linkend="GError"><type>GError</type></link> **error</parameter>);</programlisting>
181
166
Detects the disc's type, given its mount directory URI. If
182
167
a string pointer is passed to <parameter>mrl</parameter>, it will return the disc's
186
171
Note that this function does synchronous I/O.
189
If no disc is present in the drive, a <link linkend="TOTEM-PL-PARSER-ERROR-NO-DISC--CAPS"><type>TOTEM_PL_PARSER_ERROR_NO_DISC</type></link>
174
If no disc is present in the drive, a <link linkend="TOTEM-PL-PARSER-ERROR-NO-DISC:CAPS"><type>TOTEM_PL_PARSER_ERROR_NO_DISC</type></link>
190
175
error will be returned. On unknown mounting errors, a
191
<link linkend="TOTEM-PL-PARSER-ERROR-MOUNT-FAILED--CAPS"><type>TOTEM_PL_PARSER_ERROR_MOUNT_FAILED</type></link> error will be returned. On other
176
<link linkend="TOTEM-PL-PARSER-ERROR-MOUNT-FAILED:CAPS"><type>TOTEM_PL_PARSER_ERROR_MOUNT_FAILED</type></link> error will be returned. On other
192
177
I/O errors, or if resolution of symlinked mount paths failed, a code from
193
<link linkend="GIOErrorEnum"><type>GIOErrorEnum</type></link> will be returned.</para>
178
<link linkend="GIOErrorEnum"><type>GIOErrorEnum</type></link> will be returned.
195
179
</para><variablelist role="params">
196
180
<varlistentry><term><parameter>dir</parameter> :</term>
197
<listitem><simpara> a directory URI
181
<listitem><simpara>a directory URI
198
182
</simpara></listitem></varlistentry>
199
183
<varlistentry><term><parameter>mrl</parameter> :</term>
200
<listitem><simpara> return location for the disc's MRL, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>. <acronym>out</acronym>. <acronym>transfer</acronym> full. <acronym>allow-none</acronym> full. </simpara></listitem></varlistentry>
184
<listitem><simpara> return location for the disc's MRL, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. <acronym>out</acronym>. <acronym>transfer full</acronym>. <acronym>allow-none</acronym>. </simpara></listitem></varlistentry>
201
185
<varlistentry><term><parameter>error</parameter> :</term>
202
<listitem><simpara> return location for a <link linkend="GError"><type>GError</type></link>, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
186
<listitem><simpara>return location for a <link linkend="GError"><type>GError</type></link>, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>
203
187
</simpara></listitem></varlistentry>
204
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="TotemDiscMediaType"><type>TotemDiscMediaType</type></link> corresponding to the disc's type, or <link linkend="MEDIA-TYPE-ERROR--CAPS"><type>MEDIA_TYPE_ERROR</type></link> on failure
188
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="TotemDiscMediaType"><type>TotemDiscMediaType</type></link> corresponding to the disc's type, or <link linkend="MEDIA-TYPE-ERROR:CAPS"><type>MEDIA_TYPE_ERROR</type></link> on failure
205
189
</simpara></listitem></varlistentry>
206
190
</variablelist></refsect2>
207
191
<refsect2 id="totem-cd-get-human-readable-name" role="function">
208
192
<title>totem_cd_get_human_readable_name ()</title>
209
<indexterm zone="totem-cd-get-human-readable-name"><primary sortas="cd_get_human_readable_name">totem_cd_get_human_readable_name</primary></indexterm><programlisting>const <link linkend="char">char</link> * totem_cd_get_human_readable_name (<link linkend="TotemDiscMediaType">TotemDiscMediaType</link> type);</programlisting>
193
<indexterm zone="totem-cd-get-human-readable-name"><primary sortas="cd_get_human_readable_name">totem_cd_get_human_readable_name</primary></indexterm>
194
<programlisting>const <link linkend="char"><returnvalue>char</returnvalue></link> * totem_cd_get_human_readable_name (<parameter><link linkend="TotemDiscMediaType"><type>TotemDiscMediaType</type></link> type</parameter>);</programlisting>
211
196
Returns the human-readable name for the given
212
<link linkend="TotemDiscMediaType"><type>TotemDiscMediaType</type></link>.</para>
197
<link linkend="TotemDiscMediaType"><type>TotemDiscMediaType</type></link>.
214
198
</para><variablelist role="params">
215
199
<varlistentry><term><parameter>type</parameter> :</term>
216
<listitem><simpara> a <link linkend="TotemDiscMediaType"><type>TotemDiscMediaType</type></link>
200
<listitem><simpara>a <link linkend="TotemDiscMediaType"><type>TotemDiscMediaType</type></link>
217
201
</simpara></listitem></varlistentry>
218
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the disc media type's readable name, which must not be freed, or <link linkend="NULL--CAPS"><literal>NULL</literal></link> for unhandled media types
202
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the disc media type's readable name, which must not be freed, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> for unhandled media types
219
203
</simpara></listitem></varlistentry>
220
204
</variablelist></refsect2>
221
205
<refsect2 id="totem-cd-mrl-from-type" role="function">
222
206
<title>totem_cd_mrl_from_type ()</title>
223
<indexterm zone="totem-cd-mrl-from-type"><primary sortas="cd_mrl_from_type">totem_cd_mrl_from_type</primary></indexterm><programlisting><link linkend="char">char</link> * totem_cd_mrl_from_type (const <link linkend="char">char</link> *scheme,
224
const <link linkend="char">char</link> *dir);</programlisting>
207
<indexterm zone="totem-cd-mrl-from-type"><primary sortas="cd_mrl_from_type">totem_cd_mrl_from_type</primary></indexterm>
208
<programlisting><link linkend="char"><returnvalue>char</returnvalue></link> * totem_cd_mrl_from_type (<parameter>const <link linkend="char"><type>char</type></link> *scheme</parameter>,
209
<parameter>const <link linkend="char"><type>char</type></link> *dir</parameter>);</programlisting>
226
211
Builds an MRL using the scheme <parameter>scheme</parameter> and the given URI <parameter>dir</parameter>,
227
212
taking the filename from the URI if it's a <filename>file://</filename> and just
228
using the whole URI otherwise.</para>
213
using the whole URI otherwise.
230
214
</para><variablelist role="params">
231
215
<varlistentry><term><parameter>scheme</parameter> :</term>
232
<listitem><simpara> a scheme (e.g. "dvd")
216
<listitem><simpara>a scheme (e.g. "dvd")
233
217
</simpara></listitem></varlistentry>
234
218
<varlistentry><term><parameter>dir</parameter> :</term>
235
<listitem><simpara> a directory URI
219
<listitem><simpara>a directory URI
236
220
</simpara></listitem></varlistentry>
237
221
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> a newly-allocated string containing the MRL
238
222
</simpara></listitem></varlistentry>
239
223
</variablelist></refsect2>
240
224
<refsect2 id="totem-cd-has-medium" role="function">
241
225
<title>totem_cd_has_medium ()</title>
242
<indexterm zone="totem-cd-has-medium"><primary sortas="cd_has_medium">totem_cd_has_medium</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> totem_cd_has_medium (const <link linkend="char">char</link> *device);</programlisting>
244
Returns whether the disc has a physical medium.</para>
226
<indexterm zone="totem-cd-has-medium"><primary sortas="cd_has_medium">totem_cd_has_medium</primary></indexterm>
227
<programlisting><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link> totem_cd_has_medium (<parameter>const <link linkend="char"><type>char</type></link> *device</parameter>);</programlisting>
229
Returns whether the disc has a physical medium.
246
230
</para><variablelist role="params">
247
231
<varlistentry><term><parameter>device</parameter> :</term>
248
<listitem><simpara> a device node path
232
<listitem><simpara>a device node path
249
233
</simpara></listitem></varlistentry>
250
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if the disc physically exists
234
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the disc physically exists
251
235
</simpara></listitem></varlistentry>
252
236
</variablelist></refsect2>