gsf 3.0.9-x86-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.rb +53 -0
- data/lib/gsf/input.rb +26 -0
- data/lib/gsf/loader.rb +57 -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-win32/gsf-input-win32.h +41 -0
- data/vendor/local/include/libgsf-1/gsf-win32/gsf-output-win32.h +41 -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/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
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 8773f5b57328adafd946d1d072abc003fb43eb4c
|
4
|
+
data.tar.gz: c4886137c9068450c9f94be2f612b385229a17ac
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 371349a38a76b82b0ee602c8ad7234c193a237fc7d2cc0a7c7d229bc45fab711313a07b631f0248715b89921666aa5058e6d7de8c2e7e827c48e862a3f018d15
|
7
|
+
data.tar.gz: 4c7f4ca34b0519482db9ca780433bb204903868a08bbf930dff58e6e4367e145656ff3055924a4fa22518e18f0fa807653b72c2c6a7e6b742c7075512fe76ece
|
data/Rakefile
ADDED
@@ -0,0 +1,55 @@
|
|
1
|
+
# -*- ruby -*-
|
2
|
+
#
|
3
|
+
# Copyright (C) 2016 Ruby-GNOME2 Project Team
|
4
|
+
#
|
5
|
+
# This library is free software; you can redistribute it and/or
|
6
|
+
# modify it under the terms of the GNU Lesser General Public
|
7
|
+
# License as published by the Free Software Foundation; either
|
8
|
+
# version 2.1 of the License, or (at your option) any later version.
|
9
|
+
#
|
10
|
+
# This library is distributed in the hope that it will be useful,
|
11
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
12
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
13
|
+
# Lesser General Public License for more details.
|
14
|
+
#
|
15
|
+
# You should have received a copy of the GNU Lesser General Public
|
16
|
+
# License along with this library; if not, write to the Free Software
|
17
|
+
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
18
|
+
|
19
|
+
$LOAD_PATH.unshift("./../glib2/lib")
|
20
|
+
require 'gnome2/rake/package-task'
|
21
|
+
|
22
|
+
package_task = GNOME2::Rake::PackageTask.new do |package|
|
23
|
+
package.summary = "Ruby/GSF is a Ruby binding of GSF."
|
24
|
+
package.description = "Ruby/GSF is a Ruby binding of GSF."
|
25
|
+
package.dependency.gem.runtime = ["gio2", "gobject-introspection"]
|
26
|
+
package.windows.packages = []
|
27
|
+
package.windows.dependencies = ["libxml2"]
|
28
|
+
package.windows.build_dependencies = [
|
29
|
+
"glib2",
|
30
|
+
"gio2",
|
31
|
+
"cairo-gobject",
|
32
|
+
"gobject-introspection",
|
33
|
+
]
|
34
|
+
package.windows.gobject_introspection_dependencies = [
|
35
|
+
"gio2",
|
36
|
+
"cairo-gobject",
|
37
|
+
]
|
38
|
+
package.external_packages = [
|
39
|
+
{
|
40
|
+
:name => "libgsf",
|
41
|
+
:download_site => :gnome,
|
42
|
+
:label => "gsf",
|
43
|
+
:version => "1.14.39",
|
44
|
+
:compression_method => "xz",
|
45
|
+
:windows => {
|
46
|
+
:configure_args => [
|
47
|
+
],
|
48
|
+
:patches => [
|
49
|
+
],
|
50
|
+
:built_file => "bin/libgsf-win32-1-114.dll",
|
51
|
+
},
|
52
|
+
},
|
53
|
+
]
|
54
|
+
end
|
55
|
+
package_task.define
|
data/lib/gsf.rb
ADDED
@@ -0,0 +1,53 @@
|
|
1
|
+
# Copyright (C) 2016 Ruby-GNOME2 Project Team
|
2
|
+
#
|
3
|
+
# This library is free software; you can redistribute it and/or
|
4
|
+
# modify it under the terms of the GNU Lesser General Public
|
5
|
+
# License as published by the Free Software Foundation; either
|
6
|
+
# version 2.1 of the License, or (at your option) any later version.
|
7
|
+
#
|
8
|
+
# This library is distributed in the hope that it will be useful,
|
9
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
10
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
11
|
+
# Lesser General Public License for more details.
|
12
|
+
#
|
13
|
+
# You should have received a copy of the GNU Lesser General Public
|
14
|
+
# License along with this library; if not, write to the Free Software
|
15
|
+
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
16
|
+
|
17
|
+
require "gobject-introspection"
|
18
|
+
require "gio2"
|
19
|
+
|
20
|
+
base_dir = Pathname.new(__FILE__).dirname.dirname.expand_path
|
21
|
+
vendor_dir = base_dir + "vendor" + "local"
|
22
|
+
vendor_bin_dir = vendor_dir + "bin"
|
23
|
+
GLib.prepend_dll_path(vendor_bin_dir)
|
24
|
+
vendor_girepository_dir = vendor_dir + "lib" + "girepository-1.0"
|
25
|
+
GObjectIntrospection.prepend_typelib_path(vendor_girepository_dir)
|
26
|
+
|
27
|
+
require "gsf/loader"
|
28
|
+
|
29
|
+
module Gsf
|
30
|
+
LOG_DOMAIN = "Gsf"
|
31
|
+
GLib::Log.set_log_domain(LOG_DOMAIN)
|
32
|
+
|
33
|
+
class << self
|
34
|
+
def const_missing(name)
|
35
|
+
init
|
36
|
+
if const_defined?(name)
|
37
|
+
const_get(name)
|
38
|
+
else
|
39
|
+
super
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
def init
|
44
|
+
class << self
|
45
|
+
remove_method(:init)
|
46
|
+
remove_method(:const_missing)
|
47
|
+
end
|
48
|
+
Gio.init if Gio.respond_to?(:init)
|
49
|
+
loader = Loader.new(self)
|
50
|
+
loader.load("Gsf")
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
data/lib/gsf/input.rb
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
# Copyright (C) 2016 Ruby-GNOME2 Project Team
|
2
|
+
#
|
3
|
+
# This library is free software; you can redistribute it and/or
|
4
|
+
# modify it under the terms of the GNU Lesser General Public
|
5
|
+
# License as published by the Free Software Foundation; either
|
6
|
+
# version 2.1 of the License, or (at your option) any later version.
|
7
|
+
#
|
8
|
+
# This library is distributed in the hope that it will be useful,
|
9
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
10
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
11
|
+
# Lesser General Public License for more details.
|
12
|
+
#
|
13
|
+
# You should have received a copy of the GNU Lesser General Public
|
14
|
+
# License along with this library; if not, write to the Free Software
|
15
|
+
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
16
|
+
|
17
|
+
module Gsf
|
18
|
+
class Input
|
19
|
+
alias_method :read_raw, :read
|
20
|
+
def read(size=nil)
|
21
|
+
size ||= remaining
|
22
|
+
bytes = read_raw(size)
|
23
|
+
bytes.pack("C*")
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
data/lib/gsf/loader.rb
ADDED
@@ -0,0 +1,57 @@
|
|
1
|
+
# Copyright (C) 2016 Ruby-GNOME2 Project Team
|
2
|
+
#
|
3
|
+
# This library is free software; you can redistribute it and/or
|
4
|
+
# modify it under the terms of the GNU Lesser General Public
|
5
|
+
# License as published by the Free Software Foundation; either
|
6
|
+
# version 2.1 of the License, or (at your option) any later version.
|
7
|
+
#
|
8
|
+
# This library is distributed in the hope that it will be useful,
|
9
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
10
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
11
|
+
# Lesser General Public License for more details.
|
12
|
+
#
|
13
|
+
# You should have received a copy of the GNU Lesser General Public
|
14
|
+
# License along with this library; if not, write to the Free Software
|
15
|
+
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
16
|
+
|
17
|
+
module Gsf
|
18
|
+
class Loader < GObjectIntrospection::Loader
|
19
|
+
private
|
20
|
+
def load_function_info(info)
|
21
|
+
name = info.name
|
22
|
+
case name
|
23
|
+
when "init"
|
24
|
+
# ignore
|
25
|
+
else
|
26
|
+
super
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def load_enum_value(value_info, enum_module)
|
31
|
+
# TODO: Add constant name rename feature to
|
32
|
+
# gobject-introspection and use it.
|
33
|
+
if value_info.name == "2nd"
|
34
|
+
enum_module.const_set("SECOND", value_info.value)
|
35
|
+
else
|
36
|
+
super
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
def pre_load(repository, namespace)
|
41
|
+
end
|
42
|
+
|
43
|
+
def post_load(repository, namespace)
|
44
|
+
require_libraries
|
45
|
+
end
|
46
|
+
|
47
|
+
def require_libraries
|
48
|
+
require "gsf/input"
|
49
|
+
end
|
50
|
+
|
51
|
+
def initialize_post(object)
|
52
|
+
super
|
53
|
+
return unless object.is_a?(GLib::Object)
|
54
|
+
self.class.reference_gobject(object, :sink => true)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# Copyright (C) 2016 Ruby-GNOME2 Project Team
|
2
|
+
#
|
3
|
+
# This library is free software; you can redistribute it and/or
|
4
|
+
# modify it under the terms of the GNU Lesser General Public
|
5
|
+
# License as published by the Free Software Foundation; either
|
6
|
+
# version 2.1 of the License, or (at your option) any later version.
|
7
|
+
#
|
8
|
+
# This library is distributed in the hope that it will be useful,
|
9
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
10
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
11
|
+
# Lesser General Public License for more details.
|
12
|
+
#
|
13
|
+
# You should have received a copy of the GNU Lesser General Public
|
14
|
+
# License along with this library; if not, write to the Free Software
|
15
|
+
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
16
|
+
|
17
|
+
require "tempfile"
|
18
|
+
|
19
|
+
require "test-unit"
|
20
|
+
|
21
|
+
module GsfTestUtils
|
22
|
+
end
|
data/test/run-test.rb
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
#
|
3
|
+
# Copyright (C) 2016 Ruby-GNOME2 Project Team
|
4
|
+
#
|
5
|
+
# This library is free software; you can redistribute it and/or
|
6
|
+
# modify it under the terms of the GNU Lesser General Public
|
7
|
+
# License as published by the Free Software Foundation; either
|
8
|
+
# version 2.1 of the License, or (at your option) any later version.
|
9
|
+
#
|
10
|
+
# This library is distributed in the hope that it will be useful,
|
11
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
12
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
13
|
+
# Lesser General Public License for more details.
|
14
|
+
#
|
15
|
+
# You should have received a copy of the GNU Lesser General Public
|
16
|
+
# License along with this library; if not, write to the Free Software
|
17
|
+
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
18
|
+
|
19
|
+
ruby_gnome2_base = File.join(File.dirname(__FILE__), "..", "..")
|
20
|
+
ruby_gnome2_base = File.expand_path(ruby_gnome2_base)
|
21
|
+
|
22
|
+
gobject_introspection_base = File.join(ruby_gnome2_base, "gobject-introspection")
|
23
|
+
gio2_base = File.join(ruby_gnome2_base, "gio2")
|
24
|
+
gsf_base = File.join(ruby_gnome2_base, "gsf")
|
25
|
+
|
26
|
+
modules = [
|
27
|
+
[gobject_introspection_base, "gobject-introspection"],
|
28
|
+
[gio2_base, "gio2"],
|
29
|
+
[gsf_base, "gsf"]
|
30
|
+
]
|
31
|
+
|
32
|
+
modules.each do |target, module_name|
|
33
|
+
makefile = File.join(target, "Makefile")
|
34
|
+
if File.exist?(makefile) and system("which make > /dev/null")
|
35
|
+
`make -C #{target.dump} > /dev/null` or exit(false)
|
36
|
+
end
|
37
|
+
$LOAD_PATH.unshift(File.join(target, "ext", module_name))
|
38
|
+
$LOAD_PATH.unshift(File.join(target, "lib"))
|
39
|
+
end
|
40
|
+
|
41
|
+
$LOAD_PATH.unshift(File.join(gsf_base, "test"))
|
42
|
+
require "gsf-test-utils"
|
43
|
+
|
44
|
+
require "gsf"
|
45
|
+
|
46
|
+
exit Test::Unit::AutoRunner.run(true, File.join(gsf_base, "test"))
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# Copyright (C) 2016 Ruby-GNOME2 Project Team
|
2
|
+
#
|
3
|
+
# This library is free software; you can redistribute it and/or
|
4
|
+
# modify it under the terms of the GNU Lesser General Public
|
5
|
+
# License as published by the Free Software Foundation; either
|
6
|
+
# version 2.1 of the License, or (at your option) any later version.
|
7
|
+
#
|
8
|
+
# This library is distributed in the hope that it will be useful,
|
9
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
10
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
11
|
+
# Lesser General Public License for more details.
|
12
|
+
#
|
13
|
+
# You should have received a copy of the GNU Lesser General Public
|
14
|
+
# License along with this library; if not, write to the Free Software
|
15
|
+
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
16
|
+
|
17
|
+
class InputStdioTest < Test::Unit::TestCase
|
18
|
+
test ".new" do
|
19
|
+
file = Tempfile.new("test-input-stdio")
|
20
|
+
file.write("hello")
|
21
|
+
file.close
|
22
|
+
input = Gsf::InputStdio.new(file.path)
|
23
|
+
assert_equal("hello", input.read)
|
24
|
+
end
|
25
|
+
end
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,41 @@
|
|
1
|
+
/* vim: set sw=8: -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
|
2
|
+
/*
|
3
|
+
* gsf-input-win32.h:
|
4
|
+
*
|
5
|
+
* Copyright (C) 2003 Dom Lachowicz <cinamod@hotmail.com>
|
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_WIN32_H
|
23
|
+
#define GSF_INPUT_WIN32_H
|
24
|
+
|
25
|
+
#include <gsf/gsf-input.h>
|
26
|
+
#include <windows.h>
|
27
|
+
|
28
|
+
G_BEGIN_DECLS
|
29
|
+
|
30
|
+
#define GSF_INPUT_ISTREAM_TYPE (gsf_input_istream_get_type ())
|
31
|
+
#define GSF_INPUT_ISTREAM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GSF_INPUT_ISTREAM_TYPE, GsfInputIStream))
|
32
|
+
#define GSF_IS_INPUT_ISTREAM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GSF_INPUT_ISTREAM_TYPE))
|
33
|
+
|
34
|
+
typedef struct _GsfInputIStream GsfInputIStream;
|
35
|
+
|
36
|
+
GType gsf_input_istream_get_type (void);
|
37
|
+
GsfInput *gsf_input_istream_new (IStream * stream, GError **err);
|
38
|
+
|
39
|
+
G_END_DECLS
|
40
|
+
|
41
|
+
#endif /* GSF_INPUT_ISTREAM_H */
|
@@ -0,0 +1,41 @@
|
|
1
|
+
/* vim: set sw=8: -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
|
2
|
+
/*
|
3
|
+
* gsf-outut-win32.h:
|
4
|
+
*
|
5
|
+
* Copyright (C) 2003 Dom Lachowicz <cinamod@hotmail.com>
|
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_OUTPUT_WIN32_H
|
23
|
+
#define GSF_OUTPUT_WIN32_H
|
24
|
+
|
25
|
+
#include <gsf/gsf-output.h>
|
26
|
+
#include <windows.h>
|
27
|
+
|
28
|
+
G_BEGIN_DECLS
|
29
|
+
|
30
|
+
#define GSF_OUTPUT_ISTREAM_TYPE (gsf_output_istream_get_type ())
|
31
|
+
#define GSF_OUTPUT_ISTREAM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GSF_OUTPUT_ISTREAM_TYPE, GsfOutputIStream))
|
32
|
+
#define GSF_IS_OUTPUT_ISTREAM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GSF_OUTPUT_ISTREAM_TYPE))
|
33
|
+
|
34
|
+
typedef struct _GsfOutputIStream GsfOutputIStream;
|
35
|
+
|
36
|
+
GType gsf_output_istream_get_type (void);
|
37
|
+
GsfOutput *gsf_output_istream_new (IStream * stream);
|
38
|
+
|
39
|
+
G_END_DECLS
|
40
|
+
|
41
|
+
#endif /* GSF_OUTPUT_ISTREAM_H */
|
@@ -0,0 +1,39 @@
|
|
1
|
+
#ifndef GSF_BLOB_H
|
2
|
+
#define GSF_BLOB_H
|
3
|
+
|
4
|
+
#include <gsf/gsf-fwd.h>
|
5
|
+
|
6
|
+
G_BEGIN_DECLS
|
7
|
+
|
8
|
+
#define GSF_BLOB_TYPE (gsf_blob_get_type ())
|
9
|
+
#define GSF_BLOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GSF_BLOB_TYPE, GsfBlob))
|
10
|
+
#define GSF_BLOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GSF_BLOB_TYPE, GsfBlobClass))
|
11
|
+
#define GSF_IS_BLOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GSF_BLOB_TYPE))
|
12
|
+
#define GSF_IS_BLOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GSF_BLOB_TYPE))
|
13
|
+
#define GSF_BLOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GSF_BLOB_TYPE, GsfBlobClass))
|
14
|
+
|
15
|
+
/* Deprecated old typo */
|
16
|
+
#define GSF_TYPE_BLOB (gsf_blob_get_type ())
|
17
|
+
|
18
|
+
typedef struct _GsfBlobClass GsfBlobClass;
|
19
|
+
typedef struct _GsfBlobPrivate GsfBlobPrivate;
|
20
|
+
|
21
|
+
struct _GsfBlob {
|
22
|
+
GObject object;
|
23
|
+
GsfBlobPrivate *priv;
|
24
|
+
};
|
25
|
+
|
26
|
+
GType gsf_blob_get_type (void) G_GNUC_CONST;
|
27
|
+
/* void gsf_blob_register_type (GTypeModule *module); glib dynamic types are not thread safe */
|
28
|
+
|
29
|
+
GsfBlob *gsf_blob_new (gsize size,
|
30
|
+
gconstpointer data_to_copy,
|
31
|
+
GError **error);
|
32
|
+
|
33
|
+
gsize gsf_blob_get_size (GsfBlob const *blob);
|
34
|
+
|
35
|
+
gconstpointer gsf_blob_peek_data (GsfBlob const *blob);
|
36
|
+
|
37
|
+
G_END_DECLS
|
38
|
+
|
39
|
+
#endif
|
@@ -0,0 +1,72 @@
|
|
1
|
+
#ifndef GSF_CLIP_DATA_H
|
2
|
+
#define GSF_CLIP_DATA_H
|
3
|
+
|
4
|
+
#include <gsf/gsf-fwd.h>
|
5
|
+
|
6
|
+
G_BEGIN_DECLS
|
7
|
+
|
8
|
+
/**
|
9
|
+
* GsfClipFormat:
|
10
|
+
* @GSF_CLIP_FORMAT_WINDOWS_CLIPBOARD: Windows clipboard format
|
11
|
+
* @GSF_CLIP_FORMAT_MACINTOSH_CLIPBOARD: Macintosh clipboard format
|
12
|
+
* @GSF_CLIP_FORMAT_GUID: GUID that contains a format identifier
|
13
|
+
* @GSF_CLIP_FORMAT_NO_DATA: No clipboard data
|
14
|
+
* @GSF_CLIP_FORMAT_CLIPBOARD_FORMAT_NAME: Custom clipboard format
|
15
|
+
* @GSF_CLIP_FORMAT_UNKNOWN: Unknown clipboard type or invalid data
|
16
|
+
*/
|
17
|
+
|
18
|
+
typedef enum {
|
19
|
+
GSF_CLIP_FORMAT_WINDOWS_CLIPBOARD = -1,
|
20
|
+
GSF_CLIP_FORMAT_MACINTOSH_CLIPBOARD = -2,
|
21
|
+
GSF_CLIP_FORMAT_GUID = -3,
|
22
|
+
GSF_CLIP_FORMAT_NO_DATA = 0,
|
23
|
+
GSF_CLIP_FORMAT_CLIPBOARD_FORMAT_NAME = 1, /* in the file it's actually any positive integer */
|
24
|
+
GSF_CLIP_FORMAT_UNKNOWN /* this is our own value for unknown types or invalid data */
|
25
|
+
} GsfClipFormat;
|
26
|
+
|
27
|
+
typedef enum {
|
28
|
+
GSF_CLIP_FORMAT_WINDOWS_ERROR = -1, /* our own value */
|
29
|
+
GSF_CLIP_FORMAT_WINDOWS_UNKNOWN = -2, /* our own value */
|
30
|
+
GSF_CLIP_FORMAT_WINDOWS_METAFILE = 3, /* CF_METAFILEPICT */
|
31
|
+
GSF_CLIP_FORMAT_WINDOWS_DIB = 8, /* CF_DIB */
|
32
|
+
GSF_CLIP_FORMAT_WINDOWS_ENHANCED_METAFILE = 14 /* CF_ENHMETAFILE */
|
33
|
+
} GsfClipFormatWindows;
|
34
|
+
|
35
|
+
#define GSF_TYPE_CLIP_DATA (gsf_clip_data_get_type ())
|
36
|
+
#define GSF_CLIP_DATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GSF_TYPE_CLIP_DATA, GsfClipData))
|
37
|
+
#define GSF_CLIP_DATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GSF_TYPE_CLIP_DATA, GsfClipDataClass))
|
38
|
+
#define GSF_IS_CLIP_DATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GSF_TYPE_CLIP_DATA))
|
39
|
+
#define GSF_IS_CLIP_DATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GSF_TYPE_CLIP_DATA))
|
40
|
+
#define GSF_CLIP_DATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GSF_TYPE_CLIP_DATA, GsfClipDataClass))
|
41
|
+
|
42
|
+
typedef struct _GsfClipData GsfClipData;
|
43
|
+
typedef struct _GsfClipDataClass GsfClipDataClass;
|
44
|
+
typedef struct _GsfClipDataPrivate GsfClipDataPrivate;
|
45
|
+
|
46
|
+
struct _GsfClipData {
|
47
|
+
GObject object;
|
48
|
+
|
49
|
+
GsfClipDataPrivate *priv;
|
50
|
+
};
|
51
|
+
|
52
|
+
GType gsf_clip_data_get_type (void) G_GNUC_CONST;
|
53
|
+
/* void gsf_clip_data_register_type (GTypeModule *module); glib dynamic types are not thread safe */
|
54
|
+
|
55
|
+
GsfClipData *gsf_clip_data_new (GsfClipFormat format,
|
56
|
+
GsfBlob *data_blob);
|
57
|
+
|
58
|
+
GsfClipFormat gsf_clip_data_get_format (GsfClipData *clip_data);
|
59
|
+
|
60
|
+
GsfBlob *gsf_clip_data_get_data_blob (GsfClipData *clip_data);
|
61
|
+
|
62
|
+
GsfClipFormatWindows gsf_clip_data_get_windows_clipboard_format (GsfClipData *clip_data,
|
63
|
+
GError **error);
|
64
|
+
|
65
|
+
gconstpointer gsf_clip_data_peek_real_data (GsfClipData *clip_data,
|
66
|
+
gsize *ret_size,
|
67
|
+
GError **error);
|
68
|
+
|
69
|
+
|
70
|
+
G_END_DECLS
|
71
|
+
|
72
|
+
#endif /* GSF_CLIP_DATA_H */
|