gsf 3.0.9-x64-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- 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 */
|