gsf 3.0.9-x64-mingw32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/Rakefile +55 -0
- data/lib/gsf/input.rb +26 -0
- data/lib/gsf/loader.rb +57 -0
- data/lib/gsf.rb +53 -0
- data/test/gsf-test-utils.rb +22 -0
- data/test/run-test.rb +46 -0
- data/test/test-input-stdio.rb +25 -0
- data/vendor/local/bin/gsf-office-thumbnailer.exe +0 -0
- data/vendor/local/bin/gsf-vba-dump.exe +0 -0
- data/vendor/local/bin/gsf.exe +0 -0
- data/vendor/local/bin/libgsf-1-114.dll +0 -0
- data/vendor/local/bin/libgsf-win32-1-114.dll +0 -0
- data/vendor/local/include/libgsf-1/gsf/gsf-blob.h +39 -0
- data/vendor/local/include/libgsf-1/gsf/gsf-clip-data.h +72 -0
- data/vendor/local/include/libgsf-1/gsf/gsf-doc-meta-data.h +66 -0
- data/vendor/local/include/libgsf-1/gsf/gsf-docprop-vector.h +47 -0
- data/vendor/local/include/libgsf-1/gsf/gsf-fwd.h +121 -0
- data/vendor/local/include/libgsf-1/gsf/gsf-impl-utils.h +156 -0
- data/vendor/local/include/libgsf-1/gsf/gsf-infile-impl.h +50 -0
- data/vendor/local/include/libgsf-1/gsf/gsf-infile-msole.h +45 -0
- data/vendor/local/include/libgsf-1/gsf/gsf-infile-msvba.h +49 -0
- data/vendor/local/include/libgsf-1/gsf/gsf-infile-stdio.h +43 -0
- data/vendor/local/include/libgsf-1/gsf/gsf-infile-tar.h +40 -0
- data/vendor/local/include/libgsf-1/gsf/gsf-infile-zip.h +43 -0
- data/vendor/local/include/libgsf-1/gsf/gsf-infile.h +46 -0
- data/vendor/local/include/libgsf-1/gsf/gsf-input-bzip.h +34 -0
- data/vendor/local/include/libgsf-1/gsf/gsf-input-gio.h +44 -0
- data/vendor/local/include/libgsf-1/gsf/gsf-input-gzip.h +43 -0
- data/vendor/local/include/libgsf-1/gsf/gsf-input-http.h +45 -0
- data/vendor/local/include/libgsf-1/gsf/gsf-input-impl.h +68 -0
- data/vendor/local/include/libgsf-1/gsf/gsf-input-iochannel.h +35 -0
- data/vendor/local/include/libgsf-1/gsf/gsf-input-memory.h +46 -0
- data/vendor/local/include/libgsf-1/gsf/gsf-input-proxy.h +46 -0
- data/vendor/local/include/libgsf-1/gsf/gsf-input-stdio.h +48 -0
- data/vendor/local/include/libgsf-1/gsf/gsf-input-textline.h +46 -0
- data/vendor/local/include/libgsf-1/gsf/gsf-input.h +69 -0
- data/vendor/local/include/libgsf-1/gsf/gsf-libxml.h +225 -0
- data/vendor/local/include/libgsf-1/gsf/gsf-meta-names.h +482 -0
- data/vendor/local/include/libgsf-1/gsf/gsf-msole-utils.h +70 -0
- data/vendor/local/include/libgsf-1/gsf/gsf-open-pkg-utils.h +95 -0
- data/vendor/local/include/libgsf-1/gsf/gsf-opendoc-utils.h +162 -0
- data/vendor/local/include/libgsf-1/gsf/gsf-outfile-impl.h +46 -0
- data/vendor/local/include/libgsf-1/gsf/gsf-outfile-msole.h +47 -0
- data/vendor/local/include/libgsf-1/gsf/gsf-outfile-stdio.h +49 -0
- data/vendor/local/include/libgsf-1/gsf/gsf-outfile-zip.h +61 -0
- data/vendor/local/include/libgsf-1/gsf/gsf-outfile.h +49 -0
- data/vendor/local/include/libgsf-1/gsf/gsf-output-bzip.h +43 -0
- data/vendor/local/include/libgsf-1/gsf/gsf-output-csv.h +84 -0
- data/vendor/local/include/libgsf-1/gsf/gsf-output-gio.h +44 -0
- data/vendor/local/include/libgsf-1/gsf/gsf-output-gzip.h +43 -0
- data/vendor/local/include/libgsf-1/gsf/gsf-output-iconv.h +47 -0
- data/vendor/local/include/libgsf-1/gsf/gsf-output-impl.h +37 -0
- data/vendor/local/include/libgsf-1/gsf/gsf-output-iochannel.h +43 -0
- data/vendor/local/include/libgsf-1/gsf/gsf-output-memory.h +44 -0
- data/vendor/local/include/libgsf-1/gsf/gsf-output-stdio.h +52 -0
- data/vendor/local/include/libgsf-1/gsf/gsf-output.h +99 -0
- data/vendor/local/include/libgsf-1/gsf/gsf-shared-memory.h +51 -0
- data/vendor/local/include/libgsf-1/gsf/gsf-structured-blob.h +45 -0
- data/vendor/local/include/libgsf-1/gsf/gsf-timestamp.h +70 -0
- data/vendor/local/include/libgsf-1/gsf/gsf-utils.h +340 -0
- data/vendor/local/include/libgsf-1/gsf/gsf.h +98 -0
- data/vendor/local/include/libgsf-1/gsf-win32/gsf-input-win32.h +41 -0
- data/vendor/local/include/libgsf-1/gsf-win32/gsf-output-win32.h +41 -0
- data/vendor/local/lib/libgsf-1.a +0 -0
- data/vendor/local/lib/libgsf-1.dll.a +0 -0
- data/vendor/local/lib/libgsf-1.la +41 -0
- data/vendor/local/lib/libgsf-win32-1.a +0 -0
- data/vendor/local/lib/libgsf-win32-1.dll.a +0 -0
- data/vendor/local/lib/libgsf-win32-1.la +41 -0
- data/vendor/local/lib/pkgconfig/libgsf-1.pc +11 -0
- data/vendor/local/lib/pkgconfig/libgsf-win32-1.pc +11 -0
- data/vendor/local/share/gtk-doc/html/gsf/annotation-glossary.html +56 -0
- data/vendor/local/share/gtk-doc/html/gsf/api.html +107 -0
- data/vendor/local/share/gtk-doc/html/gsf/dependencies.html +109 -0
- data/vendor/local/share/gtk-doc/html/gsf/gsf-Compression.html +369 -0
- data/vendor/local/share/gtk-doc/html/gsf/gsf-GIO.html +307 -0
- data/vendor/local/share/gtk-doc/html/gsf/gsf-GIOChannel.html +119 -0
- data/vendor/local/share/gtk-doc/html/gsf/gsf-Infile-reading-structed-files.html +397 -0
- data/vendor/local/share/gtk-doc/html/gsf/gsf-Input-from-unstructured-files.html +887 -0
- data/vendor/local/share/gtk-doc/html/gsf/gsf-MS-OLE2.html +894 -0
- data/vendor/local/share/gtk-doc/html/gsf/gsf-OASIS-Open-Document.html +398 -0
- data/vendor/local/share/gtk-doc/html/gsf/gsf-Outfile-writing-structed-files.html +237 -0
- data/vendor/local/share/gtk-doc/html/gsf/gsf-Output-to-unstructured-files.html +830 -0
- data/vendor/local/share/gtk-doc/html/gsf/gsf-Reading-and-Writing-from-local-files-and-directories.html +593 -0
- data/vendor/local/share/gtk-doc/html/gsf/gsf-Text.html +523 -0
- data/vendor/local/share/gtk-doc/html/gsf/gsf-XML-and-libxml.html +2032 -0
- data/vendor/local/share/gtk-doc/html/gsf/gsf-Zip.html +338 -0
- data/vendor/local/share/gtk-doc/html/gsf/gsf-blobs.html +56 -0
- data/vendor/local/share/gtk-doc/html/gsf/gsf-clip-data.html +444 -0
- data/vendor/local/share/gtk-doc/html/gsf/gsf-index.html +875 -0
- data/vendor/local/share/gtk-doc/html/gsf/gsf-memory.html +332 -0
- data/vendor/local/share/gtk-doc/html/gsf/gsf-metadata.html +1762 -0
- data/vendor/local/share/gtk-doc/html/gsf/gsf-users.html +73 -0
- data/vendor/local/share/gtk-doc/html/gsf/gsf-utils.html +2503 -0
- data/vendor/local/share/gtk-doc/html/gsf/gsf.devhelp2 +440 -0
- data/vendor/local/share/gtk-doc/html/gsf/history.html +45 -0
- data/vendor/local/share/gtk-doc/html/gsf/home.png +0 -0
- data/vendor/local/share/gtk-doc/html/gsf/index.html +98 -0
- data/vendor/local/share/gtk-doc/html/gsf/index.sgml +572 -0
- data/vendor/local/share/gtk-doc/html/gsf/intro.html +39 -0
- data/vendor/local/share/gtk-doc/html/gsf/io.html +38 -0
- data/vendor/local/share/gtk-doc/html/gsf/left-insensitive.png +0 -0
- data/vendor/local/share/gtk-doc/html/gsf/left.png +0 -0
- data/vendor/local/share/gtk-doc/html/gsf/misc.html +33 -0
- data/vendor/local/share/gtk-doc/html/gsf/parsers.html +59 -0
- data/vendor/local/share/gtk-doc/html/gsf/right-insensitive.png +0 -0
- data/vendor/local/share/gtk-doc/html/gsf/right.png +0 -0
- data/vendor/local/share/gtk-doc/html/gsf/sources.html +50 -0
- data/vendor/local/share/gtk-doc/html/gsf/style.css +461 -0
- data/vendor/local/share/gtk-doc/html/gsf/up-insensitive.png +0 -0
- data/vendor/local/share/gtk-doc/html/gsf/up.png +0 -0
- data/vendor/local/share/license/libgsf/AUTHORS +3 -0
- data/vendor/local/share/license/libgsf/COPYING +340 -0
- data/vendor/local/share/license/libgsf/COPYING.LIB +504 -0
- data/vendor/local/share/locale/as/LC_MESSAGES/libgsf.mo +0 -0
- data/vendor/local/share/locale/bs/LC_MESSAGES/libgsf.mo +0 -0
- data/vendor/local/share/locale/ca/LC_MESSAGES/libgsf.mo +0 -0
- data/vendor/local/share/locale/ca@valencia/LC_MESSAGES/libgsf.mo +0 -0
- data/vendor/local/share/locale/cs/LC_MESSAGES/libgsf.mo +0 -0
- data/vendor/local/share/locale/da/LC_MESSAGES/libgsf.mo +0 -0
- data/vendor/local/share/locale/de/LC_MESSAGES/libgsf.mo +0 -0
- data/vendor/local/share/locale/el/LC_MESSAGES/libgsf.mo +0 -0
- data/vendor/local/share/locale/en_GB/LC_MESSAGES/libgsf.mo +0 -0
- data/vendor/local/share/locale/eo/LC_MESSAGES/libgsf.mo +0 -0
- data/vendor/local/share/locale/es/LC_MESSAGES/libgsf.mo +0 -0
- data/vendor/local/share/locale/eu/LC_MESSAGES/libgsf.mo +0 -0
- data/vendor/local/share/locale/fi/LC_MESSAGES/libgsf.mo +0 -0
- data/vendor/local/share/locale/fr/LC_MESSAGES/libgsf.mo +0 -0
- data/vendor/local/share/locale/gl/LC_MESSAGES/libgsf.mo +0 -0
- data/vendor/local/share/locale/he/LC_MESSAGES/libgsf.mo +0 -0
- data/vendor/local/share/locale/hu/LC_MESSAGES/libgsf.mo +0 -0
- data/vendor/local/share/locale/id/LC_MESSAGES/libgsf.mo +0 -0
- data/vendor/local/share/locale/it/LC_MESSAGES/libgsf.mo +0 -0
- data/vendor/local/share/locale/ja/LC_MESSAGES/libgsf.mo +0 -0
- data/vendor/local/share/locale/ko/LC_MESSAGES/libgsf.mo +0 -0
- data/vendor/local/share/locale/lt/LC_MESSAGES/libgsf.mo +0 -0
- data/vendor/local/share/locale/lv/LC_MESSAGES/libgsf.mo +0 -0
- data/vendor/local/share/locale/ml/LC_MESSAGES/libgsf.mo +0 -0
- data/vendor/local/share/locale/nb/LC_MESSAGES/libgsf.mo +0 -0
- data/vendor/local/share/locale/nn/LC_MESSAGES/libgsf.mo +0 -0
- data/vendor/local/share/locale/oc/LC_MESSAGES/libgsf.mo +0 -0
- data/vendor/local/share/locale/pa/LC_MESSAGES/libgsf.mo +0 -0
- data/vendor/local/share/locale/pl/LC_MESSAGES/libgsf.mo +0 -0
- data/vendor/local/share/locale/pt/LC_MESSAGES/libgsf.mo +0 -0
- data/vendor/local/share/locale/pt_BR/LC_MESSAGES/libgsf.mo +0 -0
- data/vendor/local/share/locale/ro/LC_MESSAGES/libgsf.mo +0 -0
- data/vendor/local/share/locale/ru/LC_MESSAGES/libgsf.mo +0 -0
- data/vendor/local/share/locale/sk/LC_MESSAGES/libgsf.mo +0 -0
- data/vendor/local/share/locale/sl/LC_MESSAGES/libgsf.mo +0 -0
- data/vendor/local/share/locale/sr/LC_MESSAGES/libgsf.mo +0 -0
- data/vendor/local/share/locale/sr@latin/LC_MESSAGES/libgsf.mo +0 -0
- data/vendor/local/share/locale/sv/LC_MESSAGES/libgsf.mo +0 -0
- data/vendor/local/share/locale/ta/LC_MESSAGES/libgsf.mo +0 -0
- data/vendor/local/share/locale/tg/LC_MESSAGES/libgsf.mo +0 -0
- data/vendor/local/share/locale/th/LC_MESSAGES/libgsf.mo +0 -0
- data/vendor/local/share/locale/tr/LC_MESSAGES/libgsf.mo +0 -0
- data/vendor/local/share/locale/uk/LC_MESSAGES/libgsf.mo +0 -0
- data/vendor/local/share/locale/zh_CN/LC_MESSAGES/libgsf.mo +0 -0
- data/vendor/local/share/locale/zh_HK/LC_MESSAGES/libgsf.mo +0 -0
- data/vendor/local/share/locale/zh_TW/LC_MESSAGES/libgsf.mo +0 -0
- data/vendor/local/share/man/man1/gsf-office-thumbnailer.1 +71 -0
- data/vendor/local/share/man/man1/gsf-vba-dump.1 +61 -0
- data/vendor/local/share/man/man1/gsf.1 +91 -0
- data/vendor/local/share/thumbnailers/gsf-office.thumbnailer +4 -0
- metadata +235 -0
@@ -0,0 +1,68 @@
|
|
1
|
+
/* vim: set sw=8: -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
|
2
|
+
/*
|
3
|
+
* gsf-input-impl.h: implementation details of GsfInput
|
4
|
+
*
|
5
|
+
* Copyright (C) 2002-2006 Jody Goldberg (jody@gnome.org)
|
6
|
+
*
|
7
|
+
* This program is free software; you can redistribute it and/or
|
8
|
+
* modify it under the terms of version 2.1 of the GNU Lesser General Public
|
9
|
+
* License as published by the Free Software Foundation.
|
10
|
+
*
|
11
|
+
* This program is distributed in the hope that it will be useful,
|
12
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
14
|
+
* GNU General Public License for more details.
|
15
|
+
*
|
16
|
+
* You should have received a copy of the GNU Lesser General Public License
|
17
|
+
* along with this program; if not, write to the Free Software
|
18
|
+
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
|
19
|
+
* USA
|
20
|
+
*/
|
21
|
+
|
22
|
+
#ifndef GSF_INPUT_IMPL_H
|
23
|
+
#define GSF_INPUT_IMPL_H
|
24
|
+
|
25
|
+
#include <gsf/gsf-fwd.h>
|
26
|
+
|
27
|
+
G_BEGIN_DECLS
|
28
|
+
|
29
|
+
struct _GsfInput {
|
30
|
+
GObject g_object;
|
31
|
+
|
32
|
+
gsf_off_t size, cur_offset;
|
33
|
+
char *name;
|
34
|
+
GsfInfile *container;
|
35
|
+
};
|
36
|
+
|
37
|
+
typedef struct {
|
38
|
+
GObjectClass g_object_class;
|
39
|
+
|
40
|
+
GsfInput *(*Dup) (GsfInput *input, GError **err);
|
41
|
+
const guint8 *(*Read) (GsfInput *input, size_t num_bytes,
|
42
|
+
guint8 *optional_buffer);
|
43
|
+
gboolean (*Seek) (GsfInput *input, gsf_off_t offset,
|
44
|
+
GSeekType whence);
|
45
|
+
GsfInput *(*OpenSibling) (GsfInput const *input,
|
46
|
+
char const *path, GError **err);
|
47
|
+
|
48
|
+
/* Padding for future expansion */
|
49
|
+
void (*_gsf_reserved0) (void);
|
50
|
+
void (*_gsf_reserved1) (void);
|
51
|
+
void (*_gsf_reserved2) (void);
|
52
|
+
void (*_gsf_reserved3) (void);
|
53
|
+
} GsfInputClass;
|
54
|
+
|
55
|
+
#define GSF_INPUT_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GSF_INPUT_TYPE, GsfInputClass))
|
56
|
+
#define GSF_IS_INPUT_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GSF_INPUT_TYPE))
|
57
|
+
|
58
|
+
/* protected */
|
59
|
+
gboolean gsf_input_set_name (GsfInput *input, char const *name);
|
60
|
+
gboolean gsf_input_set_name_from_filename (GsfInput *input, char const *filename);
|
61
|
+
gboolean gsf_input_set_container (GsfInput *input, GsfInfile *container);
|
62
|
+
gboolean gsf_input_set_size (GsfInput *input, gsf_off_t size);
|
63
|
+
gboolean gsf_input_set_modtime (GsfInput *input, GDateTime *modtime);
|
64
|
+
gboolean gsf_input_seek_emulate (GsfInput *input, gsf_off_t pos);
|
65
|
+
|
66
|
+
G_END_DECLS
|
67
|
+
|
68
|
+
#endif /* GSF_INPUT_IMPL_H */
|
@@ -0,0 +1,35 @@
|
|
1
|
+
/* vim: set sw=8: -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
|
2
|
+
/*
|
3
|
+
* gsf-input-iochannel.h: interface for use by the structured file layer to read data from IO channels
|
4
|
+
*
|
5
|
+
* Copyright (C) 2002-2006 Rodrigo Moya (rodrigo@gnome-db.org)
|
6
|
+
*
|
7
|
+
* This program is free software; you can redistribute it and/or
|
8
|
+
* modify it under the terms of version 2.1 of the GNU Lesser General Public
|
9
|
+
* License as published by the Free Software Foundation.
|
10
|
+
*
|
11
|
+
* This program is distributed in the hope that it will be useful,
|
12
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
14
|
+
* GNU General Public License for more details.
|
15
|
+
*
|
16
|
+
* You should have received a copy of the GNU Lesser General Public License
|
17
|
+
* along with this program; if not, write to the Free Software
|
18
|
+
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
|
19
|
+
* USA
|
20
|
+
*/
|
21
|
+
|
22
|
+
#ifndef GSF_INPUT_IOCHANNEL_H
|
23
|
+
#define GSF_INPUT_IOCHANNEL_H
|
24
|
+
|
25
|
+
#include <gsf/gsf-fwd.h>
|
26
|
+
#include <gsf/gsf-input.h>
|
27
|
+
|
28
|
+
G_BEGIN_DECLS
|
29
|
+
|
30
|
+
GsfInput *gsf_input_memory_new_from_iochannel (GIOChannel *channel,
|
31
|
+
GError **error);
|
32
|
+
|
33
|
+
G_END_DECLS
|
34
|
+
|
35
|
+
#endif /* GSF_INPUT_IOCHANNEL_H */
|
@@ -0,0 +1,46 @@
|
|
1
|
+
/* vim: set sw=8: -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
|
2
|
+
/*
|
3
|
+
* gsf-input-memory.h: interface for used by the ole layer to read raw data
|
4
|
+
*
|
5
|
+
* Copyright (C) 2002-2006 Jody Goldberg (jody@gnome.org)
|
6
|
+
*
|
7
|
+
* This program is free software; you can redistribute it and/or
|
8
|
+
* modify it under the terms of version 2.1 of the GNU Lesser General Public
|
9
|
+
* License as published by the Free Software Foundation.
|
10
|
+
*
|
11
|
+
* This program is distributed in the hope that it will be useful,
|
12
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
14
|
+
* GNU General Public License for more details.
|
15
|
+
*
|
16
|
+
* You should have received a copy of the GNU Lesser General Public License
|
17
|
+
* along with this program; if not, write to the Free Software
|
18
|
+
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
|
19
|
+
* USA
|
20
|
+
*/
|
21
|
+
|
22
|
+
#ifndef GSF_INPUT_MEMORY_H
|
23
|
+
#define GSF_INPUT_MEMORY_H
|
24
|
+
|
25
|
+
#include <gsf/gsf-fwd.h>
|
26
|
+
#include <gsf/gsf-input.h>
|
27
|
+
|
28
|
+
G_BEGIN_DECLS
|
29
|
+
|
30
|
+
#define GSF_INPUT_MEMORY_TYPE (gsf_input_memory_get_type ())
|
31
|
+
#define GSF_INPUT_MEMORY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GSF_INPUT_MEMORY_TYPE, GsfInputMemory))
|
32
|
+
#define GSF_IS_INPUT_MEMORY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GSF_INPUT_MEMORY_TYPE))
|
33
|
+
|
34
|
+
typedef struct _GsfInputMemory GsfInputMemory;
|
35
|
+
|
36
|
+
GType gsf_input_memory_get_type (void) G_GNUC_CONST;
|
37
|
+
/* void gsf_input_memory_register_type (GTypeModule *module); glib dynamic types are not thread safe */
|
38
|
+
|
39
|
+
GsfInput *gsf_input_memory_new (guint8 const *buf, gsf_off_t length,
|
40
|
+
gboolean needs_free);
|
41
|
+
GsfInput *gsf_input_memory_new_clone (guint8 const *buf, gsf_off_t length);
|
42
|
+
GsfInput *gsf_input_mmap_new (char const *filename, GError **err);
|
43
|
+
|
44
|
+
G_END_DECLS
|
45
|
+
|
46
|
+
#endif /* GSF_INPUT_MEMORY_H */
|
@@ -0,0 +1,46 @@
|
|
1
|
+
/* vim: set sw=8: -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
|
2
|
+
/*
|
3
|
+
* gsf-input-proxy.h: proxy object (with its own current position)
|
4
|
+
*
|
5
|
+
* Copyright (C) 2004-2006 Morten Welinder (terra@gnome.org)
|
6
|
+
*
|
7
|
+
* This program is free software; you can redistribute it and/or
|
8
|
+
* modify it under the terms of version 2.1 of the GNU Lesser General Public
|
9
|
+
* License as published by the Free Software Foundation.
|
10
|
+
*
|
11
|
+
* This program is distributed in the hope that it will be useful,
|
12
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
14
|
+
* GNU General Public License for more details.
|
15
|
+
*
|
16
|
+
* You should have received a copy of the GNU Lesser General Public License
|
17
|
+
* along with this program; if not, write to the Free Software
|
18
|
+
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
|
19
|
+
* USA
|
20
|
+
*/
|
21
|
+
|
22
|
+
#ifndef GSF_INPUT_PROXY_H
|
23
|
+
#define GSF_INPUT_PROXY_H
|
24
|
+
|
25
|
+
#include <gsf/gsf-fwd.h>
|
26
|
+
#include <gsf/gsf-input.h>
|
27
|
+
|
28
|
+
G_BEGIN_DECLS
|
29
|
+
|
30
|
+
#define GSF_INPUT_PROXY_TYPE (gsf_input_proxy_get_type ())
|
31
|
+
#define GSF_INPUT_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GSF_INPUT_PROXY_TYPE, GsfInputProxy))
|
32
|
+
#define GSF_IS_INPUT_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GSF_INPUT_PROXY_TYPE))
|
33
|
+
|
34
|
+
typedef struct _GsfInputProxy GsfInputProxy;
|
35
|
+
|
36
|
+
GType gsf_input_proxy_get_type (void) G_GNUC_CONST;
|
37
|
+
/* void gsf_input_proxy_register_type (GTypeModule *module); glib dynamic types are not thread safe */
|
38
|
+
|
39
|
+
GsfInput *gsf_input_proxy_new (GsfInput *source);
|
40
|
+
GsfInput *gsf_input_proxy_new_section (GsfInput *source,
|
41
|
+
gsf_off_t offset,
|
42
|
+
gsf_off_t size);
|
43
|
+
|
44
|
+
G_END_DECLS
|
45
|
+
|
46
|
+
#endif /* GSF_INPUT_PROXY_H */
|
@@ -0,0 +1,48 @@
|
|
1
|
+
/* vim: set sw=8: -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
|
2
|
+
/*
|
3
|
+
* gsf-input-stdio.h: interface for use by the structured file layer to read raw data
|
4
|
+
*
|
5
|
+
* Copyright (C) 2002-2006 Jody Goldberg (jody@gnome.org)
|
6
|
+
*
|
7
|
+
* This program is free software; you can redistribute it and/or
|
8
|
+
* modify it under the terms of version 2.1 of the GNU Lesser General Public
|
9
|
+
* License as published by the Free Software Foundation.
|
10
|
+
*
|
11
|
+
* This program is distributed in the hope that it will be useful,
|
12
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
14
|
+
* GNU General Public License for more details.
|
15
|
+
*
|
16
|
+
* You should have received a copy of the GNU Lesser General Public License
|
17
|
+
* along with this program; if not, write to the Free Software
|
18
|
+
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
|
19
|
+
* USA
|
20
|
+
*/
|
21
|
+
|
22
|
+
#ifndef GSF_INPUT_STDIO_H
|
23
|
+
#define GSF_INPUT_STDIO_H
|
24
|
+
|
25
|
+
#include <gsf/gsf-fwd.h>
|
26
|
+
#include <gsf/gsf-input.h>
|
27
|
+
|
28
|
+
#include <stdio.h>
|
29
|
+
|
30
|
+
G_BEGIN_DECLS
|
31
|
+
|
32
|
+
#define GSF_INPUT_STDIO_TYPE (gsf_input_stdio_get_type ())
|
33
|
+
#define GSF_INPUT_STDIO(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GSF_INPUT_STDIO_TYPE, GsfInputStdio))
|
34
|
+
#define GSF_IS_INPUT_STDIO(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GSF_INPUT_STDIO_TYPE))
|
35
|
+
|
36
|
+
typedef struct _GsfInputStdio GsfInputStdio;
|
37
|
+
|
38
|
+
GType gsf_input_stdio_get_type (void) G_GNUC_CONST;
|
39
|
+
/* void gsf_input_stdio_register_type (GTypeModule *module); glib dynamic types are not thread safe */
|
40
|
+
|
41
|
+
GsfInput *gsf_input_stdio_new (char const *filename, GError **err);
|
42
|
+
|
43
|
+
GsfInput *gsf_input_stdio_new_FILE (char const *filename, FILE *file,
|
44
|
+
gboolean keep_open);
|
45
|
+
|
46
|
+
G_END_DECLS
|
47
|
+
|
48
|
+
#endif /* GSF_INPUT_STDIO_H */
|
@@ -0,0 +1,46 @@
|
|
1
|
+
/* vim: set sw=8: -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
|
2
|
+
/*
|
3
|
+
* gsf-input-textline.h: a utility wrapper to pull in text, line by line.
|
4
|
+
*
|
5
|
+
* Copyright (C) 2002-2006 Jody Goldberg (jody@gnome.org)
|
6
|
+
*
|
7
|
+
* This program is free software; you can redistribute it and/or
|
8
|
+
* modify it under the terms of version 2.1 of the GNU Lesser General Public
|
9
|
+
* License as published by the Free Software Foundation.
|
10
|
+
*
|
11
|
+
* This program is distributed in the hope that it will be useful,
|
12
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
14
|
+
* GNU General Public License for more details.
|
15
|
+
*
|
16
|
+
* You should have received a copy of the GNU Lesser General Public License
|
17
|
+
* along with this program; if not, write to the Free Software
|
18
|
+
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
|
19
|
+
* USA
|
20
|
+
*/
|
21
|
+
|
22
|
+
#ifndef GSF_INPUT_TEXTLINE_H
|
23
|
+
#define GSF_INPUT_TEXTLINE_H
|
24
|
+
|
25
|
+
#include <gsf/gsf-fwd.h>
|
26
|
+
#include <gsf/gsf-input.h>
|
27
|
+
|
28
|
+
G_BEGIN_DECLS
|
29
|
+
|
30
|
+
#define GSF_INPUT_TEXTLINE_TYPE (gsf_input_textline_get_type ())
|
31
|
+
#define GSF_INPUT_TEXTLINE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GSF_INPUT_TEXTLINE_TYPE, GsfInputTextline))
|
32
|
+
#define GSF_IS_INPUT_TEXTLINE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GSF_INPUT_TEXTLINE_TYPE))
|
33
|
+
|
34
|
+
typedef struct _GsfInputTextline GsfInputTextline;
|
35
|
+
|
36
|
+
GType gsf_input_textline_get_type (void) G_GNUC_CONST;
|
37
|
+
/* void gsf_input_textline_register_type (GTypeModule *module); glib dynamic types are not thread safe */
|
38
|
+
|
39
|
+
|
40
|
+
GsfInput *gsf_input_textline_new (GsfInput *source);
|
41
|
+
unsigned char *gsf_input_textline_ascii_gets (GsfInputTextline *textline);
|
42
|
+
guint8 *gsf_input_textline_utf8_gets (GsfInputTextline *textline);
|
43
|
+
|
44
|
+
G_END_DECLS
|
45
|
+
|
46
|
+
#endif /* GSF_INPUT_TEXTLINE_H */
|
@@ -0,0 +1,69 @@
|
|
1
|
+
/* vim: set sw=8: -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
|
2
|
+
/*
|
3
|
+
* gsf-input.h: abstract interface for reading data
|
4
|
+
*
|
5
|
+
* Copyright (C) 2002-2006 Jody Goldberg (jody@gnome.org)
|
6
|
+
*
|
7
|
+
* This program is free software; you can redistribute it and/or
|
8
|
+
* modify it under the terms of version 2.1 of the GNU Lesser General Public
|
9
|
+
* License as published by the Free Software Foundation.
|
10
|
+
*
|
11
|
+
* This program is distributed in the hope that it will be useful,
|
12
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
14
|
+
* GNU General Public License for more details.
|
15
|
+
*
|
16
|
+
* You should have received a copy of the GNU Lesser General Public License
|
17
|
+
* along with this program; if not, write to the Free Software
|
18
|
+
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
|
19
|
+
* USA
|
20
|
+
*/
|
21
|
+
|
22
|
+
#ifndef GSF_INPUT_H
|
23
|
+
#define GSF_INPUT_H
|
24
|
+
|
25
|
+
#include <gsf/gsf-fwd.h>
|
26
|
+
#include <sys/types.h>
|
27
|
+
|
28
|
+
G_BEGIN_DECLS
|
29
|
+
|
30
|
+
#define GSF_INPUT_TYPE (gsf_input_get_type ())
|
31
|
+
#define GSF_INPUT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GSF_INPUT_TYPE, GsfInput))
|
32
|
+
#define GSF_IS_INPUT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GSF_INPUT_TYPE))
|
33
|
+
|
34
|
+
GType gsf_input_get_type (void) G_GNUC_CONST;
|
35
|
+
/* void gsf_input_register_type (GTypeModule *module); glib dynamic types are not thread safe */
|
36
|
+
|
37
|
+
char const *gsf_input_name (GsfInput *input);
|
38
|
+
GsfInfile *gsf_input_container (GsfInput *input);
|
39
|
+
|
40
|
+
GsfInput *gsf_input_dup (GsfInput *input, GError **err);
|
41
|
+
GsfInput *gsf_input_sibling (GsfInput const *input, char const *name, GError **err);
|
42
|
+
gsf_off_t gsf_input_size (GsfInput *input);
|
43
|
+
gboolean gsf_input_eof (GsfInput *input);
|
44
|
+
guint8 const *gsf_input_read (GsfInput *input, size_t num_bytes,
|
45
|
+
guint8 *optional_buffer);
|
46
|
+
/* For bindings _only_! */
|
47
|
+
guint8 * gsf_input_read0 (GsfInput *input, size_t num_bytes,
|
48
|
+
size_t *bytes_read);
|
49
|
+
|
50
|
+
gsf_off_t gsf_input_remaining (GsfInput *input);
|
51
|
+
gsf_off_t gsf_input_tell (GsfInput *input);
|
52
|
+
gboolean gsf_input_seek (GsfInput *input,
|
53
|
+
gsf_off_t offset, GSeekType whence);
|
54
|
+
|
55
|
+
GDateTime * gsf_input_get_modtime (GsfInput *input);
|
56
|
+
|
57
|
+
/* Utilities */
|
58
|
+
gboolean gsf_input_copy (GsfInput *input, GsfOutput *output);
|
59
|
+
GsfInput *gsf_input_uncompress (GsfInput *src);
|
60
|
+
|
61
|
+
GQuark gsf_input_error_id (void);
|
62
|
+
#ifndef GSF_DISABLE_DEPRECATED
|
63
|
+
/* deprecated in 1.12.0, use gsf_input_error_id */
|
64
|
+
GQuark gsf_input_error (void);
|
65
|
+
#endif /* GSF_DISABLE_DEPRECATED */
|
66
|
+
|
67
|
+
G_END_DECLS
|
68
|
+
|
69
|
+
#endif /* GSF_INPUT_H */
|
@@ -0,0 +1,225 @@
|
|
1
|
+
/* vim: set sw=8: -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
|
2
|
+
/*
|
3
|
+
* gsf-libxml.h: Utility wrappers for using gsf with libxml
|
4
|
+
*
|
5
|
+
* Copyright (C) 2002-2006 Jody Goldberg (jody@gnome.org)
|
6
|
+
*
|
7
|
+
* This program is free software; you can redistribute it and/or
|
8
|
+
* modify it under the terms of version 2.1 of the GNU Lesser General Public
|
9
|
+
* License as published by the Free Software Foundation.
|
10
|
+
*
|
11
|
+
* This program is distributed in the hope that it will be useful,
|
12
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
14
|
+
* GNU General Public License for more details.
|
15
|
+
*
|
16
|
+
* You should have received a copy of the GNU Lesser General Public License
|
17
|
+
* along with this program; if not, write to the Free Software
|
18
|
+
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
|
19
|
+
* USA
|
20
|
+
*/
|
21
|
+
|
22
|
+
#ifndef GSF_LIBXML_H
|
23
|
+
#define GSF_LIBXML_H
|
24
|
+
|
25
|
+
#include <gsf/gsf-fwd.h>
|
26
|
+
#include <libxml/tree.h>
|
27
|
+
|
28
|
+
G_BEGIN_DECLS
|
29
|
+
|
30
|
+
/****************************************************************************/
|
31
|
+
/* GSF wrappers for libxml2 */
|
32
|
+
xmlParserCtxt *gsf_xml_parser_context (GsfInput *input);
|
33
|
+
#if 0
|
34
|
+
/* this is cleaner, tack it on for 2.0 */
|
35
|
+
xmlSAXHandlerPtr sax, gpointer user);
|
36
|
+
#endif
|
37
|
+
int gsf_xmlDocFormatDump (GsfOutput *output,
|
38
|
+
xmlDoc *cur,
|
39
|
+
char const *encoding,
|
40
|
+
gboolean format);
|
41
|
+
|
42
|
+
typedef gboolean (*GsfXMLProbeFunc) (const xmlChar *name,
|
43
|
+
const xmlChar *prefix,
|
44
|
+
const xmlChar *URI,
|
45
|
+
int nb_namespaces,
|
46
|
+
const xmlChar **namespaces,
|
47
|
+
int nb_attributes,
|
48
|
+
int nb_defaulted,
|
49
|
+
const xmlChar **attributes);
|
50
|
+
gboolean gsf_xml_probe (GsfInput *input,
|
51
|
+
GsfXMLProbeFunc func);
|
52
|
+
|
53
|
+
/****************************************************************************/
|
54
|
+
/* Simplified wrapper to SAX based xml import */
|
55
|
+
|
56
|
+
/**
|
57
|
+
* GsfXMLContent:
|
58
|
+
* @GSF_XML_NO_CONTENT: node has no cstr contents
|
59
|
+
* @GSF_XML_CONTENT: node has cstr contents
|
60
|
+
* @GSF_XML_SHARED_CONTENT: node has contents that is shared with children
|
61
|
+
* @GSF_XML_2ND: node is second or later occurrence
|
62
|
+
*
|
63
|
+
* Controls the handling of character data within a parser node.
|
64
|
+
*/
|
65
|
+
|
66
|
+
typedef enum {
|
67
|
+
GSF_XML_NO_CONTENT = FALSE,
|
68
|
+
GSF_XML_CONTENT,
|
69
|
+
GSF_XML_SHARED_CONTENT,
|
70
|
+
GSF_XML_2ND /* Second definition */
|
71
|
+
} GsfXMLContent;
|
72
|
+
typedef gboolean (*GsfXMLInUnknownFunc) (GsfXMLIn *xin,
|
73
|
+
xmlChar const *elem, xmlChar const **attrs);
|
74
|
+
typedef void (*GsfXMLInExtDtor) (GsfXMLIn *xin, gpointer old_state);
|
75
|
+
|
76
|
+
struct _GsfXMLIn {
|
77
|
+
/* public state : read only */
|
78
|
+
gpointer user_state;
|
79
|
+
GString *content;
|
80
|
+
GsfXMLInDoc const *doc;
|
81
|
+
GsfXMLInNode const *node; /* current node (not on the stack) */
|
82
|
+
/*< private >*/
|
83
|
+
GSList *node_stack; /* stack of GsfXMLInNode */
|
84
|
+
};
|
85
|
+
|
86
|
+
struct _GsfXMLInNode {
|
87
|
+
char const *id; /* unique in the entire tree */
|
88
|
+
int ns_id;
|
89
|
+
char const *name;
|
90
|
+
char const *parent_id;
|
91
|
+
void (*start) (GsfXMLIn *xin, xmlChar const **attrs);
|
92
|
+
void (*end) (GsfXMLIn *xin, GsfXMLBlob *unknown);
|
93
|
+
|
94
|
+
union {
|
95
|
+
int v_int;
|
96
|
+
gboolean v_bool;
|
97
|
+
gpointer v_blob;
|
98
|
+
char const *v_str;
|
99
|
+
} user_data;
|
100
|
+
GsfXMLContent has_content;
|
101
|
+
|
102
|
+
unsigned int check_children_for_ns : 1;
|
103
|
+
unsigned int share_children_with_parent : 1;
|
104
|
+
};
|
105
|
+
|
106
|
+
struct _GsfXMLInNS {
|
107
|
+
char const *uri;
|
108
|
+
unsigned ns_id;
|
109
|
+
};
|
110
|
+
|
111
|
+
#define GSF_XML_IN_NS(id, uri) \
|
112
|
+
{ uri, id }
|
113
|
+
#define GSF_XML_IN_NS_END \
|
114
|
+
{ NULL, 0 }
|
115
|
+
|
116
|
+
#define GSF_XML_IN_NODE_FULL(parent_id, id, ns, name, has_content, \
|
117
|
+
share_children_with_parent, check_ns, start, end, user) \
|
118
|
+
{ \
|
119
|
+
#id, ns, name, #parent_id, start, end, { user }, has_content, \
|
120
|
+
check_ns, share_children_with_parent, \
|
121
|
+
}
|
122
|
+
|
123
|
+
#define GSF_XML_IN_NODE(parent_id, id, ns, name, has_content, start, end) \
|
124
|
+
GSF_XML_IN_NODE_FULL(parent_id, id, ns, name, has_content, \
|
125
|
+
FALSE, FALSE, start, end, 0)
|
126
|
+
#define GSF_XML_IN_NODE_END \
|
127
|
+
{ NULL, 0, NULL, NULL, NULL, NULL, { 0 }, GSF_XML_NO_CONTENT, FALSE, FALSE }
|
128
|
+
|
129
|
+
GType gsf_xml_in_doc_get_type (void);
|
130
|
+
GsfXMLInDoc *gsf_xml_in_doc_new (GsfXMLInNode const *nodes, GsfXMLInNS const *ns);
|
131
|
+
void gsf_xml_in_doc_free (GsfXMLInDoc *doc);
|
132
|
+
gboolean gsf_xml_in_doc_parse (GsfXMLInDoc *doc, GsfInput *input,
|
133
|
+
gpointer user_state);
|
134
|
+
void gsf_xml_in_doc_add_nodes (GsfXMLInDoc *doc,
|
135
|
+
GsfXMLInNode const *nodes);
|
136
|
+
void gsf_xml_in_doc_set_unknown_handler (GsfXMLInDoc *doc,
|
137
|
+
GsfXMLInUnknownFunc handler);
|
138
|
+
|
139
|
+
void gsf_xml_in_push_state (GsfXMLIn *xin, GsfXMLInDoc const *doc,
|
140
|
+
gpointer new_state, GsfXMLInExtDtor dtor,
|
141
|
+
xmlChar const **attrs);
|
142
|
+
|
143
|
+
GsfInput *gsf_xml_in_get_input (GsfXMLIn const *xin);
|
144
|
+
char const *gsf_xml_in_check_ns (GsfXMLIn const *xin, char const *str,
|
145
|
+
unsigned int ns_id);
|
146
|
+
gboolean gsf_xml_in_namecmp (GsfXMLIn const *xin, char const *str,
|
147
|
+
unsigned int ns_id, char const *name);
|
148
|
+
void gsf_xml_in_set_silent_unknowns (GsfXMLIn *xin, gboolean silent);
|
149
|
+
|
150
|
+
GType gsf_xml_in_ns_get_type (void);
|
151
|
+
|
152
|
+
/****************************************************************************/
|
153
|
+
/* Simplified GSF based xml export (does not use libxml) */
|
154
|
+
|
155
|
+
struct GsfXMLOutClass_ {
|
156
|
+
GObjectClass base;
|
157
|
+
|
158
|
+
/*< private >*/
|
159
|
+
/* Padding for future expansion */
|
160
|
+
void (*_gsf_reserved1) (void);
|
161
|
+
void (*_gsf_reserved2) (void);
|
162
|
+
void (*_gsf_reserved3) (void);
|
163
|
+
void (*_gsf_reserved4) (void);
|
164
|
+
};
|
165
|
+
|
166
|
+
struct _GsfXMLOut {
|
167
|
+
GObject base;
|
168
|
+
GsfOutput *output;
|
169
|
+
|
170
|
+
/*< private >*/
|
171
|
+
struct _GsfXMLOutPrivate *priv;
|
172
|
+
};
|
173
|
+
|
174
|
+
#define GSF_XML_OUT_TYPE (gsf_xml_out_get_type ())
|
175
|
+
#define GSF_XML_OUT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GSF_XML_OUT_TYPE, GsfXMLOut))
|
176
|
+
#define GSF_IS_XML_OUT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GSF_XML_OUT_TYPE))
|
177
|
+
|
178
|
+
GType gsf_xml_out_get_type (void) G_GNUC_CONST;
|
179
|
+
/* void gsf_xml_out_register_type (GTypeModule *module); glib dynamic types are not thread safe */
|
180
|
+
|
181
|
+
GsfXMLOut *gsf_xml_out_new (GsfOutput *output);
|
182
|
+
|
183
|
+
void gsf_xml_out_set_doc_type (GsfXMLOut *xout, char const *type);
|
184
|
+
void gsf_xml_out_start_element (GsfXMLOut *xout, char const *id);
|
185
|
+
char const *gsf_xml_out_end_element (GsfXMLOut *xout);
|
186
|
+
|
187
|
+
gboolean gsf_xml_out_get_pretty_print (GsfXMLOut *xout);
|
188
|
+
gboolean gsf_xml_out_set_pretty_print (GsfXMLOut *xout, gboolean pp);
|
189
|
+
|
190
|
+
void gsf_xml_out_simple_element (GsfXMLOut *xout, char const *id,
|
191
|
+
char const *content);
|
192
|
+
void gsf_xml_out_simple_int_element (GsfXMLOut *xout, char const *id,
|
193
|
+
int val);
|
194
|
+
void gsf_xml_out_simple_float_element (GsfXMLOut *xout, char const *id,
|
195
|
+
double val, int precision);
|
196
|
+
|
197
|
+
void gsf_xml_out_add_cstr_unchecked (GsfXMLOut *xout, char const *id,
|
198
|
+
char const *val_utf8);
|
199
|
+
void gsf_xml_out_add_cstr (GsfXMLOut *xout, char const *id,
|
200
|
+
char const *val_utf8);
|
201
|
+
void gsf_xml_out_add_bool (GsfXMLOut *xout, char const *id,
|
202
|
+
gboolean val);
|
203
|
+
void gsf_xml_out_add_int (GsfXMLOut *xout, char const *id,
|
204
|
+
int val);
|
205
|
+
void gsf_xml_out_add_uint (GsfXMLOut *xout, char const *id,
|
206
|
+
unsigned int val);
|
207
|
+
void gsf_xml_out_add_float (GsfXMLOut *xout, char const *id,
|
208
|
+
double val, int precision);
|
209
|
+
void gsf_xml_out_add_color (GsfXMLOut *xout, char const *id,
|
210
|
+
unsigned int r, unsigned int g, unsigned int b);
|
211
|
+
void gsf_xml_out_add_base64 (GsfXMLOut *xout, char const *id,
|
212
|
+
guint8 const *data, unsigned int len);
|
213
|
+
void gsf_xml_out_add_enum (GsfXMLOut *xout, char const *id,
|
214
|
+
GType etype, gint val);
|
215
|
+
void gsf_xml_out_add_gvalue (GsfXMLOut *xout, char const *id,
|
216
|
+
GValue const *val);
|
217
|
+
|
218
|
+
/****************************************************************************/
|
219
|
+
/* Some general utilities */
|
220
|
+
gboolean gsf_xml_gvalue_from_str (GValue *res, GType t, char const *str);
|
221
|
+
GsfOutput *gsf_xml_out_get_output (GsfXMLOut const *xout);
|
222
|
+
|
223
|
+
G_END_DECLS
|
224
|
+
|
225
|
+
#endif /* GSF_LIBXML_H */
|