This file is indexed.

/usr/share/doc/libghc-gconf-doc/html/src/System-Gnome-GConf-GConfValue.html is in libghc-gconf-doc 0.12.1.1-3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<!-- Generated by HsColour, http://code.haskell.org/~malcolm/hscolour/ -->
<title>dist-ghc/build/System/Gnome/GConf/GConfValue.hs</title>
<link type='text/css' rel='stylesheet' href='hscolour.css' />
</head>
<body>
<pre><a name="line-1"></a><span class='hs-comment'>{-# LANGUAGE TypeSynonymInstances,OverlappingInstances,ScopedTypeVariables,FlexibleInstances #-}</span>
<a name="line-2"></a>
<a name="line-3"></a><span class='hs-comment'>{-# LINE 2 "./System/Gnome/GConf/GConfValue.chs" #-}</span>
<a name="line-4"></a><span class='hs-comment'>-- String &amp; [a] overlap</span>
<a name="line-5"></a><span class='hs-comment'>-- -*-haskell-*-</span>
<a name="line-6"></a><span class='hs-comment'>-- GIMP Toolkit (GTK) GConf API</span>
<a name="line-7"></a><span class='hs-comment'>--</span>
<a name="line-8"></a><span class='hs-comment'>-- Author : Duncan Coutts</span>
<a name="line-9"></a><span class='hs-comment'>-- Created: 16 April 2004</span>
<a name="line-10"></a><span class='hs-comment'>--</span>
<a name="line-11"></a><span class='hs-comment'>-- Copyright (c) 2004 Duncan Coutts</span>
<a name="line-12"></a><span class='hs-comment'>--</span>
<a name="line-13"></a><span class='hs-comment'>-- This library is free software; you can redistribute it and/or</span>
<a name="line-14"></a><span class='hs-comment'>-- modify it under the terms of the GNU Library General Public</span>
<a name="line-15"></a><span class='hs-comment'>-- License as published by the Free Software Foundation; either</span>
<a name="line-16"></a><span class='hs-comment'>-- version 2 of the License, or (at your option) any later version.</span>
<a name="line-17"></a><span class='hs-comment'>--</span>
<a name="line-18"></a><span class='hs-comment'>-- This library is distributed in the hope that it will be useful,</span>
<a name="line-19"></a><span class='hs-comment'>-- but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
<a name="line-20"></a><span class='hs-comment'>-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
<a name="line-21"></a><span class='hs-comment'>-- Library General Public License for more details.</span>
<a name="line-22"></a><span class='hs-comment'>--</span>
<a name="line-23"></a><span class='hs-comment'>-- |</span>
<a name="line-24"></a><span class='hs-comment'>--</span>
<a name="line-25"></a><span class='hs-comment'>-- Module for dealing with the values stored in the GConf system.</span>
<a name="line-26"></a><span class='hs-comment'>--</span>
<a name="line-27"></a><span class='hs-comment'>-- GConfValue has its own primitive type system which is represented in</span>
<a name="line-28"></a><span class='hs-comment'>-- Haskell using type classes. This allows values to be get and set without</span>
<a name="line-29"></a><span class='hs-comment'>-- needing to perform any dynamic type casting or needing a union type.</span>
<a name="line-30"></a><span class='hs-comment'>--</span>
<a name="line-31"></a><span class='hs-comment'>-- Alternatively, a dynamic\/union type is provided for the rare occasions</span>
<a name="line-32"></a><span class='hs-comment'>-- when that degree of flexability is required. It should only be necessary</span>
<a name="line-33"></a><span class='hs-comment'>-- if you need to deal with configuration values without statically knowing</span>
<a name="line-34"></a><span class='hs-comment'>-- their type.</span>
<a name="line-35"></a><span class='hs-comment'>--</span>
<a name="line-36"></a>
<a name="line-37"></a><span class='hs-keyword'>module</span> <span class='hs-conid'>System</span><span class='hs-varop'>.</span><span class='hs-conid'>Gnome</span><span class='hs-varop'>.</span><span class='hs-conid'>GConf</span><span class='hs-varop'>.</span><span class='hs-conid'>GConfValue</span> <span class='hs-layout'>(</span>
<a name="line-38"></a> <span class='hs-conid'>GConfPrimitiveValueClass</span><span class='hs-layout'>,</span>
<a name="line-39"></a> <span class='hs-conid'>GConfValueClass</span><span class='hs-layout'>(</span><span class='hs-varid'>marshalFromGConfValue</span><span class='hs-layout'>,</span> <span class='hs-varid'>marshalToGConfValue</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span>
<a name="line-40"></a> <span class='hs-conid'>GConfValue</span><span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span>
<a name="line-41"></a> <span class='hs-conid'>GConfValueDyn</span><span class='hs-layout'>(</span><span class='hs-keyglyph'>..</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span>
<a name="line-42"></a> <span class='hs-layout'>)</span> <span class='hs-keyword'>where</span>
<a name="line-43"></a>
<a name="line-44"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Control</span><span class='hs-varop'>.</span><span class='hs-conid'>Monad</span> <span class='hs-layout'>(</span><span class='hs-varid'>liftM</span><span class='hs-layout'>,</span> <span class='hs-varid'>when</span><span class='hs-layout'>)</span>
<a name="line-45"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Control</span><span class='hs-varop'>.</span><span class='hs-conid'>Exception</span> <span class='hs-layout'>(</span><span class='hs-varid'>catch</span><span class='hs-layout'>,</span> <span class='hs-conid'>IOException</span><span class='hs-layout'>)</span>
<a name="line-46"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Prelude</span> <span class='hs-varid'>hiding</span> <span class='hs-layout'>(</span><span class='hs-varid'>catch</span><span class='hs-layout'>)</span>
<a name="line-47"></a>
<a name="line-48"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>System</span><span class='hs-varop'>.</span><span class='hs-conid'>Glib</span><span class='hs-varop'>.</span><span class='hs-conid'>FFI</span>
<a name="line-49"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>System</span><span class='hs-varop'>.</span><span class='hs-conid'>Glib</span><span class='hs-varop'>.</span><span class='hs-conid'>UTFString</span>
<a name="line-50"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>System</span><span class='hs-varop'>.</span><span class='hs-conid'>Glib</span><span class='hs-varop'>.</span><span class='hs-conid'>GList</span> <span class='hs-layout'>(</span><span class='hs-varid'>toGSList</span><span class='hs-layout'>,</span> <span class='hs-varid'>readGSList</span><span class='hs-layout'>)</span>
<a name="line-51"></a>
<a name="line-52"></a><span class='hs-comment'>--{# context lib="gconf" prefix ="gconf_value" #}</span>
<a name="line-53"></a>
<a name="line-54"></a><span class='hs-comment'>{-# LINE 52 "./System/Gnome/GConf/GConfValue.chs" #-}</span>
<a name="line-55"></a>
<a name="line-56"></a><a name="GConfValueType"></a><span class='hs-keyword'>data</span> <span class='hs-conid'>GConfValueType</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>GconfValueInvalid</span>
<a name="line-57"></a>                    <span class='hs-keyglyph'>|</span> <span class='hs-conid'>GconfValueString</span>
<a name="line-58"></a>                    <span class='hs-keyglyph'>|</span> <span class='hs-conid'>GconfValueInt</span>
<a name="line-59"></a>                    <span class='hs-keyglyph'>|</span> <span class='hs-conid'>GconfValueFloat</span>
<a name="line-60"></a>                    <span class='hs-keyglyph'>|</span> <span class='hs-conid'>GconfValueBool</span>
<a name="line-61"></a>                    <span class='hs-keyglyph'>|</span> <span class='hs-conid'>GconfValueSchema</span>
<a name="line-62"></a>                    <span class='hs-keyglyph'>|</span> <span class='hs-conid'>GconfValueList</span>
<a name="line-63"></a>                    <span class='hs-keyglyph'>|</span> <span class='hs-conid'>GconfValuePair</span>
<a name="line-64"></a>                    <span class='hs-keyword'>deriving</span> <span class='hs-layout'>(</span><span class='hs-conid'>Enum</span><span class='hs-layout'>,</span><span class='hs-conid'>Eq</span><span class='hs-layout'>,</span><span class='hs-conid'>Show</span><span class='hs-layout'>)</span>
<a name="line-65"></a>
<a name="line-66"></a><span class='hs-comment'>{-# LINE 54 "./System/Gnome/GConf/GConfValue.chs" #-}</span>
<a name="line-67"></a>
<a name="line-68"></a><a name="GConfValue"></a><span class='hs-keyword'>newtype</span> <span class='hs-conid'>GConfValue</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>GConfValue</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-69"></a><span class='hs-comment'>{-# LINE 56 "./System/Gnome/GConf/GConfValue.chs" #-}</span>
<a name="line-70"></a>
<a name="line-71"></a><a name="GConfValueClass"></a><span class='hs-comment'>-- | Class of types which can be kept by GConf</span>
<a name="line-72"></a><a name="GConfValueClass"></a><span class='hs-keyword'>class</span> <span class='hs-conid'>GConfValueClass</span> <span class='hs-varid'>value</span> <span class='hs-keyword'>where</span>
<a name="line-73"></a>  <span class='hs-comment'>--unsafe because assumes non-null pointer and correct type</span>
<a name="line-74"></a>  <span class='hs-varid'>unsafeMarshalFromGConfValue</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>GConfValue</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-varid'>value</span>
<a name="line-75"></a>
<a name="line-76"></a>  <span class='hs-comment'>-- safe checked version, may throw exception</span>
<a name="line-77"></a>  <span class='hs-varid'>marshalFromGConfValue</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>GConfValue</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-varid'>value</span>
<a name="line-78"></a>  <span class='hs-varid'>marshalFromGConfValue</span> <span class='hs-varid'>value</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-79"></a>    <span class='hs-varid'>checkForNullAndExpectedType</span> <span class='hs-layout'>(</span><span class='hs-varid'>typeofGConfValue</span> <span class='hs-layout'>(</span><span class='hs-varid'>undefined</span><span class='hs-keyglyph'>::</span><span class='hs-varid'>value</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span> <span class='hs-varid'>value</span>
<a name="line-80"></a>    <span class='hs-varid'>unsafeMarshalFromGConfValue</span> <span class='hs-varid'>value</span>
<a name="line-81"></a>
<a name="line-82"></a>  <span class='hs-varid'>typeofGConfValue</span> <span class='hs-keyglyph'>::</span> <span class='hs-varid'>value</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>GConfValueType</span>
<a name="line-83"></a>
<a name="line-84"></a>  <span class='hs-varid'>marshalToGConfValue</span> <span class='hs-keyglyph'>::</span> <span class='hs-varid'>value</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>GConfValue</span>
<a name="line-85"></a>
<a name="line-86"></a><span class='hs-comment'>-- The above methods follow the following memory management rules regarding</span>
<a name="line-87"></a><span class='hs-comment'>-- GConfValues: marshalFrom reads the value but does not gain ownership and thus</span>
<a name="line-88"></a><span class='hs-comment'>-- does not deallocate. marshalTo allocates a new value and gives up ownership;</span>
<a name="line-89"></a><span class='hs-comment'>-- it is not responsible for dellocation (it does not attach a finaliser).</span>
<a name="line-90"></a><span class='hs-comment'>-- The code that uses marshalTo must ensure that it hands the value off to a</span>
<a name="line-91"></a><span class='hs-comment'>-- function that is prepared to asume ownership of the value.</span>
<a name="line-92"></a>
<a name="line-93"></a><a name="GConfValueDyn"></a><span class='hs-comment'>-- | Dynamic version for when the type is not known statically.</span>
<a name="line-94"></a><a name="GConfValueDyn"></a><span class='hs-keyword'>data</span> <span class='hs-conid'>GConfValueDyn</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>GConfValueString</span> <span class='hs-conid'>String</span>
<a name="line-95"></a>                   <span class='hs-keyglyph'>|</span> <span class='hs-conid'>GConfValueInt</span> <span class='hs-conid'>Int</span>
<a name="line-96"></a>                   <span class='hs-keyglyph'>|</span> <span class='hs-conid'>GConfValueFloat</span> <span class='hs-conid'>Double</span>
<a name="line-97"></a>                   <span class='hs-keyglyph'>|</span> <span class='hs-conid'>GConfValueBool</span> <span class='hs-conid'>Bool</span>
<a name="line-98"></a>                   <span class='hs-keyglyph'>|</span> <span class='hs-conid'>GConfValueSchema</span> <span class='hs-comment'>-- ^ Not supported</span>
<a name="line-99"></a>                   <span class='hs-keyglyph'>|</span> <span class='hs-conid'>GConfValueList</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>GConfValueDyn</span><span class='hs-keyglyph'>]</span> <span class='hs-comment'>-- ^ Must all be of same primitive type</span>
<a name="line-100"></a>                   <span class='hs-keyglyph'>|</span> <span class='hs-conid'>GConfValuePair</span> <span class='hs-layout'>(</span><span class='hs-conid'>GConfValueDyn</span><span class='hs-layout'>,</span> <span class='hs-conid'>GConfValueDyn</span><span class='hs-layout'>)</span> <span class='hs-comment'>-- ^ Must both be primitive</span>
<a name="line-101"></a>
<a name="line-102"></a><a name="instance%20GConfValueClass%20(Maybe%20value)"></a><span class='hs-comment'>-- Allow variant using Maybe, where Nothing means the value was not set</span>
<a name="line-103"></a><a name="instance%20GConfValueClass%20(Maybe%20value)"></a><span class='hs-comment'>-- Use this variant when you expect the gconf key to not be set somethimes;</span>
<a name="line-104"></a><a name="instance%20GConfValueClass%20(Maybe%20value)"></a><span class='hs-comment'>-- otherwise the 'raw' types will raise an exception if you get an unset key.</span>
<a name="line-105"></a><a name="instance%20GConfValueClass%20(Maybe%20value)"></a><span class='hs-comment'>-- Just for consistency, setting a key to Nothing will unset the key, however</span>
<a name="line-106"></a><a name="instance%20GConfValueClass%20(Maybe%20value)"></a><span class='hs-comment'>-- it is preferable to use gconfClientUnset explicitly.</span>
<a name="line-107"></a><a name="instance%20GConfValueClass%20(Maybe%20value)"></a><span class='hs-keyword'>instance</span> <span class='hs-conid'>GConfValueClass</span> <span class='hs-varid'>value</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>GConfValueClass</span> <span class='hs-layout'>(</span><span class='hs-conid'>Maybe</span> <span class='hs-varid'>value</span><span class='hs-layout'>)</span> <span class='hs-keyword'>where</span>
<a name="line-108"></a>  <span class='hs-varid'>typeofGConfValue</span> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>typeofGConfValue</span> <span class='hs-layout'>(</span><span class='hs-varid'>undefined</span> <span class='hs-keyglyph'>::</span> <span class='hs-varid'>value</span><span class='hs-layout'>)</span>
<a name="line-109"></a>  <span class='hs-varid'>unsafeMarshalFromGConfValue</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>marshalFromGConfValue</span>
<a name="line-110"></a>  <span class='hs-varid'>marshalFromGConfValue</span> <span class='hs-varid'>value</span> <span class='hs-keyglyph'>=</span>
<a name="line-111"></a>    <span class='hs-varid'>catch</span> <span class='hs-layout'>(</span><span class='hs-varid'>liftM</span> <span class='hs-conid'>Just</span> <span class='hs-varop'>$</span> <span class='hs-varid'>marshalFromGConfValue</span> <span class='hs-varid'>value</span><span class='hs-layout'>)</span>
<a name="line-112"></a>          <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-varid'>e</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>IOException</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>return</span> <span class='hs-conid'>Nothing</span><span class='hs-layout'>)</span>
<a name="line-113"></a>  <span class='hs-varid'>marshalToGConfValue</span> <span class='hs-layout'>(</span><span class='hs-conid'>Just</span> <span class='hs-varid'>v</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>marshalToGConfValue</span> <span class='hs-varid'>v</span>
<a name="line-114"></a>  <span class='hs-varid'>marshalToGConfValue</span> <span class='hs-conid'>Nothing</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>return</span> <span class='hs-varop'>$</span> <span class='hs-conid'>GConfValue</span> <span class='hs-varid'>nullPtr</span>
<a name="line-115"></a>
<a name="line-116"></a><a name="GConfPrimitiveValueClass"></a><span class='hs-comment'>-- The GConfValue type system says some types are primitive.</span>
<a name="line-117"></a><a name="GConfPrimitiveValueClass"></a><span class='hs-comment'>-- Compound types (lists &amp; pairs) may only be constructed from primitive types.</span>
<a name="line-118"></a><a name="GConfPrimitiveValueClass"></a><span class='hs-keyword'>class</span> <span class='hs-conid'>GConfValueClass</span> <span class='hs-varid'>value</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>GConfPrimitiveValueClass</span> <span class='hs-varid'>value</span>
<a name="line-119"></a><a name="instance%20GConfPrimitiveValueClass%20Int%20instance%20GConfPrimitiveValueClass%20Bool%20instance%20GConfPrimitiveValueClass%20Double%20instance%20GConfPrimitiveValueClass%20String%20instance%20GConfValueClass%20Int"></a><span class='hs-keyword'>instance</span> <span class='hs-conid'>GConfPrimitiveValueClass</span> <span class='hs-conid'>Int</span>
<a name="line-120"></a><a name="instance%20GConfPrimitiveValueClass%20Bool%20instance%20GConfPrimitiveValueClass%20Double%20instance%20GConfPrimitiveValueClass%20String%20instance%20GConfValueClass%20Int"></a><span class='hs-keyword'>instance</span> <span class='hs-conid'>GConfPrimitiveValueClass</span> <span class='hs-conid'>Bool</span>
<a name="line-121"></a><a name="instance%20GConfPrimitiveValueClass%20Double%20instance%20GConfPrimitiveValueClass%20String%20instance%20GConfValueClass%20Int"></a><span class='hs-keyword'>instance</span> <span class='hs-conid'>GConfPrimitiveValueClass</span> <span class='hs-conid'>Double</span>
<a name="line-122"></a><a name="instance%20GConfPrimitiveValueClass%20String%20instance%20GConfValueClass%20Int"></a><span class='hs-keyword'>instance</span> <span class='hs-conid'>GConfPrimitiveValueClass</span> <span class='hs-conid'>String</span>
<a name="line-123"></a>
<a name="line-124"></a><a name="instance%20GConfValueClass%20Int"></a><span class='hs-keyword'>instance</span> <span class='hs-conid'>GConfValueClass</span> <span class='hs-conid'>Int</span> <span class='hs-keyword'>where</span>
<a name="line-125"></a>  <span class='hs-varid'>typeofGConfValue</span> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>GconfValueInt</span>
<a name="line-126"></a>  <span class='hs-varid'>unsafeMarshalFromGConfValue</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>liftM</span> <span class='hs-varid'>fromIntegral</span> <span class='hs-varop'>.</span> <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>gconf_value_get_int</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span>
<a name="line-127"></a><span class='hs-comment'>{-# LINE 113 "./System/Gnome/GConf/GConfValue.chs" #-}</span>
<a name="line-128"></a>  <span class='hs-varid'>marshalToGConfValue</span> <span class='hs-varid'>n</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-129"></a>    <span class='hs-varid'>value</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>gconf_value_new</span>
<a name="line-130"></a><span class='hs-comment'>{-# LINE 115 "./System/Gnome/GConf/GConfValue.chs" #-}</span>
<a name="line-131"></a>      <span class='hs-layout'>(</span><span class='hs-varid'>fromIntegral</span> <span class='hs-varop'>$</span> <span class='hs-varid'>fromEnum</span> <span class='hs-conid'>GconfValueInt</span><span class='hs-layout'>)</span>
<a name="line-132"></a>    <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg2</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>gconf_value_set_int</span> <span class='hs-varid'>arg1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>value</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-varid'>fromIntegral</span> <span class='hs-varid'>n</span><span class='hs-layout'>)</span>
<a name="line-133"></a>    <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>value</span><span class='hs-layout'>)</span>
<a name="line-134"></a>
<a name="line-135"></a><a name="instance%20GConfValueClass%20Bool"></a><span class='hs-keyword'>instance</span> <span class='hs-conid'>GConfValueClass</span> <span class='hs-conid'>Bool</span> <span class='hs-keyword'>where</span>
<a name="line-136"></a>  <span class='hs-varid'>typeofGConfValue</span> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>GconfValueBool</span>
<a name="line-137"></a>  <span class='hs-varid'>unsafeMarshalFromGConfValue</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>liftM</span> <span class='hs-varid'>toBool</span> <span class='hs-varop'>.</span> <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>gconf_value_get_bool</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span>
<a name="line-138"></a><span class='hs-comment'>{-# LINE 122 "./System/Gnome/GConf/GConfValue.chs" #-}</span>
<a name="line-139"></a>  <span class='hs-varid'>marshalToGConfValue</span> <span class='hs-varid'>b</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-140"></a>    <span class='hs-varid'>value</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>gconf_value_new</span>
<a name="line-141"></a><span class='hs-comment'>{-# LINE 124 "./System/Gnome/GConf/GConfValue.chs" #-}</span>
<a name="line-142"></a>      <span class='hs-layout'>(</span><span class='hs-varid'>fromIntegral</span> <span class='hs-varop'>$</span> <span class='hs-varid'>fromEnum</span> <span class='hs-conid'>GconfValueBool</span><span class='hs-layout'>)</span>
<a name="line-143"></a>    <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg2</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>gconf_value_set_bool</span> <span class='hs-varid'>arg1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>value</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-varid'>fromBool</span> <span class='hs-varid'>b</span><span class='hs-layout'>)</span>
<a name="line-144"></a>    <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>value</span><span class='hs-layout'>)</span>
<a name="line-145"></a>
<a name="line-146"></a><a name="instance%20GConfValueClass%20Double"></a><span class='hs-keyword'>instance</span> <span class='hs-conid'>GConfValueClass</span> <span class='hs-conid'>Double</span> <span class='hs-keyword'>where</span>
<a name="line-147"></a>  <span class='hs-varid'>typeofGConfValue</span> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>GconfValueFloat</span>
<a name="line-148"></a>  <span class='hs-varid'>unsafeMarshalFromGConfValue</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>liftM</span> <span class='hs-varid'>realToFrac</span> <span class='hs-varop'>.</span> <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>gconf_value_get_float</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span>
<a name="line-149"></a><span class='hs-comment'>{-# LINE 131 "./System/Gnome/GConf/GConfValue.chs" #-}</span>
<a name="line-150"></a>  <span class='hs-varid'>marshalToGConfValue</span> <span class='hs-varid'>f</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-151"></a>    <span class='hs-varid'>value</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>gconf_value_new</span>
<a name="line-152"></a><span class='hs-comment'>{-# LINE 133 "./System/Gnome/GConf/GConfValue.chs" #-}</span>
<a name="line-153"></a>      <span class='hs-layout'>(</span><span class='hs-varid'>fromIntegral</span> <span class='hs-varop'>$</span> <span class='hs-varid'>fromEnum</span> <span class='hs-conid'>GconfValueFloat</span><span class='hs-layout'>)</span>
<a name="line-154"></a>    <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg2</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>gconf_value_set_float</span> <span class='hs-varid'>arg1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>value</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-varid'>realToFrac</span> <span class='hs-varid'>f</span><span class='hs-layout'>)</span>
<a name="line-155"></a>    <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>value</span><span class='hs-layout'>)</span>
<a name="line-156"></a>
<a name="line-157"></a><a name="instance%20GConfValueClass%20String"></a><span class='hs-comment'>-- Now unfortunately String &amp; [a] overlap, although really they don't since Char</span>
<a name="line-158"></a><a name="instance%20GConfValueClass%20String"></a><span class='hs-comment'>-- is not an instance of GConfPrimitiveValueClass, however classes are open so</span>
<a name="line-159"></a><a name="instance%20GConfValueClass%20String"></a><span class='hs-comment'>-- we don't know that Char would never be an instance. I want closed classes!</span>
<a name="line-160"></a><a name="instance%20GConfValueClass%20String"></a><span class='hs-keyword'>instance</span> <span class='hs-conid'>GConfValueClass</span> <span class='hs-conid'>String</span> <span class='hs-keyword'>where</span>
<a name="line-161"></a>  <span class='hs-varid'>typeofGConfValue</span> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>GconfValueString</span>
<a name="line-162"></a>
<a name="line-163"></a>  <span class='hs-varid'>unsafeMarshalFromGConfValue</span> <span class='hs-varid'>value</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-164"></a>    <span class='hs-varid'>strPtr</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>gconf_value_get_string</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>value</span>
<a name="line-165"></a>    <span class='hs-varid'>peekUTFString</span> <span class='hs-varid'>strPtr</span>
<a name="line-166"></a>
<a name="line-167"></a>  <span class='hs-varid'>marshalToGConfValue</span> <span class='hs-varid'>s</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-168"></a>    <span class='hs-varid'>value</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>gconf_value_new</span>
<a name="line-169"></a><span class='hs-comment'>{-# LINE 149 "./System/Gnome/GConf/GConfValue.chs" #-}</span>
<a name="line-170"></a>      <span class='hs-layout'>(</span><span class='hs-varid'>fromIntegral</span> <span class='hs-varop'>$</span> <span class='hs-varid'>fromEnum</span> <span class='hs-conid'>GconfValueString</span><span class='hs-layout'>)</span>
<a name="line-171"></a>    <span class='hs-varid'>withCString</span> <span class='hs-varid'>s</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>strPtr</span> <span class='hs-keyglyph'>-&gt;</span>
<a name="line-172"></a>      <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg2</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>gconf_value_set_string</span> <span class='hs-varid'>arg1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>value</span><span class='hs-layout'>)</span> <span class='hs-varid'>strPtr</span>
<a name="line-173"></a>    <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>value</span><span class='hs-layout'>)</span>
<a name="line-174"></a>
<a name="line-175"></a><a name="instance%20GConfValueClass%20(a,b)"></a><span class='hs-keyword'>instance</span> <span class='hs-layout'>(</span><span class='hs-conid'>GConfPrimitiveValueClass</span> <span class='hs-varid'>a</span><span class='hs-layout'>,</span> <span class='hs-conid'>GConfPrimitiveValueClass</span> <span class='hs-varid'>b</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>GConfValueClass</span> <span class='hs-layout'>(</span><span class='hs-varid'>a</span><span class='hs-layout'>,</span><span class='hs-varid'>b</span><span class='hs-layout'>)</span> <span class='hs-keyword'>where</span>
<a name="line-176"></a>  <span class='hs-varid'>typeofGConfValue</span> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>GconfValuePair</span>
<a name="line-177"></a>
<a name="line-178"></a>  <span class='hs-varid'>unsafeMarshalFromGConfValue</span> <span class='hs-varid'>value</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-179"></a>    <span class='hs-varid'>a</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>gconf_value_get_car</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>value</span>
<a name="line-180"></a>    <span class='hs-varid'>b</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>gconf_value_get_cdr</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>value</span>
<a name="line-181"></a>    <span class='hs-varid'>a'</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>marshalFromGConfValue</span> <span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>a</span><span class='hs-layout'>)</span>
<a name="line-182"></a>    <span class='hs-varid'>b'</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>marshalFromGConfValue</span> <span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>b</span><span class='hs-layout'>)</span>
<a name="line-183"></a>    <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-varid'>a'</span><span class='hs-layout'>,</span><span class='hs-varid'>b'</span><span class='hs-layout'>)</span>
<a name="line-184"></a>
<a name="line-185"></a>  <span class='hs-varid'>marshalToGConfValue</span> <span class='hs-layout'>(</span><span class='hs-varid'>a</span><span class='hs-layout'>,</span><span class='hs-varid'>b</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-186"></a>    <span class='hs-varid'>value</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>gconf_value_new</span>
<a name="line-187"></a><span class='hs-comment'>{-# LINE 166 "./System/Gnome/GConf/GConfValue.chs" #-}</span>
<a name="line-188"></a>      <span class='hs-layout'>(</span><span class='hs-varid'>fromIntegral</span> <span class='hs-varop'>$</span> <span class='hs-varid'>fromEnum</span> <span class='hs-conid'>GconfValuePair</span><span class='hs-layout'>)</span>
<a name="line-189"></a>    <span class='hs-varid'>a'</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>marshalToGConfValue</span> <span class='hs-varid'>a</span>
<a name="line-190"></a>    <span class='hs-varid'>b'</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>marshalToGConfValue</span> <span class='hs-varid'>b</span>
<a name="line-191"></a>    <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>gconf_value_set_car_nocopy</span> <span class='hs-varid'>arg1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>value</span><span class='hs-layout'>)</span> <span class='hs-varid'>a'</span>
<a name="line-192"></a>    <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>gconf_value_set_cdr_nocopy</span> <span class='hs-varid'>arg1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>value</span><span class='hs-layout'>)</span> <span class='hs-varid'>b'</span>
<a name="line-193"></a>    <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>value</span><span class='hs-layout'>)</span>
<a name="line-194"></a>
<a name="line-195"></a>
<a name="line-196"></a><a name="instance%20GConfValueClass%20%5ba%5d"></a><span class='hs-keyword'>instance</span> <span class='hs-conid'>GConfPrimitiveValueClass</span> <span class='hs-varid'>a</span> <span class='hs-keyglyph'>=&gt;</span> <span class='hs-conid'>GConfValueClass</span> <span class='hs-keyglyph'>[</span><span class='hs-varid'>a</span><span class='hs-keyglyph'>]</span> <span class='hs-keyword'>where</span>
<a name="line-197"></a>  <span class='hs-varid'>typeofGConfValue</span> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>GconfValueList</span>
<a name="line-198"></a>
<a name="line-199"></a>  <span class='hs-varid'>unsafeMarshalFromGConfValue</span> <span class='hs-varid'>value</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-200"></a>    <span class='hs-varid'>gsList</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>gconf_value_get_list</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>value</span>
<a name="line-201"></a>    <span class='hs-varid'>valuesPtrs</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>readGSList</span> <span class='hs-varid'>gsList</span>
<a name="line-202"></a>    <span class='hs-varid'>mapM</span> <span class='hs-layout'>(</span><span class='hs-varid'>unsafeMarshalFromGConfValue</span> <span class='hs-varop'>.</span> <span class='hs-conid'>GConfValue</span><span class='hs-layout'>)</span> <span class='hs-varid'>valuesPtrs</span>
<a name="line-203"></a>
<a name="line-204"></a>  <span class='hs-varid'>marshalFromGConfValue</span> <span class='hs-varid'>value</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-205"></a>    <span class='hs-varid'>checkForNullAndExpectedType</span> <span class='hs-conid'>GconfValueList</span> <span class='hs-varid'>value</span>
<a name="line-206"></a>    <span class='hs-varid'>listType</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>liftM</span> <span class='hs-layout'>(</span><span class='hs-varid'>toEnum</span> <span class='hs-varop'>.</span> <span class='hs-varid'>fromIntegral</span><span class='hs-layout'>)</span> <span class='hs-varop'>$</span>
<a name="line-207"></a>                <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>gconf_value_get_list_type</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>value</span>
<a name="line-208"></a>    <span class='hs-varid'>when</span> <span class='hs-layout'>(</span><span class='hs-varid'>listType</span> <span class='hs-varop'>/=</span> <span class='hs-varid'>typeofGConfValue</span> <span class='hs-layout'>(</span><span class='hs-varid'>undefined</span> <span class='hs-keyglyph'>::</span> <span class='hs-varid'>a</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-209"></a>         <span class='hs-layout'>(</span><span class='hs-varid'>fail</span> <span class='hs-str'>"GConf: key is list with elements of unexpected type"</span><span class='hs-layout'>)</span>
<a name="line-210"></a>    <span class='hs-varid'>unsafeMarshalFromGConfValue</span> <span class='hs-varid'>value</span>
<a name="line-211"></a>
<a name="line-212"></a>  <span class='hs-varid'>marshalToGConfValue</span> <span class='hs-varid'>list</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-213"></a>    <span class='hs-varid'>value</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>gconf_value_new</span>
<a name="line-214"></a><span class='hs-comment'>{-# LINE 192 "./System/Gnome/GConf/GConfValue.chs" #-}</span>
<a name="line-215"></a>      <span class='hs-layout'>(</span><span class='hs-varid'>fromIntegral</span> <span class='hs-varop'>$</span> <span class='hs-varid'>fromEnum</span> <span class='hs-conid'>GconfValueList</span><span class='hs-layout'>)</span>
<a name="line-216"></a>    <span class='hs-varid'>valuesPtrs</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>mapM</span> <span class='hs-layout'>(</span><span class='hs-varid'>liftM</span> <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>ptr</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>ptr</span><span class='hs-layout'>)</span> <span class='hs-varop'>.</span> <span class='hs-varid'>marshalToGConfValue</span><span class='hs-layout'>)</span> <span class='hs-varid'>list</span>
<a name="line-217"></a>    <span class='hs-varid'>valuesList</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>toGSList</span> <span class='hs-varid'>valuesPtrs</span>
<a name="line-218"></a>    <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg2</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>gconf_value_set_list_type</span> <span class='hs-varid'>arg1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>value</span><span class='hs-layout'>)</span>
<a name="line-219"></a>      <span class='hs-layout'>(</span><span class='hs-varid'>fromIntegral</span> <span class='hs-varop'>$</span> <span class='hs-varid'>fromEnum</span> <span class='hs-varop'>$</span> <span class='hs-varid'>typeofGConfValue</span> <span class='hs-layout'>(</span><span class='hs-varid'>undefined</span><span class='hs-keyglyph'>::</span><span class='hs-varid'>a</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-220"></a>    <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg2</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>gconf_value_set_list_nocopy</span> <span class='hs-varid'>arg1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>value</span><span class='hs-layout'>)</span> <span class='hs-varid'>valuesList</span>
<a name="line-221"></a>    <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>value</span><span class='hs-layout'>)</span>
<a name="line-222"></a>
<a name="line-223"></a><span class='hs-comment'>----------------</span>
<a name="line-224"></a><span class='hs-comment'>-- For convenience and best practice, an instance for Enum</span>
<a name="line-225"></a><span class='hs-comment'>-- This conforms to the GConf GTK+/Gnome convention for storing enum types,</span>
<a name="line-226"></a><span class='hs-comment'>-- which is to store them as a string using ThisStlyeOfCapitalisation.</span>
<a name="line-227"></a>
<a name="line-228"></a><span class='hs-comment'>-- Note: currently disabled since it requires -fallow-undecidable-instances</span>
<a name="line-229"></a><span class='hs-comment'>{-
<a name="line-230"></a>instance (Show enum, Read enum, Enum enum, GConfValueClass enum)
<a name="line-231"></a>      =&gt; GConfPrimitiveValueClass enum
<a name="line-232"></a>instance (Show enum, Read enum, Enum enum) =&gt; GConfValueClass enum where
<a name="line-233"></a>  marshalFromGConfValue value = do
<a name="line-234"></a>    enumStr &lt;- marshalFromGConfValue value
<a name="line-235"></a>    case reads enumStr of
<a name="line-236"></a>      [(enum,_)] -&gt; return enum
<a name="line-237"></a>      _ -&gt; fail "GCconf: invalid enum value"
<a name="line-238"></a>  marshalFromGConfValue' value = do
<a name="line-239"></a>    maybeEnumStr &lt;- marshalFromGConfValue' value
<a name="line-240"></a>    case maybeEnumStr of
<a name="line-241"></a>      Nothing -&gt; return Nothing
<a name="line-242"></a>      (Just enumStr) -&gt; case reads enumStr of
<a name="line-243"></a>                          [(enum,_)] -&gt; return (Just enum)
<a name="line-244"></a>                          _ -&gt; return Nothing
<a name="line-245"></a>  marshalToGConfValue enum = marshalToGConfValue (show enum)
<a name="line-246"></a>  typeofGConfValue _ = GconfValueString
<a name="line-247"></a>-}</span>
<a name="line-248"></a>
<a name="line-249"></a><span class='hs-comment'>----------------</span>
<a name="line-250"></a><span class='hs-comment'>-- Helper funcs</span>
<a name="line-251"></a>
<a name="line-252"></a><a name="gconfValueGetType"></a><span class='hs-definition'>gconfValueGetType</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>GConfValue</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>GConfValueType</span>
<a name="line-253"></a><span class='hs-comment'>--we mean the following but unfortunately c2hs barfs on 'type'</span>
<a name="line-254"></a><span class='hs-comment'>--gconfValueGetType (GConfValue valuePtr) = {# get GConfValue-&gt;type #} valuePtr</span>
<a name="line-255"></a><span class='hs-comment'>-- so instead we have the ugly:</span>
<a name="line-256"></a><span class='hs-definition'>gconfValueGetType</span> <span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>valuePtr</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>=</span>
<a name="line-257"></a>  <span class='hs-varid'>liftM</span> <span class='hs-layout'>(</span><span class='hs-varid'>toEnum</span> <span class='hs-varop'>.</span> <span class='hs-varid'>fromIntegral</span><span class='hs-layout'>)</span> <span class='hs-varop'>$</span> <span class='hs-varid'>peek</span> <span class='hs-layout'>(</span><span class='hs-varid'>castPtr</span> <span class='hs-varid'>valuePtr</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>Ptr</span> <span class='hs-conid'>CInt</span><span class='hs-layout'>)</span>
<a name="line-258"></a><span class='hs-comment'>--TODO: check that sizeof(GConfValueType) == sizeof(int)</span>
<a name="line-259"></a>
<a name="line-260"></a><a name="checkForNullAndExpectedType"></a><span class='hs-comment'>-- returns Nothing if ok, or and error message</span>
<a name="line-261"></a><span class='hs-definition'>checkForNullAndExpectedType</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>GConfValueType</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>GConfValue</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>()</span>
<a name="line-262"></a><span class='hs-definition'>checkForNullAndExpectedType</span> <span class='hs-varid'>expectedType</span> <span class='hs-varid'>value</span><span class='hs-keyglyph'>@</span><span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>ptr</span><span class='hs-layout'>)</span>
<a name="line-263"></a> <span class='hs-keyglyph'>|</span> <span class='hs-varid'>ptr</span> <span class='hs-varop'>==</span> <span class='hs-varid'>nullPtr</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>fail</span> <span class='hs-str'>"GConf: cannot get value of key, key is unset"</span>
<a name="line-264"></a> <span class='hs-keyglyph'>|</span> <span class='hs-varid'>otherwise</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span> <span class='hs-varid'>valueType</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>gconfValueGetType</span> <span class='hs-varid'>value</span>
<a name="line-265"></a>                  <span class='hs-varid'>when</span> <span class='hs-layout'>(</span><span class='hs-varid'>valueType</span> <span class='hs-varop'>/=</span> <span class='hs-varid'>expectedType</span><span class='hs-layout'>)</span>
<a name="line-266"></a>                       <span class='hs-layout'>(</span><span class='hs-varid'>fail</span> <span class='hs-varop'>$</span> <span class='hs-str'>"GConf: key is of unexpected type, expected: "</span>
<a name="line-267"></a>                          <span class='hs-varop'>++</span> <span class='hs-varid'>show</span> <span class='hs-varid'>expectedType</span> <span class='hs-varop'>++</span> <span class='hs-str'>", got: "</span> <span class='hs-varop'>++</span> <span class='hs-varid'>show</span> <span class='hs-varid'>valueType</span><span class='hs-layout'>)</span>
<a name="line-268"></a>
<a name="line-269"></a><span class='hs-comment'>{-
<a name="line-270"></a>checkForNullAndExpectedType :: GConfValueType -&gt; GConfValue -&gt; IO GConfValue
<a name="line-271"></a>checkForNullAndExpectedType expectedType value@(GConfValue ptr)
<a name="line-272"></a> | ptr == nullPtr = fail "GConf: cannot get value of key, key is unset"
<a name="line-273"></a> | otherwise = do valueType &lt;- gconfValueGetType value
<a name="line-274"></a>                  if valueType /= expectedType
<a name="line-275"></a>                    then fail $ "GConf: key is of unexpected type, expected: "
<a name="line-276"></a>                             ++ show expectedType ++ ", got: " ++ show valueType
<a name="line-277"></a>                    else return value
<a name="line-278"></a>
<a name="line-279"></a>checkForNullAndExpectedType' :: GConfValueType -&gt; GConfValue -&gt; IO (Maybe GConfValue)
<a name="line-280"></a>checkForNullAndExpectedType' expectedType value@(GConfValue ptr)
<a name="line-281"></a> | ptr == nullPtr = return Nothing
<a name="line-282"></a> | otherwise = do valueType &lt;- gconfValueGetType value
<a name="line-283"></a>                  if valueType /= expectedType
<a name="line-284"></a>                    then return Nothing
<a name="line-285"></a>                    else return (Just value)
<a name="line-286"></a>-}</span>
<a name="line-287"></a><span class='hs-comment'>----------------</span>
<a name="line-288"></a><span class='hs-comment'>-- GConfValueDyn</span>
<a name="line-289"></a>
<a name="line-290"></a><a name="unsafeMarshalGConfValueDynListFromGConfValue"></a><span class='hs-definition'>unsafeMarshalGConfValueDynListFromGConfValue</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>GConfValue</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>GConfValueDyn</span><span class='hs-keyglyph'>]</span>
<a name="line-291"></a><span class='hs-definition'>unsafeMarshalGConfValueDynListFromGConfValue</span> <span class='hs-varid'>value</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-292"></a>  <span class='hs-varid'>gsList</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>gconf_value_get_list</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>value</span>
<a name="line-293"></a>  <span class='hs-varid'>valuesPtrs</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>readGSList</span> <span class='hs-varid'>gsList</span>
<a name="line-294"></a>  <span class='hs-varid'>mapM</span> <span class='hs-layout'>(</span><span class='hs-varid'>unsafeMarshalFromGConfValue</span> <span class='hs-varop'>.</span> <span class='hs-conid'>GConfValue</span><span class='hs-layout'>)</span> <span class='hs-varid'>valuesPtrs</span>
<a name="line-295"></a>
<a name="line-296"></a><a name="marshalGConfValueDynListToGConfValue"></a><span class='hs-definition'>marshalGConfValueDynListToGConfValue</span> <span class='hs-keyglyph'>::</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>GConfValueDyn</span><span class='hs-keyglyph'>]</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>GConfValue</span>
<a name="line-297"></a><span class='hs-definition'>marshalGConfValueDynListToGConfValue</span> <span class='hs-keyword'>as</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-298"></a>  <span class='hs-varid'>value</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>gconf_value_new</span>
<a name="line-299"></a><span class='hs-comment'>{-# LINE 276 "./System/Gnome/GConf/GConfValue.chs" #-}</span>
<a name="line-300"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromIntegral</span> <span class='hs-varop'>$</span> <span class='hs-varid'>fromEnum</span> <span class='hs-conid'>GconfValueList</span><span class='hs-layout'>)</span>
<a name="line-301"></a>  <span class='hs-varid'>valuesPtrs</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>mapM</span> <span class='hs-layout'>(</span><span class='hs-varid'>liftM</span> <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>ptr</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>ptr</span><span class='hs-layout'>)</span> <span class='hs-varop'>.</span> <span class='hs-varid'>marshalToGConfValue</span><span class='hs-layout'>)</span> <span class='hs-keyword'>as</span>
<a name="line-302"></a>  <span class='hs-varid'>valuesList</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>toGSList</span> <span class='hs-varid'>valuesPtrs</span>
<a name="line-303"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg2</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>gconf_value_set_list_type</span> <span class='hs-varid'>arg1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>value</span><span class='hs-layout'>)</span>
<a name="line-304"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromIntegral</span> <span class='hs-varop'>$</span> <span class='hs-varid'>fromEnum</span> <span class='hs-varop'>$</span> <span class='hs-layout'>(</span><span class='hs-keyword'>case</span> <span class='hs-keyword'>as</span> <span class='hs-keyword'>of</span>
<a name="line-305"></a>                                  <span class='hs-conid'>[]</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>GconfValueInvalid</span> <span class='hs-comment'>--unknown type</span>
<a name="line-306"></a>                                  <span class='hs-layout'>(</span><span class='hs-varid'>a</span><span class='hs-conop'>:</span><span class='hs-keyword'>_</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>gconfValueDynGetType</span> <span class='hs-layout'>(</span><span class='hs-varid'>head</span> <span class='hs-keyword'>as</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-307"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>arg2</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>gconf_value_set_list_nocopy</span> <span class='hs-varid'>arg1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>value</span><span class='hs-layout'>)</span> <span class='hs-varid'>valuesList</span>
<a name="line-308"></a>  <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>value</span><span class='hs-layout'>)</span>
<a name="line-309"></a>
<a name="line-310"></a><a name="unsafeMarshalGConfValueDynPairFromGConfValue"></a><span class='hs-definition'>unsafeMarshalGConfValueDynPairFromGConfValue</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>GConfValue</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>GConfValueDyn</span><span class='hs-layout'>,</span> <span class='hs-conid'>GConfValueDyn</span><span class='hs-layout'>)</span>
<a name="line-311"></a><span class='hs-definition'>unsafeMarshalGConfValueDynPairFromGConfValue</span> <span class='hs-varid'>value</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-312"></a>  <span class='hs-varid'>a</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>gconf_value_get_car</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>value</span>
<a name="line-313"></a>  <span class='hs-varid'>b</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>gconf_value_get_cdr</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-varid'>value</span>
<a name="line-314"></a>  <span class='hs-varid'>a'</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>marshalFromGConfValue</span> <span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>a</span><span class='hs-layout'>)</span>
<a name="line-315"></a>  <span class='hs-varid'>b'</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>marshalFromGConfValue</span> <span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>b</span><span class='hs-layout'>)</span>
<a name="line-316"></a>  <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-varid'>a'</span><span class='hs-layout'>,</span> <span class='hs-varid'>b'</span><span class='hs-layout'>)</span>
<a name="line-317"></a>
<a name="line-318"></a><a name="marshalGConfValueDynPairToGConfValue"></a><span class='hs-definition'>marshalGConfValueDynPairToGConfValue</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-conid'>GConfValueDyn</span><span class='hs-layout'>,</span> <span class='hs-conid'>GConfValueDyn</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>GConfValue</span>
<a name="line-319"></a><span class='hs-definition'>marshalGConfValueDynPairToGConfValue</span> <span class='hs-layout'>(</span><span class='hs-varid'>a</span><span class='hs-layout'>,</span><span class='hs-varid'>b</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-320"></a>  <span class='hs-varid'>value</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>gconf_value_new</span>
<a name="line-321"></a><span class='hs-comment'>{-# LINE 297 "./System/Gnome/GConf/GConfValue.chs" #-}</span>
<a name="line-322"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>fromIntegral</span> <span class='hs-varop'>$</span> <span class='hs-varid'>fromEnum</span> <span class='hs-conid'>GconfValuePair</span><span class='hs-layout'>)</span>
<a name="line-323"></a>  <span class='hs-varid'>a'</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>marshalToGConfValue</span> <span class='hs-varid'>a</span>
<a name="line-324"></a>  <span class='hs-varid'>b'</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>marshalToGConfValue</span> <span class='hs-varid'>b</span>
<a name="line-325"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>gconf_value_set_car_nocopy</span> <span class='hs-varid'>arg1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>value</span><span class='hs-layout'>)</span> <span class='hs-varid'>a'</span>
<a name="line-326"></a>  <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>arg1</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>gconf_value_set_cdr_nocopy</span> <span class='hs-varid'>arg1</span> <span class='hs-varid'>arg2</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>value</span><span class='hs-layout'>)</span> <span class='hs-varid'>b'</span>
<a name="line-327"></a>  <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>value</span><span class='hs-layout'>)</span>
<a name="line-328"></a>
<a name="line-329"></a><a name="instance%20GConfValueClass%20GConfValueDyn"></a><span class='hs-keyword'>instance</span> <span class='hs-conid'>GConfValueClass</span> <span class='hs-conid'>GConfValueDyn</span> <span class='hs-keyword'>where</span>
<a name="line-330"></a>  <span class='hs-varid'>typeofGConfValue</span> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>undefined</span> <span class='hs-comment'>-- will never be used</span>
<a name="line-331"></a>  <span class='hs-varid'>unsafeMarshalFromGConfValue</span> <span class='hs-varid'>value</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-332"></a>    <span class='hs-varid'>valueType</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>gconfValueGetType</span> <span class='hs-varid'>value</span>
<a name="line-333"></a>    <span class='hs-keyword'>case</span> <span class='hs-varid'>valueType</span> <span class='hs-keyword'>of</span>
<a name="line-334"></a>      <span class='hs-conid'>GconfValueString</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>liftM</span> <span class='hs-conid'>GConfValueString</span> <span class='hs-varop'>$</span> <span class='hs-varid'>unsafeMarshalFromGConfValue</span> <span class='hs-varid'>value</span>
<a name="line-335"></a>      <span class='hs-conid'>GconfValueInt</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>liftM</span> <span class='hs-conid'>GConfValueInt</span> <span class='hs-varop'>$</span> <span class='hs-varid'>unsafeMarshalFromGConfValue</span> <span class='hs-varid'>value</span>
<a name="line-336"></a>      <span class='hs-conid'>GconfValueFloat</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>liftM</span> <span class='hs-conid'>GConfValueFloat</span> <span class='hs-varop'>$</span> <span class='hs-varid'>unsafeMarshalFromGConfValue</span> <span class='hs-varid'>value</span>
<a name="line-337"></a>      <span class='hs-conid'>GconfValueBool</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>liftM</span> <span class='hs-conid'>GConfValueBool</span> <span class='hs-varop'>$</span> <span class='hs-varid'>unsafeMarshalFromGConfValue</span> <span class='hs-varid'>value</span>
<a name="line-338"></a>      <span class='hs-conid'>GconfValueSchema</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>return</span> <span class='hs-conid'>GConfValueSchema</span>
<a name="line-339"></a>      <span class='hs-conid'>GconfValueList</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>liftM</span> <span class='hs-conid'>GConfValueList</span> <span class='hs-varop'>$</span> <span class='hs-varid'>unsafeMarshalGConfValueDynListFromGConfValue</span> <span class='hs-varid'>value</span>
<a name="line-340"></a>      <span class='hs-conid'>GconfValuePair</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>liftM</span> <span class='hs-conid'>GConfValuePair</span> <span class='hs-varop'>$</span> <span class='hs-varid'>unsafeMarshalGConfValueDynPairFromGConfValue</span> <span class='hs-varid'>value</span>
<a name="line-341"></a>
<a name="line-342"></a>  <span class='hs-varid'>marshalFromGConfValue</span> <span class='hs-varid'>value</span><span class='hs-keyglyph'>@</span><span class='hs-layout'>(</span><span class='hs-conid'>GConfValue</span> <span class='hs-varid'>ptr</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>do</span>
<a name="line-343"></a>    <span class='hs-varid'>when</span> <span class='hs-layout'>(</span><span class='hs-varid'>ptr</span> <span class='hs-varop'>==</span> <span class='hs-varid'>nullPtr</span><span class='hs-layout'>)</span> <span class='hs-varop'>$</span> <span class='hs-varid'>fail</span> <span class='hs-str'>"GConf: cannot get value of key, key is unset"</span>
<a name="line-344"></a>    <span class='hs-varid'>unsafeMarshalFromGConfValue</span> <span class='hs-varid'>value</span>
<a name="line-345"></a>
<a name="line-346"></a>  <span class='hs-varid'>marshalToGConfValue</span> <span class='hs-varid'>v</span> <span class='hs-keyglyph'>=</span> <span class='hs-keyword'>case</span> <span class='hs-varid'>v</span> <span class='hs-keyword'>of</span>
<a name="line-347"></a>    <span class='hs-layout'>(</span><span class='hs-conid'>GConfValueString</span> <span class='hs-varid'>v'</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>marshalToGConfValue</span> <span class='hs-varid'>v'</span>
<a name="line-348"></a>    <span class='hs-layout'>(</span><span class='hs-conid'>GConfValueInt</span> <span class='hs-varid'>v'</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>marshalToGConfValue</span> <span class='hs-varid'>v'</span>
<a name="line-349"></a>    <span class='hs-layout'>(</span><span class='hs-conid'>GConfValueFloat</span> <span class='hs-varid'>v'</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>marshalToGConfValue</span> <span class='hs-varid'>v'</span>
<a name="line-350"></a>    <span class='hs-layout'>(</span><span class='hs-conid'>GConfValueBool</span> <span class='hs-varid'>v'</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>marshalToGConfValue</span> <span class='hs-varid'>v'</span>
<a name="line-351"></a>    <span class='hs-layout'>(</span><span class='hs-conid'>GConfValueSchema</span> <span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>fail</span> <span class='hs-str'>"GConf: setting schema types not supported"</span>
<a name="line-352"></a>    <span class='hs-layout'>(</span><span class='hs-conid'>GConfValueList</span> <span class='hs-varid'>v'</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>marshalGConfValueDynListToGConfValue</span> <span class='hs-varid'>v'</span>
<a name="line-353"></a>    <span class='hs-layout'>(</span><span class='hs-conid'>GConfValuePair</span> <span class='hs-varid'>v'</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>marshalGConfValueDynPairToGConfValue</span> <span class='hs-varid'>v'</span>
<a name="line-354"></a>
<a name="line-355"></a><a name="gconfValueDynGetType"></a><span class='hs-definition'>gconfValueDynGetType</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>GConfValueDyn</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>GConfValueType</span>
<a name="line-356"></a><span class='hs-definition'>gconfValueDynGetType</span> <span class='hs-layout'>(</span><span class='hs-conid'>GConfValueString</span> <span class='hs-keyword'>_</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>GconfValueString</span>
<a name="line-357"></a><span class='hs-definition'>gconfValueDynGetType</span> <span class='hs-layout'>(</span><span class='hs-conid'>GConfValueInt</span> <span class='hs-keyword'>_</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>GconfValueInt</span>
<a name="line-358"></a><span class='hs-definition'>gconfValueDynGetType</span> <span class='hs-layout'>(</span><span class='hs-conid'>GConfValueFloat</span> <span class='hs-keyword'>_</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>GconfValueFloat</span>
<a name="line-359"></a><span class='hs-definition'>gconfValueDynGetType</span> <span class='hs-layout'>(</span><span class='hs-conid'>GConfValueBool</span> <span class='hs-keyword'>_</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>GconfValueBool</span>
<a name="line-360"></a><span class='hs-definition'>gconfValueDynGetType</span> <span class='hs-layout'>(</span><span class='hs-conid'>GConfValueList</span> <span class='hs-keyword'>_</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>GconfValueList</span>
<a name="line-361"></a><span class='hs-definition'>gconfValueDynGetType</span> <span class='hs-layout'>(</span><span class='hs-conid'>GConfValuePair</span> <span class='hs-keyword'>_</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>GconfValuePair</span>
<a name="line-362"></a>
<a name="line-363"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>unsafe</span> <span class='hs-str'>"gconf_value_get_int"</span>
<a name="line-364"></a>  <span class='hs-varid'>gconf_value_get_int</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>GConfValue</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>CInt</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-365"></a>
<a name="line-366"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>unsafe</span> <span class='hs-str'>"gconf_value_new"</span>
<a name="line-367"></a>  <span class='hs-varid'>gconf_value_new</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-conid'>CInt</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>GConfValue</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-368"></a>
<a name="line-369"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>unsafe</span> <span class='hs-str'>"gconf_value_set_int"</span>
<a name="line-370"></a>  <span class='hs-varid'>gconf_value_set_int</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>GConfValue</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CInt</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-371"></a>
<a name="line-372"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>unsafe</span> <span class='hs-str'>"gconf_value_get_bool"</span>
<a name="line-373"></a>  <span class='hs-varid'>gconf_value_get_bool</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>GConfValue</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>CInt</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-374"></a>
<a name="line-375"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>unsafe</span> <span class='hs-str'>"gconf_value_set_bool"</span>
<a name="line-376"></a>  <span class='hs-varid'>gconf_value_set_bool</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>GConfValue</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CInt</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-377"></a>
<a name="line-378"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>unsafe</span> <span class='hs-str'>"gconf_value_get_float"</span>
<a name="line-379"></a>  <span class='hs-varid'>gconf_value_get_float</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>GConfValue</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>CDouble</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-380"></a>
<a name="line-381"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>unsafe</span> <span class='hs-str'>"gconf_value_set_float"</span>
<a name="line-382"></a>  <span class='hs-varid'>gconf_value_set_float</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>GConfValue</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CDouble</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-383"></a>
<a name="line-384"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>unsafe</span> <span class='hs-str'>"gconf_value_get_string"</span>
<a name="line-385"></a>  <span class='hs-varid'>gconf_value_get_string</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>GConfValue</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>CChar</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-386"></a>
<a name="line-387"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>unsafe</span> <span class='hs-str'>"gconf_value_set_string"</span>
<a name="line-388"></a>  <span class='hs-varid'>gconf_value_set_string</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>GConfValue</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>CChar</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-389"></a>
<a name="line-390"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>unsafe</span> <span class='hs-str'>"gconf_value_get_car"</span>
<a name="line-391"></a>  <span class='hs-varid'>gconf_value_get_car</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>GConfValue</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>GConfValue</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-392"></a>
<a name="line-393"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>unsafe</span> <span class='hs-str'>"gconf_value_get_cdr"</span>
<a name="line-394"></a>  <span class='hs-varid'>gconf_value_get_cdr</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>GConfValue</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>GConfValue</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-395"></a>
<a name="line-396"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>unsafe</span> <span class='hs-str'>"gconf_value_set_car_nocopy"</span>
<a name="line-397"></a>  <span class='hs-varid'>gconf_value_set_car_nocopy</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>GConfValue</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>GConfValue</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-398"></a>
<a name="line-399"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>unsafe</span> <span class='hs-str'>"gconf_value_set_cdr_nocopy"</span>
<a name="line-400"></a>  <span class='hs-varid'>gconf_value_set_cdr_nocopy</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>GConfValue</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>GConfValue</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-401"></a>
<a name="line-402"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>unsafe</span> <span class='hs-str'>"gconf_value_get_list"</span>
<a name="line-403"></a>  <span class='hs-varid'>gconf_value_get_list</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>GConfValue</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-404"></a>
<a name="line-405"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>unsafe</span> <span class='hs-str'>"gconf_value_get_list_type"</span>
<a name="line-406"></a>  <span class='hs-varid'>gconf_value_get_list_type</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>GConfValue</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>CInt</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-407"></a>
<a name="line-408"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>unsafe</span> <span class='hs-str'>"gconf_value_set_list_type"</span>
<a name="line-409"></a>  <span class='hs-varid'>gconf_value_set_list_type</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>GConfValue</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>CInt</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-410"></a>
<a name="line-411"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>unsafe</span> <span class='hs-str'>"gconf_value_set_list_nocopy"</span>
<a name="line-412"></a>  <span class='hs-varid'>gconf_value_set_list_nocopy</span> <span class='hs-keyglyph'>::</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>GConfValue</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-layout'>(</span><span class='hs-conid'>IO</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
</pre></body>
</html>