summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorNiels De Graef <nielsdegraef@gmail.com>2021-09-30 13:41:44 +0200
committerCorentin Noël <tintou@noel.tf>2021-11-10 10:51:39 +0000
commit6fc2f87a5e02558d9550a533fc0266aea5a127c0 (patch)
treefbb7ea3fabb25080e36a12738ab6504c30a34371 /docs
parent8617fe225a045a0eba701bdc0bf6349480720233 (diff)
downloadgcr-6fc2f87a5e02558d9550a533fc0266aea5a127c0.tar.gz
docs: Port from gtk-doc to gi-docgen
gtk-doc has been slowly dying for the past few years. With gi-docgen we have a clear successor in sight to replace the voodoo magic one needs to get the whole documentation setup. See the [gi-docgen tutorial] for more info on how the system works. Since we're now only the C compiler (and GIR) parse the C code, that means we can also get rid of all the special escapes for the # character in PKCS#11. [gi-docgen tutorial]: https://gnome.pages.gitlab.gnome.org/gi-docgen/tutorial.html
Diffstat (limited to 'docs')
-rw-r--r--docs/COPYING (renamed from docs/reference/COPYING)0
-rw-r--r--docs/gck/gck.toml.in34
-rw-r--r--docs/gck/meson.build34
-rw-r--r--docs/gck/pkcs11-links.md32
-rw-r--r--docs/gcr/gcr-base.toml.in40
-rw-r--r--docs/gcr/meson.build36
-rw-r--r--docs/gcr/non-pageable-memory.md21
-rw-r--r--docs/gcr/pkcs11-configuration.md16
-rw-r--r--docs/gcr/trust-store.md38
-rw-r--r--docs/meson.build14
-rw-r--r--docs/reference/gck/gck-docs.sgml37
-rw-r--r--docs/reference/gck/gck-overrides.txt2
-rw-r--r--docs/reference/gck/gck-pkcs11-links.xml25
-rw-r--r--docs/reference/gck/gck-sections.txt484
-rw-r--r--docs/reference/gck/gck.types15
-rw-r--r--docs/reference/gck/meson.build36
-rw-r--r--docs/reference/gck/version.xml.in1
-rw-r--r--docs/reference/gcr/gcr-docs.sgml81
-rw-r--r--docs/reference/gcr/gcr-overrides.txt2
-rw-r--r--docs/reference/gcr/gcr-sections.txt899
-rw-r--r--docs/reference/gcr/gcr-shooter.c466
-rw-r--r--docs/reference/gcr/gcr-shooter.h23
-rw-r--r--docs/reference/gcr/gcr-visual-index.xml27
-rw-r--r--docs/reference/gcr/gcr-widgets.c236
-rw-r--r--docs/reference/gcr/gcr.types29
-rw-r--r--docs/reference/gcr/meson.build83
-rw-r--r--docs/reference/gcr/version.xml.in1
-rw-r--r--docs/ui/gcr-ui.toml.in56
-rw-r--r--docs/ui/images/certificate-widget.png (renamed from docs/reference/gcr/images/certificate-widget.png)bin16144 -> 16144 bytes
-rw-r--r--docs/ui/images/combo-selector.png (renamed from docs/reference/gcr/images/combo-selector.png)bin7065 -> 7065 bytes
-rw-r--r--docs/ui/images/import-button.png (renamed from docs/reference/gcr/images/import-button.png)bin2925 -> 2925 bytes
-rw-r--r--docs/ui/images/key-widget.png (renamed from docs/reference/gcr/images/key-widget.png)bin10159 -> 10159 bytes
-rw-r--r--docs/ui/images/list-selector.png (renamed from docs/reference/gcr/images/list-selector.png)bin10123 -> 10123 bytes
-rw-r--r--docs/ui/images/tree-selector.png (renamed from docs/reference/gcr/images/tree-selector.png)bin10628 -> 10628 bytes
-rw-r--r--docs/ui/images/viewer-widget.png (renamed from docs/reference/gcr/images/viewer-widget.png)bin13167 -> 13167 bytes
-rw-r--r--docs/ui/meson.build35
-rw-r--r--docs/ui/widget-gallery.md20
37 files changed, 374 insertions, 2449 deletions
diff --git a/docs/reference/COPYING b/docs/COPYING
index d5c1293..d5c1293 100644
--- a/docs/reference/COPYING
+++ b/docs/COPYING
diff --git a/docs/gck/gck.toml.in b/docs/gck/gck.toml.in
new file mode 100644
index 0000000..696b940
--- /dev/null
+++ b/docs/gck/gck.toml.in
@@ -0,0 +1,34 @@
+[library]
+namespace = "Gck"
+version = "@GCK_VERSION@"
+browse_url = "https://gitlab.gnome.org/GNOME/gcr/"
+repository_url = "https://gitlab.gnome.org/GNOME/gcr.git"
+authors = "GCK contributors"
+license = "LGPL-2.0-or-later"
+description = "GObject bindings for PKCS#11"
+dependencies = [ "GObject-2.0", "Gio-2.0" ]
+devhelp = true
+search_index = true
+
+ [dependencies."GObject-2.0"]
+ name = "GObject"
+ description = "The base type system library"
+ docs_url = "https://developer.gnome.org/gobject/stable"
+
+ [dependencies."Gio-2.0"]
+ name = "Gio"
+ description = "GObject interfaces and objects"
+ docs_url = "https://developer.gnome.org/gio/stable"
+
+[theme]
+name = "basic"
+show_index_summary = true
+show_class_hierarchy = true
+
+[source-location]
+base_url = "https://gitlab.gnome.org/GNOME/gcr/-/blob/master/"
+
+[extra]
+content_files = [
+ 'pkcs11-links.md',
+]
diff --git a/docs/gck/meson.build b/docs/gck/meson.build
new file mode 100644
index 0000000..f06381b
--- /dev/null
+++ b/docs/gck/meson.build
@@ -0,0 +1,34 @@
+gck_content_files = [
+ 'pkcs11-links.md',
+]
+
+gck_toml = configure_file(
+ input: 'gck.toml.in',
+ output: 'gck.toml',
+ configuration: {
+ 'GCK_VERSION': gck_major_version,
+ },
+)
+
+gck_docs = custom_target('gck-docs',
+ input: gck_gir[0],
+ output: 'gck-@0@'.format(gck_major_version),
+ command: [
+ gi_docgen,
+ 'generate',
+ '--quiet',
+ '--fatal-warnings',
+ '--config', gck_toml,
+ '--output-dir=@OUTPUT@',
+ '--no-namespace-dir',
+ '--content-dir=@0@'.format(meson.current_source_dir()),
+ '@INPUT@',
+ ],
+ depend_files: [
+ gck_toml,
+ gck_content_files,
+ ],
+ build_by_default: true,
+ install: true,
+ install_dir: get_option('datadir') / 'doc',
+)
diff --git a/docs/gck/pkcs11-links.md b/docs/gck/pkcs11-links.md
new file mode 100644
index 0000000..ad89d6c
--- /dev/null
+++ b/docs/gck/pkcs11-links.md
@@ -0,0 +1,32 @@
+Title: About PKCS#11
+
+About PKCS#11
+=============
+PKCS#11 is an API for storing and using crypto objects, and performing crypto
+operations on them.
+
+It is specified at the [RSA website] and a [handy PKCS#11 reference] is also
+available.
+
+## PKCS#11 URIs
+[PKCS#11 URIs] are a standard for referring to PKCS#11 modules, tokens, or
+objects. What the PKCS#11 URI refers to depends on the context in which it is
+used.
+
+A PKCS#11 URI can always resolve to more than one object, token or module. A
+PKCS#11 URI that refers to a token, would (when used in a context that expects
+objects) refer to all the token on that module.
+
+To parse a PKCS#11 URI, use the [func@uri_parse] function passing in the type of
+context in which you're using the URI. To build a URI, use the [func@uri_build]
+function.
+
+In most cases, the parsing or building of URIs is already handled for you in the
+GCK library. For example: to enumerate objects that match a PKCS#11 URI use the
+[func@modules_enumerate_uri] function.
+
+
+
+[RSA website]: http://www.rsa.com/rsalabs/node.asp?id=2133
+[handy PKCS#11 reference]: http://www.cryptsoft.com/pkcs11doc/
+[PKCS#11 URIs]: http://tools.ietf.org/html/draft-pechanec-pkcs11uri-03
diff --git a/docs/gcr/gcr-base.toml.in b/docs/gcr/gcr-base.toml.in
new file mode 100644
index 0000000..3c746a0
--- /dev/null
+++ b/docs/gcr/gcr-base.toml.in
@@ -0,0 +1,40 @@
+[library]
+namespace = "Gcr"
+version = "@GCR_VERSION@"
+browse_url = "https://gitlab.gnome.org/GNOME/gcr/"
+repository_url = "https://gitlab.gnome.org/GNOME/gcr.git"
+authors = "GCR contributors"
+license = "LGPL-2.0-or-later"
+description = "GObject and GUI library for high level crypto handling"
+dependencies = [ "GObject-2.0", "Gio-2.0", "Gck-@GCK_VERSION@" ]
+devhelp = true
+search_index = true
+
+ [dependencies."GObject-2.0"]
+ name = "GObject"
+ description = "The base type system library"
+ docs_url = "https://developer.gnome.org/gobject/stable"
+
+ [dependencies."Gio-2.0"]
+ name = "Gio"
+ description = "GObject interfaces and objects"
+ docs_url = "https://developer.gnome.org/gio/stable"
+
+ [dependencies."Gck-@GCK_VERSION@"]
+ name = "Gck"
+ description = "GObject bindings for PKCS#11"
+
+[theme]
+name = "basic"
+show_index_summary = true
+show_class_hierarchy = true
+
+[source-location]
+base_url = "https://gitlab.gnome.org/GNOME/gcr/-/blob/master/"
+
+[extra]
+content_files = [
+ 'non-pageable-memory.md',
+ 'pkcs11-configuration.md',
+ 'trust-store.md',
+]
diff --git a/docs/gcr/meson.build b/docs/gcr/meson.build
new file mode 100644
index 0000000..cf6532f
--- /dev/null
+++ b/docs/gcr/meson.build
@@ -0,0 +1,36 @@
+gcr_base_content_files = [
+ 'non-pageable-memory.md',
+ 'pkcs11-configuration.md',
+ 'trust-store.md',
+]
+
+gcr_base_toml = configure_file(
+ input: 'gcr-base.toml.in',
+ output: '@BASENAME@',
+ configuration: {
+ 'GCR_VERSION': gcr_major_version,
+ 'GCK_VERSION': gck_major_version,
+ },
+)
+
+gcr_base_docs = custom_target('gcr-docs',
+ input: gcr_gir[0],
+ output: 'gcr-@0@'.format(gcr_major_version),
+ command: [
+ gi_docgen,
+ 'generate',
+ '--quiet',
+ '--fatal-warnings',
+ '--add-include-path=@0@'.format(build_root / 'gck'),
+ '--config', gcr_base_toml,
+ '--output-dir=@OUTPUT@',
+ '--no-namespace-dir',
+ '--content-dir=@0@'.format(meson.current_source_dir()),
+ '@INPUT@',
+ ],
+ depend_files: [ gcr_base_toml, gcr_base_content_files ],
+ depends: [ gck_gir[0] ],
+ build_by_default: true,
+ install: true,
+ install_dir: get_option('datadir') / 'doc',
+)
diff --git a/docs/gcr/non-pageable-memory.md b/docs/gcr/non-pageable-memory.md
new file mode 100644
index 0000000..1f77f42
--- /dev/null
+++ b/docs/gcr/non-pageable-memory.md
@@ -0,0 +1,21 @@
+Title: Non-pageable memory
+
+Non-pageable memory
+===================
+Normal allocated memory can be paged to disk at the whim of the operating
+system. This can be a problem for sensitive information like passwords, keys
+and secrets.
+
+The Gcr library holds passwords and keys in *non-pageable*, or *locked* memory.
+This is only possible if the OS contains support for it.
+
+The set of `gcr_secure_memory_*()` functions allow applications to use secure
+memory to hold passwords and other sensitive information.
+
+* [func@Gcr.secure_memory_alloc]
+* [func@Gcr.secure_memory_try_alloc]
+* [func@Gcr.secure_memory_realloc]
+* [func@Gcr.secure_memory_try_realloc]
+* [func@Gcr.secure_memory_is_secure]
+* [func@Gcr.secure_memory_strdup]
+* [func@Gcr.secure_memory_strfree]
diff --git a/docs/gcr/pkcs11-configuration.md b/docs/gcr/pkcs11-configuration.md
new file mode 100644
index 0000000..8c06f05
--- /dev/null
+++ b/docs/gcr/pkcs11-configuration.md
@@ -0,0 +1,16 @@
+Title: PKCS#11 configuration
+
+PKCS#11 configuration
+=====================
+The GCR library maintains a global list of PKCS#11 modules to use for
+its various lookups and storage operations. Each module is represented by
+a [class@Gck.Module] object. You can examine this list by using
+[func@pkcs11_get_modules].
+
+The list is configured automatically by looking for system installed
+PKCS#11 modules. It's not not normally necessary to modify this list. But
+if you have special needs, you can use the [func@pkcs11_set_modules] and
+[func@pkcs11_add_module] (or [func@pkcs11_add_module_from_file]) to do so.
+
+Trust assertions are stored and looked up in specific PKCS#11 slots.
+You can examine this list with [func@pkcs11_get_trust_lookup_slots].
diff --git a/docs/gcr/trust-store.md b/docs/gcr/trust-store.md
new file mode 100644
index 0000000..1c97ec2
--- /dev/null
+++ b/docs/gcr/trust-store.md
@@ -0,0 +1,38 @@
+Title: Trust store
+Description: Store/Lookup bits of information used for verifying certificates.
+
+Trust store
+===========
+GCR provides functions to access information about which certificates the system
+and user trusts, such as certificate authority trust anchors, or overrides
+to the normal verification of certificates.
+
+These functions do not constitute a viable method for verifying certificates
+used in TLS or other locations. Instead they support such verification by
+providing some of the needed data for a trust decision.
+
+The storage is provided by pluggable PKCS#11 modules.
+
+Trust Anchors
+-------------
+Trust anchors are used to verify the certificate authority in a certificate
+chain. Trust anchors are always valid for a given purpose. The most common
+purpose is [const@PURPOSE_SERVER_AUTH] and is used for a client application to
+verify that the certificate at the server side of a TLS connection is authorized
+to act as such. To check if a certificate is a trust anchor, use
+[func@Gcr.trust_is_certificate_anchored], or
+[func@Gcr.trust_is_certificate_anchored_async] for the asynchronous version
+
+Pinned certificates
+-------------------
+Pinned certificates are used when a user overrides the default trust decision
+for a given certificate. They're often used with self-signed certificates.
+Pinned certificates are always only valid for a single peer such as the remote
+host with which TLS is being performed. To lookup pinned certificates, use
+[func@Gcr.trust_is_certificate_pinned], or
+[func@Gcr.trust_is_certificate_pinned_async] for the asynchronous version.
+
+After the user has requested to override the trust decision about a given
+certificate then a pinned certificates can be added by using the
+[func@Gcr.trust_add_pinned_certificate] function, or
+[func@Gcr.trust_add_pinned_certificate_async] for the asynchronous version.
diff --git a/docs/meson.build b/docs/meson.build
index f353516..b90095c 100644
--- a/docs/meson.build
+++ b/docs/meson.build
@@ -1,2 +1,12 @@
-subdir('reference/gck')
-subdir('reference/gcr')
+gi_docgen = find_program('gi-docgen')
+
+subdir('gck')
+subdir('gcr')
+subdir('ui')
+
+# Create a pseudo target that build all docs at once
+alias_target('docs',
+ gck_docs,
+ gcr_base_docs,
+ gcr_ui_docs,
+)
diff --git a/docs/reference/gck/gck-docs.sgml b/docs/reference/gck/gck-docs.sgml
deleted file mode 100644
index 7e8beec..0000000
--- a/docs/reference/gck/gck-docs.sgml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
- "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
-<!ENTITY version SYSTEM "version.xml">
-]>
-<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
- <bookinfo>
- <title>Gck Library Reference Manual</title>
- <releaseinfo>
- For Gck &version;.
- An online version of this documentation can be found at
- <ulink role="online-location" url="http://developer.gnome.org/gck/stable/">http://developer.gnome.org/gck/stable/</ulink>.
- </releaseinfo>
- </bookinfo>
-
- <chapter id="reference">
- <title>PKCS#11 GObject Bindings</title>
- <xi:include href="xml/gck-module.xml"/>
- <xi:include href="xml/gck-slot.xml"/>
- <xi:include href="xml/gck-session.xml"/>
- <xi:include href="xml/gck-object.xml"/>
- <xi:include href="xml/gck-attribute.xml"/>
- <xi:include href="xml/gck-attributes.xml"/>
- <xi:include href="xml/gck-object-cache.xml"/>
- <xi:include href="xml/gck-enumerator.xml"/>
- <xi:include href="xml/gck-modules.xml"/>
- <xi:include href="xml/gck-error.xml"/>
- <xi:include href="xml/gck-uri.xml"/>
- <xi:include href="xml/gck-library.xml"/>
- <xi:include href="xml/gck-misc.xml"/>
- </chapter>
-
- <xi:include href="gck-pkcs11-links.xml"/>
- <xi:include href="xml/annotation-glossary.xml">
- <xi:fallback />
- </xi:include>
-</book>
diff --git a/docs/reference/gck/gck-overrides.txt b/docs/reference/gck/gck-overrides.txt
deleted file mode 100644
index 13f485f..0000000
--- a/docs/reference/gck/gck-overrides.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-# These are manually-edited to override or add declarations to those scanned
-# from the header files.
diff --git a/docs/reference/gck/gck-pkcs11-links.xml b/docs/reference/gck/gck-pkcs11-links.xml
deleted file mode 100644
index 9341ccf..0000000
--- a/docs/reference/gck/gck-pkcs11-links.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
-]>
-<chapter xml:id="pkcs11-links">
- <title>About PKCS#11</title>
-
- <anchor id="CK-NOTIFY:CAPS"/>
- <anchor id="CK-SLOT-ID:CAPS"/>
- <anchor id="CK-FUNCTION-LIST-PTR:CAPS"/>
- <anchor id="CK-RV:CAPS"/>
- <anchor id="CK-SESSION-HANDLE:CAPS"/>
- <anchor id="CK-OBJECT-HANDLE:CAPS"/>
- <anchor id="CK-OBJECT-HANDLE-PTR:CAPS"/>
- <anchor id="CK-ULONG:CAPS"/>
- <anchor id="CK-BBOOL:CAPS"/>
-
- <para>PKCS#11 is an API for storing and using crypto objects, and performing
- crypto operations on them.</para>
-
- <para>It is specified at the
- <ulink href="http://www.rsa.com/rsalabs/node.asp?id=2133">RSA website</ulink>
- and a <ulink href="http://www.cryptsoft.com/pkcs11doc/">handy reference</ulink> is also
- available.</para>
-
-</chapter>
diff --git a/docs/reference/gck/gck-sections.txt b/docs/reference/gck/gck-sections.txt
deleted file mode 100644
index 93777f7..0000000
--- a/docs/reference/gck/gck-sections.txt
+++ /dev/null
@@ -1,484 +0,0 @@
-<SECTION>
-<TITLE>Library Utilities</TITLE>
-<FILE>gck-library</FILE>
-GCK_CHECK_VERSION
-GCK_MAJOR_VERSION
-GCK_MICRO_VERSION
-GCK_MINOR_VERSION
-</SECTION>
-
-<SECTION>
-<FILE>gck-attribute</FILE>
-GckAttribute
-gck_attribute_is_invalid
-gck_attribute_get_boolean
-gck_attribute_get_ulong
-gck_attribute_get_string
-gck_attribute_get_date
-gck_attribute_get_data
-gck_attribute_dump
-gck_attribute_equal
-gck_attribute_hash
-gck_attribute_init
-gck_attribute_init_boolean
-gck_attribute_init_date
-gck_attribute_init_string
-gck_attribute_init_ulong
-gck_attribute_init_empty
-gck_attribute_init_invalid
-gck_attribute_init_copy
-gck_attribute_new
-gck_attribute_new_boolean
-gck_attribute_new_date
-gck_attribute_new_string
-gck_attribute_new_ulong
-gck_attribute_new_empty
-gck_attribute_new_invalid
-gck_attribute_dup
-gck_attribute_clear
-gck_attribute_free
-<SUBSECTION Standard>
-GCK_TYPE_ATTRIBUTE
-gck_attribute_get_type
-</SECTION>
-
-<SECTION>
-<FILE>gck-attributes</FILE>
-GckAttributes
-gck_attributes_new_empty
-gck_attributes_at
-gck_attributes_find
-gck_attributes_find_boolean
-gck_attributes_find_ulong
-gck_attributes_find_string
-gck_attributes_find_date
-gck_attributes_count
-gck_attributes_ref
-gck_attributes_ref_sink
-gck_attributes_unref
-gck_attributes_contains
-gck_attributes_to_string
-gck_attributes_dump
-GckBuilder
-GckBuilderFlags
-GCK_BUILDER_INIT
-gck_builder_init
-gck_builder_init_full
-gck_builder_new
-gck_builder_add_boolean
-gck_builder_set_boolean
-gck_builder_add_data
-gck_builder_set_data
-gck_builder_take_data
-gck_builder_add_date
-gck_builder_set_date
-gck_builder_add_string
-gck_builder_set_string
-gck_builder_add_ulong
-gck_builder_set_ulong
-gck_builder_add_empty
-gck_builder_set_empty
-gck_builder_add_invalid
-gck_builder_set_invalid
-gck_builder_add_attribute
-gck_builder_add_all
-gck_builder_set_all
-gck_builder_add_except
-gck_builder_add_exceptv
-gck_builder_add_only
-gck_builder_add_onlyv
-gck_builder_end
-gck_builder_clear
-gck_builder_steal
-gck_builder_ref
-gck_builder_unref
-gck_builder_copy
-gck_builder_find
-gck_builder_find_boolean
-gck_builder_find_date
-gck_builder_find_string
-gck_builder_find_ulong
-gck_attributes_new
-gck_attributes_add
-gck_attributes_add_all
-gck_attributes_add_boolean
-gck_attributes_add_data
-gck_attributes_add_date
-gck_attributes_add_empty
-gck_attributes_add_invalid
-gck_attributes_add_string
-gck_attributes_add_ulong
-gck_attributes_dup
-gck_attributes_new_full
-gck_attributes_set
-gck_attributes_set_all
-gck_attributes_set_boolean
-gck_attributes_set_date
-gck_attributes_set_string
-gck_attributes_set_ulong
-<SUBSECTION Standard>
-GCK_TYPE_BUILDER
-GCK_TYPE_BUILDER_FLAGS
-GCK_TYPE_ATTRIBUTES
-gck_attributes_get_type
-gck_attributes_get_boxed_type
-gck_builder_flags_get_type
-gck_builder_get_type
-GckAllocator
-</SECTION>
-
-<SECTION>
-<FILE>gck-module</FILE>
-GckModule
-gck_module_initialize
-gck_module_initialize_async
-gck_module_initialize_finish
-gck_module_new
-gck_module_equal
-gck_module_hash
-gck_module_match
-gck_module_get_path
-gck_module_get_functions
-gck_module_get_info
-gck_module_get_slots
-GckModuleInfo
-gck_module_info_copy
-gck_module_info_free
-<SUBSECTION Standard>
-GckModuleClass
-gck_module_get_type
-GCK_IS_MODULE
-GCK_IS_MODULE_CLASS
-GCK_MODULE
-GCK_MODULE_CLASS
-GCK_MODULE_GET_CLASS
-GCK_TYPE_MODULE
-GckModulePrivate
-GCK_TYPE_MODULE_INFO
-gck_module_info_get_type
-</SECTION>
-
-<SECTION>
-<FILE>gck-modules</FILE>
-gck_modules_initialize_registered
-gck_modules_initialize_registered_async
-gck_modules_initialize_registered_finish
-gck_modules_enumerate_objects
-gck_modules_enumerate_uri
-gck_modules_get_slots
-gck_modules_object_for_uri
-gck_modules_objects_for_uri
-gck_modules_token_for_uri
-gck_modules_tokens_for_uri
-</SECTION>
-
-<SECTION>
-<FILE>gck-slot</FILE>
-GckMechanismInfo
-gck_mechanism_info_copy
-gck_mechanism_info_free
-gck_mechanisms_length
-gck_mechanisms_at
-gck_mechanisms_check
-GckSessionOptions
-GckSlot
-gck_slot_equal
-gck_slot_hash
-gck_slot_get_module
-gck_slot_get_handle
-gck_slot_get_info
-gck_slot_match
-gck_slot_get_token_info
-gck_slot_get_mechanisms
-gck_slot_get_mechanism_info
-gck_slot_has_flags
-gck_slot_enumerate_objects
-gck_slots_enumerate_objects
-gck_slot_open_session
-gck_slot_open_session_full
-gck_slot_open_session_full_async
-gck_slot_open_session_async
-gck_slot_open_session_finish
-gck_slot_from_handle
-GckSlotInfo
-gck_slot_info_copy
-gck_slot_info_free
-GckTokenInfo
-gck_token_info_copy
-gck_token_info_free
-<SUBSECTION Standard>
-GckSlotClass
-gck_slot_get_type
-GCK_IS_SLOT
-GCK_IS_SLOT_CLASS
-GCK_SLOT
-GCK_SLOT_CLASS
-GCK_SLOT_GET_CLASS
-GCK_TYPE_SLOT
-GckSlotPrivate
-GCK_TYPE_MECHANISM_INFO
-GCK_TYPE_SLOT_INFO
-GCK_TYPE_TOKEN_INFO
-GckMechanisms
-gck_mechanisms_free
-gck_mechanism_info_get_type
-gck_slot_info_get_type
-gck_token_info_get_type
-GCK_TYPE_SESSION_OPTIONS
-gck_session_options_get_type
-</SECTION>
-
-<SECTION>
-<FILE>gck-session</FILE>
-GckSession
-gck_session_from_handle
-gck_session_open
-gck_session_open_async
-gck_session_open_finish
-gck_session_get_module
-gck_session_get_slot
-gck_session_get_handle
-gck_session_get_info
-gck_session_get_interaction
-gck_session_login
-gck_session_login_async
-gck_session_login_finish
-gck_session_logout
-gck_session_logout_async
-gck_session_logout_finish
-gck_session_create_object
-gck_session_create_object_async
-gck_session_create_object_finish
-gck_session_enumerate_objects
-gck_session_find_handles
-gck_session_find_handles_async
-gck_session_find_handles_finish
-gck_session_find_objects
-gck_session_find_objects_async
-gck_session_find_objects_finish
-gck_session_encrypt
-gck_session_encrypt_full
-gck_session_encrypt_async
-gck_session_encrypt_finish
-gck_session_decrypt
-gck_session_decrypt_full
-gck_session_decrypt_async
-gck_session_decrypt_finish
-gck_session_login_interactive
-gck_session_login_interactive_async
-gck_session_login_interactive_finish
-gck_session_set_interaction
-gck_session_sign
-gck_session_sign_full
-gck_session_sign_async
-gck_session_sign_finish
-gck_session_verify
-gck_session_verify_full
-gck_session_verify_async
-gck_session_verify_finish
-gck_session_derive_key
-gck_session_derive_key_async
-gck_session_derive_key_finish
-gck_session_derive_key_full
-gck_session_generate_key_pair
-gck_session_generate_key_pair_async
-gck_session_generate_key_pair_finish
-gck_session_generate_key_pair_full
-gck_session_get_options
-gck_session_get_state
-gck_session_init_pin
-gck_session_init_pin_async
-gck_session_init_pin_finish
-gck_session_set_pin
-gck_session_set_pin_async
-gck_session_set_pin_finish
-gck_session_unwrap_key
-gck_session_unwrap_key_async
-gck_session_unwrap_key_finish
-gck_session_unwrap_key_full
-gck_session_wrap_key
-gck_session_wrap_key_async
-gck_session_wrap_key_finish
-gck_session_wrap_key_full
-GckSessionInfo
-gck_session_info_copy
-gck_session_info_free
-GckMechanism
-<SUBSECTION Standard>
-gck_session_get_type
-GckSessionClass
-GCK_IS_SESSION
-GCK_IS_SESSION_CLASS
-GCK_SESSION
-GCK_SESSION_CLASS
-GCK_SESSION_GET_CLASS
-GCK_TYPE_SESSION
-GckSessionPrivate
-GCK_TYPE_SESSION_INFO
-gck_session_info_get_type
-</SECTION>
-
-<SECTION>
-<FILE>gck-object</FILE>
-GckObject
-GckObjectClass
-gck_object_from_handle
-gck_objects_from_handle_array
-gck_object_equal
-gck_object_hash
-gck_object_get_module
-gck_object_get_handle
-gck_object_get_session
-gck_object_destroy
-gck_object_destroy_async
-gck_object_destroy_finish
-gck_object_set
-gck_object_set_async
-gck_object_set_finish
-gck_object_get
-gck_object_get_async
-gck_object_get_finish
-gck_object_get_data
-gck_object_get_data_full
-gck_object_get_data_async
-gck_object_get_data_finish
-gck_object_get_full
-gck_object_get_template
-gck_object_get_template_async
-gck_object_get_template_finish
-gck_object_set_template
-gck_object_set_template_async
-gck_object_set_template_finish
-<SUBSECTION Standard>
-gck_object_get_type
-GCK_IS_OBJECT
-GCK_IS_OBJECT_CLASS
-GCK_OBJECT
-GCK_OBJECT_CLASS
-GCK_OBJECT_GET_CLASS
-GCK_TYPE_OBJECT
-GckObjectPrivate
-</SECTION>
-
-<SECTION>
-<FILE>gck-object-cache</FILE>
-GckObjectCache
-GckObjectCacheIface
-gck_object_cache_get_attributes
-gck_object_cache_set_attributes
-gck_object_cache_fill
-gck_object_cache_lookup
-gck_object_cache_lookup_async
-gck_object_cache_lookup_finish
-gck_object_cache_update
-gck_object_cache_update_async
-gck_object_cache_update_finish
-<SUBSECTION Standard>
-gck_object_cache_get_type
-GCK_IS_OBJECT_CACHE
-GCK_OBJECT_CACHE
-GCK_OBJECT_CACHE_GET_INTERFACE
-GCK_TYPE_OBJECT_CACHE
-</SECTION>
-
-<SECTION>
-<FILE>gck-error</FILE>
-GCK_VENDOR_CODE
-GCK_ERROR
-gck_message_from_rv
-</SECTION>
-
-<SECTION>
-<FILE>gck-uri</FILE>
-GckUriData
-GckUriError
-GckUriFlags
-GCK_URI_FOR_MODULE_WITH_VERSION
-GCK_URI_FOR_OBJECT_ON_TOKEN
-GCK_URI_FOR_OBJECT_ON_TOKEN_AND_MODULE
-gck_uri_data_new
-gck_uri_parse
-gck_uri_build
-gck_uri_data_copy
-gck_uri_data_free
-GCK_URI_ERROR
-<SUBSECTION Private>
-gck_uri_get_error_quark
-GCK_URI_DATA_TYPE
-gck_uri_data_get_type
-gck_uri_error_get_quark
-GCK_TYPE_URI_ERROR
-GCK_TYPE_URI_FLAGS
-gck_uri_error_get_type
-gck_uri_flags_get_type
-</SECTION>
-
-<SECTION>
-<FILE>gck-enumerator</FILE>
-GckEnumerator
-gck_enumerator_next
-gck_enumerator_next_async
-gck_enumerator_next_finish
-gck_enumerator_next_n
-gck_enumerator_get_interaction
-gck_enumerator_set_interaction
-gck_enumerator_get_object_type
-gck_enumerator_set_object_type
-gck_enumerator_set_object_type_full
-gck_enumerator_get_chained
-gck_enumerator_set_chained
-<SUBSECTION Standard>
-GckEnumeratorClass
-gck_enumerator_get_type
-GckEnumeratorPrivate
-GCK_ENUMERATOR
-GCK_ENUMERATOR_CLASS
-GCK_ENUMERATOR_GET_CLASS
-GCK_IS_ENUMERATOR
-GCK_IS_ENUMERATOR_CLASS
-GCK_TYPE_ENUMERATOR
-</SECTION>
-
-<SECTION>
-<FILE>gck-password</FILE>
-GckPassword
-GckPasswordClass
-gck_password_get_key
-gck_password_get_module
-gck_password_get_token
-<SUBSECTION Private>
-gck_password_get_type
-GckPasswordPrivate
-GCK_IS_PASSWORD
-GCK_IS_PASSWORD_CLASS
-GCK_PASSWORD
-GCK_PASSWORD_CLASS
-GCK_PASSWORD_GET_CLASS
-GCK_TYPE_PASSWORD
-</SECTION>
-
-<SECTION>
-<FILE>gck-misc</FILE>
-GckError
-gck_list_ref_copy
-gck_list_unref_free
-gck_string_from_chars
-gck_string_to_chars
-gck_value_to_boolean
-gck_value_to_ulong
-GCK_INVALID
-<SUBSECTION Private>
-gck_get_error_quark
-gck_error_get_quark
-GCK_TYPE_LIST
-gck_list_get_boxed_type
-GCK_TYPE_ERROR
-gck_error_get_type
-</SECTION>
-
-<SECTION>
-<FILE>gck-private</FILE>
-<SUBSECTION Private>
-GCK_URI_BAD_PREFIX
-CKR_GCK_MODULE_PROBLEM
-</SECTION>
diff --git a/docs/reference/gck/gck.types b/docs/reference/gck/gck.types
deleted file mode 100644
index a1a8375..0000000
--- a/docs/reference/gck/gck.types
+++ /dev/null
@@ -1,15 +0,0 @@
-gck_attributes_get_type
-gck_builder_get_type
-gck_module_info_get_type
-gck_module_get_type
-gck_enumerator_get_type
-gck_slot_info_get_type
-gck_token_info_get_type
-gck_mechanism_info_get_type
-gck_slot_get_type
-gck_session_info_get_type
-gck_session_get_type
-gck_object_get_type
-gck_object_cache_get_type
-gck_password_get_type
-gck_uri_data_get_type
diff --git a/docs/reference/gck/meson.build b/docs/reference/gck/meson.build
deleted file mode 100644
index 220d9db..0000000
--- a/docs/reference/gck/meson.build
+++ /dev/null
@@ -1,36 +0,0 @@
-version_xml = configure_file(
- input: 'version.xml.in',
- output: '@BASENAME@',
- configuration: { 'VERSION': gck_version },
-)
-
-gck_docs_ignore_headers = [
- 'gck-private.h',
- 'test-suite.h',
- 'gck-mock.h',
- 'gck-test.h',
- 'pkcs11-trust-assertions.h',
- 'pkcs11.h',
- 'pkcs11n.h',
- 'pkcs11x.h',
- 'pkcs11i.h',
-]
-
-gnome.gtkdoc('gck',
- main_sgml: 'gck-docs.sgml',
- content_files: files(
- 'gck-pkcs11-links.xml',
- ),
- src_dir: [
- include_directories('../../../gck'),
- ],
- ignore_headers: gck_docs_ignore_headers,
- dependencies: gck_dep,
- gobject_typesfile: 'gck.types',
- scan_args: [
- '--rebuild-types',
- '--deprecated-guards=GCK_DISABLE_DEPRECATED',
- ],
- install: true,
-)
-
diff --git a/docs/reference/gck/version.xml.in b/docs/reference/gck/version.xml.in
deleted file mode 100644
index 27323da..0000000
--- a/docs/reference/gck/version.xml.in
+++ /dev/null
@@ -1 +0,0 @@
-@VERSION@ \ No newline at end of file
diff --git a/docs/reference/gcr/gcr-docs.sgml b/docs/reference/gcr/gcr-docs.sgml
deleted file mode 100644
index 749bebe..0000000
--- a/docs/reference/gcr/gcr-docs.sgml
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
- "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
-<!ENTITY version SYSTEM "version.xml">
-]>
-<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
- <bookinfo>
- <title>Gcr Library Reference Manual</title>
- <releaseinfo>
- for Gcr &version;.
- An online version of this documentation can be found at
- <ulink role="online-location" url="http://developer.gnome.org/gcr/stable/">http://developer.gnome.org/gcr/stable/</ulink>.
- </releaseinfo>
- </bookinfo>
-
- <part id="certificates">
- <title>Certificates</title>
- <xi:include href="xml/gcr-certificate.xml"/>
- <xi:include href="xml/gcr-simple-certificate.xml"/>
- <xi:include href="xml/gcr-pkcs11-certificate.xml"/>
- <xi:include href="xml/gcr-certificate-chain.xml"/>
- <xi:include href="xml/gcr-certificate-request.xml"/>
- </part>
-
- <part id="collections">
- <title>Collections</title>
- <xi:include href="xml/gcr-collection.xml"/>
- <xi:include href="xml/gcr-comparable.xml"/>
- <xi:include href="xml/gcr-simple-collection.xml"/>
- <xi:include href="xml/gcr-collection-model.xml"/>
- </part>
-
- <part id="widgets">
- <title>Widgets</title>
- <xi:include href="xml/gcr-certificate-widget.xml"/>
- <xi:include href="xml/gcr-key-widget.xml"/>
- <xi:include href="xml/gcr-column.xml"/>
- <xi:include href="xml/gcr-combo-selector.xml"/>
- <xi:include href="xml/gcr-import-button.xml"/>
- <xi:include href="xml/gcr-list-selector.xml"/>
- <xi:include href="xml/gcr-tree-selector.xml"/>
- <xi:include href="xml/gcr-renderer.xml"/>
- <xi:include href="xml/gcr-viewer.xml"/>
- <xi:include href="xml/gcr-viewer-widget.xml"/>
- <chapter>
- <title>Widget Gallery</title>
- <xi:include href="gcr-visual-index.xml" />
- </chapter>
- </part>
-
- <part id="prompts">
- <title>Prompting</title>
- <xi:include href="xml/gcr-prompt.xml"/>
- <xi:include href="xml/gcr-prompt-dialog.xml"/>
- <xi:include href="xml/gcr-system-prompt.xml"/>
- <xi:include href="xml/gcr-system-prompter.xml"/>
- <xi:include href="xml/gcr-ssh-askpass.xml"/>
- </part>
-
- <part id="storage">
- <title>Storage</title>
- <xi:include href="xml/gcr-trust.xml"/>
- <xi:include href="xml/gcr-importer.xml"/>
- <xi:include href="xml/gcr-import-interaction.xml"/>
- <xi:include href="xml/gcr-parser.xml"/>
- </part>
-
- <part id="misc">
- <title>Miscellaneous</title>
- <xi:include href="xml/gcr-library.xml"/>
- <xi:include href="xml/gcr-pkcs11.xml"/>
- <xi:include href="xml/gcr-fingerprint.xml"/>
- <xi:include href="xml/gcr-secret-exchange.xml"/>
- <xi:include href="xml/gcr-secure-memory.xml"/>
- <xi:include href="xml/gcr-secure-entry-buffer.xml"/>
- </part>
-
- <xi:include href="xml/annotation-glossary.xml">
- <xi:fallback />
- </xi:include>
-</book>
diff --git a/docs/reference/gcr/gcr-overrides.txt b/docs/reference/gcr/gcr-overrides.txt
deleted file mode 100644
index 13f485f..0000000
--- a/docs/reference/gcr/gcr-overrides.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-# These are manually-edited to override or add declarations to those scanned
-# from the header files.
diff --git a/docs/reference/gcr/gcr-sections.txt b/docs/reference/gcr/gcr-sections.txt
deleted file mode 100644
index de171dd..0000000
--- a/docs/reference/gcr/gcr-sections.txt
+++ /dev/null
@@ -1,899 +0,0 @@
-<SECTION>
-<TITLE>Library Utilities</TITLE>
-<FILE>gcr-library</FILE>
-GCR_CHECK_VERSION
-GCR_MAJOR_VERSION
-GCR_MICRO_VERSION
-GCR_MINOR_VERSION
-</SECTION>
-
-<SECTION>
-<FILE>gcr-parser</FILE>
-<TITLE>GcrParser</TITLE>
-GCR_DATA_ERROR
-GcrDataError
-GcrDataFormat
-GcrParser
-GcrParserClass
-gcr_parser_new
-gcr_parser_parse_bytes
-gcr_parser_parse_data
-gcr_parser_parse_stream
-gcr_parser_parse_stream_async
-gcr_parser_parse_stream_finish
-gcr_parser_format_enable
-gcr_parser_format_disable
-gcr_parser_format_supported
-gcr_parser_add_password
-gcr_parser_get_parsed_label
-gcr_parser_get_parsed_description
-gcr_parser_get_parsed_attributes
-gcr_parser_get_parsed_block
-gcr_parser_get_parsed_bytes
-gcr_parser_get_parsed_format
-gcr_parser_get_filename
-gcr_parser_set_filename
-GcrParsed
-gcr_parsed_ref
-gcr_parsed_unref
-gcr_parsed_get_attributes
-gcr_parsed_get_data
-gcr_parsed_get_bytes
-gcr_parsed_get_description
-gcr_parsed_get_format
-gcr_parsed_get_label
-gcr_parser_get_parsed
-gcr_parsed_get_filename
-<SUBSECTION Standard>
-GCR_TYPE_PARSED
-GcrParserPrivate
-gcr_parsed_get_type
-GCR_PARSER
-GCR_IS_PARSER
-GCR_TYPE_PARSER
-gcr_parser_get_type
-GCR_PARSER_CLASS
-GCR_IS_PARSER_CLASS
-GCR_PARSER_GET_CLASS
-GCK_API_SUBJECT_TO_CHANGE
-gcr_data_error_get_domain
-GCR_TYPE_DATA_ERROR
-GCR_TYPE_DATA_FORMAT
-gcr_data_error_get_type
-gcr_data_format_get_type
-</SECTION>
-
-<SECTION>
-<FILE>gcr-certificate</FILE>
-GcrCertificate
-GcrCertificateIface
-gcr_certificate_get_der_data
-gcr_certificate_get_issuer_cn
-gcr_certificate_get_issuer_dn
-gcr_certificate_get_issuer_name
-gcr_certificate_get_issuer_part
-gcr_certificate_get_issuer_raw
-gcr_certificate_is_issuer
-gcr_certificate_get_subject_cn
-gcr_certificate_get_subject_dn
-gcr_certificate_get_subject_name
-gcr_certificate_get_subject_part
-gcr_certificate_get_subject_raw
-gcr_certificate_get_issued_date
-gcr_certificate_get_expiry_date
-gcr_certificate_get_serial_number
-gcr_certificate_get_serial_number_hex
-gcr_certificate_get_key_size
-gcr_certificate_get_fingerprint
-gcr_certificate_get_fingerprint_hex
-gcr_certificate_get_basic_constraints
-gcr_certificate_mixin_class_init
-gcr_certificate_mixin_emit_notify
-gcr_certificate_mixin_get_property
-GCR_CERTIFICATE_MIXIN_IMPLEMENT_COMPARABLE
-gcr_certificate_mixin_comparable_init
-gcr_certificate_compare
-gcr_certificate_get_icon
-gcr_certificate_get_markup_text
-<SUBSECTION Standard>
-gcr_certificate_get_columns
-GCR_CERTIFICATE
-GCR_IS_CERTIFICATE
-GCR_TYPE_CERTIFICATE
-GCR_CERTIFICATE_GET_INTERFACE
-gcr_certificate_get_type
-<SUBSECTION Private>
-GcrCertificateExtensionKeyUsage
-GcrGeneralName
-GcrGeneralNameType
-</SECTION>
-
-<SECTION>
-<FILE>gcr-certificate-request</FILE>
-GcrCertificateRequest
-GcrCertificateRequestFormat
-gcr_certificate_request_capable
-gcr_certificate_request_capable_async
-gcr_certificate_request_capable_finish
-gcr_certificate_request_prepare
-gcr_certificate_request_get_format
-gcr_certificate_request_get_private_key
-gcr_certificate_request_set_cn
-gcr_certificate_request_complete
-gcr_certificate_request_complete_async
-gcr_certificate_request_complete_finish
-gcr_certificate_request_encode
-<SUBSECTION Private>
-GCR_CERTIFICATE_REQUEST
-GCR_IS_CERTIFICATE_REQUEST
-GCR_TYPE_CERTIFICATE_REQUEST
-GCR_TYPE_CERTIFICATE_REQUEST_FORMAT
-gcr_certificate_request_get_type
-gcr_certificate_request_format_get_type
-</SECTION>
-
-<SECTION>
-<FILE>gcr-importer</FILE>
-GcrImporter
-GcrImporterIface
-gcr_importer_get_interaction
-gcr_importer_set_interaction
-gcr_importer_import
-gcr_importer_import_async
-gcr_importer_import_finish
-gcr_importer_register
-gcr_importer_register_well_known
-gcr_importer_create_for_parsed
-gcr_importer_queue_for_parsed
-gcr_importer_queue_and_filter_for_parsed
-<SUBSECTION Standard>
-GCR_IMPORTER
-GCR_IS_IMPORTER
-GCR_TYPE_IMPORTER
-gcr_importer_get_type
-GCR_IMPORTER_GET_INTERFACE
-GCR_IMPORT_INTERACTION
-GCR_IMPORT_INTERACTION_GET_INTERFACE
-GCR_IS_IMPORT_INTERACTION
-GCR_TYPE_IMPORT_INTERACTION
-GcrImportInteraction
-GcrImportInteractionIface
-gcr_import_interaction_get_type
-</SECTION>
-
-<SECTION>
-<FILE>gcr-import-interaction</FILE>
-GcrImportInteraction
-GcrImportInteractionIface
-gcr_import_interaction_supplement_prep
-gcr_import_interaction_supplement
-gcr_import_interaction_supplement_async
-gcr_import_interaction_supplement_finish
-</SECTION>
-
-<SECTION>
-<FILE>gcr-import-button</FILE>
-GcrImportButton
-GcrImportButtonClass
-gcr_import_button_new
-gcr_import_button_add_parsed
-<SUBSECTION Standard>
-GCR_IMPORT_BUTTON
-GCR_IMPORT_BUTTON_CLASS
-GCR_IMPORT_BUTTON_GET_CLASS
-GCR_IS_IMPORT_BUTTON
-GCR_IS_IMPORT_BUTTON_CLASS
-gcr_import_button_get_type
-GCR_TYPE_IMPORT_BUTTON
-<SUBSECTION Private>
-GcrImportButtonPrivate
-</SECTION>
-
-<SECTION>
-<FILE>gcr-simple-certificate</FILE>
-<TITLE>GcrSimpleCertificate</TITLE>
-GcrSimpleCertificate
-GcrSimpleCertificateClass
-gcr_simple_certificate_new
-gcr_simple_certificate_new_static
-<SUBSECTION Standard>
-GcrSimpleCertificatePrivate
-GCR_SIMPLE_CERTIFICATE
-GCR_IS_SIMPLE_CERTIFICATE
-GCR_TYPE_SIMPLE_CERTIFICATE
-gcr_simple_certificate_get_type
-GCR_SIMPLE_CERTIFICATE_CLASS
-GCR_IS_SIMPLE_CERTIFICATE_CLASS
-GCR_SIMPLE_CERTIFICATE_GET_CLASS
-</SECTION>
-
-<SECTION>
-<FILE>gcr-pkcs11-certificate</FILE>
-<TITLE>GcrPkcs11Certificate</TITLE>
-GcrPkcs11Certificate
-GcrPkcs11CertificateClass
-gcr_pkcs11_certificate_lookup_issuer
-gcr_pkcs11_certificate_lookup_issuer_async
-gcr_pkcs11_certificate_lookup_issuer_finish
-gcr_pkcs11_certificate_get_attributes
-<SUBSECTION Standard>
-gcr_pkcs11_certificate_get_type
-GCR_IS_PKCS11_CERTIFICATE
-GCR_IS_PKCS11_CERTIFICATE_CLASS
-GcrPkcs11CertificatePrivate
-GCR_PKCS11_CERTIFICATE
-GCR_PKCS11_CERTIFICATE_CLASS
-GCR_PKCS11_CERTIFICATE_GET_CLASS
-GCR_TYPE_PKCS11_CERTIFICATE
-</SECTION>
-
-<SECTION>
-<FILE>gcr-trust</FILE>
-GCR_PURPOSE_SERVER_AUTH
-GCR_PURPOSE_CLIENT_AUTH
-GCR_PURPOSE_EMAIL
-GCR_PURPOSE_CODE_SIGNING
-gcr_trust_is_certificate_anchored
-gcr_trust_is_certificate_anchored_async
-gcr_trust_is_certificate_anchored_finish
-gcr_trust_is_certificate_pinned
-gcr_trust_is_certificate_pinned_async
-gcr_trust_is_certificate_pinned_finish
-gcr_trust_add_pinned_certificate
-gcr_trust_add_pinned_certificate_async
-gcr_trust_add_pinned_certificate_finish
-gcr_trust_remove_pinned_certificate
-gcr_trust_remove_pinned_certificate_async
-gcr_trust_remove_pinned_certificate_finish
-</SECTION>
-
-<SECTION>
-<FILE>gcr-pkcs11</FILE>
-gcr_pkcs11_initialize
-gcr_pkcs11_initialize_async
-gcr_pkcs11_initialize_finish
-gcr_pkcs11_get_modules
-gcr_pkcs11_set_modules
-gcr_pkcs11_add_module
-gcr_pkcs11_add_module_from_file
-gcr_pkcs11_get_trust_lookup_slots
-gcr_pkcs11_get_trust_store_slot
-gcr_pkcs11_get_trust_lookup_uris
-gcr_pkcs11_set_trust_lookup_uris
-gcr_pkcs11_get_trust_store_uri
-gcr_pkcs11_set_trust_store_uri
-</SECTION>
-
-<SECTION>
-<FILE>gcr-certificate-chain</FILE>
-GcrCertificateChain
-GcrCertificateChainClass
-GcrCertificateChainStatus
-gcr_certificate_chain_new
-gcr_certificate_chain_add
-gcr_certificate_chain_get_certificate
-gcr_certificate_chain_get_status
-gcr_certificate_chain_get_anchor
-gcr_certificate_chain_get_endpoint
-gcr_certificate_chain_get_length
-GcrCertificateChainFlags
-gcr_certificate_chain_build
-gcr_certificate_chain_build_async
-gcr_certificate_chain_build_finish
-GCR_TYPE_CERTIFICATE_CHAIN_FLAGS
-GCR_TYPE_CERTIFICATE_CHAIN_STATUS
-<SUBSECTION Standard>
-gcr_certificate_chain_flags_get_type
-gcr_certificate_chain_status_get_type
-gcr_certificate_chain_get_type
-GCR_CERTIFICATE_CHAIN
-GCR_TYPE_CERTIFICATE_CHAIN
-GCR_CERTIFICATE_CHAIN_CLASS
-GCR_CERTIFICATE_CHAIN_GET_CLASS
-GCR_IS_CERTIFICATE_CHAIN
-GCR_IS_CERTIFICATE_CHAIN_CLASS
-GcrCertificateChainPrivate
-</SECTION>
-
-<SECTION>
-<FILE>gcr-comparable</FILE>
-GcrComparable
-GcrComparableIface
-gcr_comparable_compare
-gcr_comparable_memcmp
-<SUBSECTION Standard>
-gcr_comparable_get_type
-GCR_COMPARABLE
-GCR_COMPARABLE_GET_INTERFACE
-GCR_IS_COMPARABLE
-GCR_TYPE_COMPARABLE
-</SECTION>
-
-<SECTION>
-<FILE>gcr-collection</FILE>
-GcrCollection
-gcr_collection_get_length
-gcr_collection_get_objects
-gcr_collection_contains
-gcr_collection_emit_added
-gcr_collection_emit_removed
-<SUBSECTION Standard>
-gcr_collection_get_type
-GCR_COLLECTION
-GCR_COLLECTION_GET_INTERFACE
-GCR_IS_COLLECTION
-GCR_TYPE_COLLECTION
-GcrCollectionIface
-</SECTION>
-
-<SECTION>
-<FILE>gcr-simple-collection</FILE>
-GcrSimpleCollection
-GcrSimpleCollectionClass
-gcr_simple_collection_new
-gcr_simple_collection_add
-gcr_simple_collection_remove
-<SUBSECTION Standard>
-gcr_simple_collection_get_type
-GCR_IS_SIMPLE_COLLECTION
-GCR_IS_SIMPLE_COLLECTION_CLASS
-GCR_SIMPLE_COLLECTION
-GCR_SIMPLE_COLLECTION_CLASS
-GCR_SIMPLE_COLLECTION_GET_CLASS
-GCR_TYPE_SIMPLE_COLLECTION
-GcrSimpleCollectionPrivate
-</SECTION>
-
-<SECTION>
-<FILE>gcr-filter-collection</FILE>
-GcrFilterCollection
-GcrFilterCollectionClass
-GcrFilterCollectionFunc
-gcr_filter_collection_new_with_callback
-gcr_filter_collection_set_callback
-gcr_filter_collection_get_underlying
-gcr_filter_collection_refilter
-<SUBSECTION Standard>
-gcr_filter_collection_get_type
-GCR_FILTER_COLLECTION
-GCR_FILTER_COLLECTION_CLASS
-GCR_FILTER_COLLECTION_GET_CLASS
-GCR_IS_FILTER_COLLECTION
-GCR_IS_FILTER_COLLECTION_CLASS
-GCR_TYPE_FILTER_COLLECTION
-<SUBSECTION Private>
-GcrFilterCollectionPrivate
-</SECTION>
-
-<SECTION>
-<FILE>gcr-union-collection</FILE>
-GcrUnionCollection
-GcrUnionCollectionClass
-gcr_union_collection_new
-gcr_union_collection_add
-gcr_union_collection_take
-gcr_union_collection_remove
-gcr_union_collection_have
-gcr_union_collection_size
-gcr_union_collection_elements
-<SUBSECTION Standard>
-GCR_IS_UNION_COLLECTION
-GCR_IS_UNION_COLLECTION_CLASS
-GCR_TYPE_UNION_COLLECTION
-GCR_UNION_COLLECTION
-GCR_UNION_COLLECTION_CLASS
-GCR_UNION_COLLECTION_GET_CLASS
-GcrUnionCollectionPrivate
-gcr_union_collection_get_type
-</SECTION>
-
-<SECTION>
-<FILE>gcr-collection-model</FILE>
-GcrCollectionModel
-GcrCollectionModelClass
-GcrCollectionModelMode
-gcr_collection_model_new
-gcr_collection_model_new_full
-gcr_collection_model_set_columns
-gcr_collection_model_get_collection
-gcr_collection_model_set_collection
-gcr_collection_model_iter_for_object
-gcr_collection_model_object_for_iter
-gcr_collection_model_is_selected
-gcr_collection_model_change_selected
-gcr_collection_model_toggle_selected
-gcr_collection_model_get_selected_objects
-gcr_collection_model_set_selected_objects
-gcr_collection_model_column_for_selected
-<SUBSECTION Standard>
-gcr_collection_model_get_type
-GCR_COLLECTION_MODEL
-GCR_COLLECTION_MODEL_CLASS
-GCR_COLLECTION_MODEL_GET_CLASS
-GCR_IS_COLLECTION_MODEL
-GCR_IS_COLLECTION_MODEL_CLASS
-GCR_TYPE_COLLECTION_MODEL
-GCR_TYPE_COLLECTION_MODEL_MODE
-gcr_collection_model_mode_get_type
-<SUBSECTION Private>
-GcrCollectionModelPrivate
-</SECTION>
-
-<SECTION>
-<FILE>gcr-column</FILE>
-GcrColumn
-GcrColumnFlags
-<SUBSECTION Standard>
-GCR_TYPE_COLUMN_FLAGS
-gcr_column_flags_get_type
-</SECTION>
-
-<SECTION>
-<FILE>gcr-tree-selector</FILE>
-GcrTreeSelector
-GcrTreeSelectorClass
-gcr_tree_selector_get_collection
-gcr_tree_selector_get_columns
-gcr_tree_selector_new
-gcr_tree_selector_get_selected
-gcr_tree_selector_set_selected
-<SUBSECTION Standard>
-gcr_tree_selector_get_type
-GCR_IS_TREE_SELECTOR
-GCR_IS_TREE_SELECTOR_CLASS
-GCR_TREE_SELECTOR
-GCR_TREE_SELECTOR_CLASS
-GCR_TREE_SELECTOR_GET_CLASS
-GCR_TYPE_TREE_SELECTOR
-GcrTreeSelectorPrivate
-</SECTION>
-
-<SECTION>
-<FILE>gcr-list-selector</FILE>
-GcrListSelector
-GcrListSelectorClass
-gcr_list_selector_new
-gcr_list_selector_get_collection
-gcr_list_selector_get_selected
-gcr_list_selector_set_selected
-<SUBSECTION Standard>
-gcr_list_selector_get_type
-GcrListSelectorPrivate
-GCR_IS_LIST_SELECTOR
-GCR_IS_LIST_SELECTOR_CLASS
-GCR_LIST_SELECTOR
-GCR_LIST_SELECTOR_CLASS
-GCR_LIST_SELECTOR_GET_CLASS
-GCR_TYPE_LIST_SELECTOR
-</SECTION>
-
-<SECTION>
-<FILE>gcr-combo-selector</FILE>
-GcrComboSelector
-GcrComboSelectorClass
-gcr_combo_selector_get_collection
-gcr_combo_selector_new
-gcr_combo_selector_get_selected
-gcr_combo_selector_set_selected
-<SUBSECTION Standard>
-gcr_combo_selector_get_type
-GCR_IS_COMBO_SELECTOR
-GCR_IS_COMBO_SELECTOR_CLASS
-GCR_COMBO_SELECTOR
-GCR_COMBO_SELECTOR_CLASS
-GCR_COMBO_SELECTOR_GET_CLASS
-GCR_TYPE_COMBO_SELECTOR
-GcrComboSelectorPrivate
-</SECTION>
-
-<SECTION>
-<FILE>gcr-renderer</FILE>
-GcrRenderer
-GcrRendererIface
-gcr_renderer_create
-gcr_renderer_register
-gcr_renderer_get_attributes
-gcr_renderer_set_attributes
-gcr_renderer_popuplate_popup
-gcr_renderer_render_view
-gcr_renderer_emit_data_changed
-gcr_renderer_register_well_known
-<SUBSECTION Standard>
-gcr_renderer_get_type
-GCR_IS_RENDERER
-GCR_RENDERER
-GCR_RENDERER_GET_INTERFACE
-GCR_TYPE_RENDERER
-</SECTION>
-
-<SECTION>
-<FILE>gcr-viewer</FILE>
-GcrViewer
-GcrViewerIface
-gcr_viewer_new
-gcr_viewer_new_scrolled
-gcr_viewer_add_renderer
-gcr_viewer_insert_renderer
-gcr_viewer_remove_renderer
-gcr_viewer_count_renderers
-gcr_viewer_get_renderer
-<SUBSECTION Standard>
-gcr_viewer_get_type
-GCR_IS_VIEWER
-GCR_TYPE_VIEWER
-GCR_VIEWER
-GCR_VIEWER_GET_INTERFACE
-</SECTION>
-
-<SECTION>
-<FILE>gcr-certificate-widget</FILE>
-GCR_CERTIFICATE_COLUMNS
-GcrCertificateWidget
-GcrCertificateWidgetClass
-GcrCertificateRenderer
-GcrCertificateRendererClass
-gcr_certificate_widget_new
-gcr_certificate_widget_get_certificate
-gcr_certificate_widget_set_certificate
-gcr_certificate_renderer_new
-gcr_certificate_renderer_new_for_attributes
-gcr_certificate_renderer_get_certificate
-gcr_certificate_renderer_set_certificate
-<SUBSECTION Standard>
-gcr_certificate_widget_get_type
-GCR_CERTIFICATE_RENDERER
-GCR_CERTIFICATE_RENDERER_CLASS
-GCR_CERTIFICATE_RENDERER_GET_CLASS
-GCR_IS_CERTIFICATE_RENDERER
-GCR_IS_CERTIFICATE_RENDERER_CLASS
-GCR_CERTIFICATE_WIDGET
-GCR_CERTIFICATE_WIDGET_CLASS
-GCR_CERTIFICATE_WIDGET_GET_CLASS
-GCR_IS_CERTIFICATE_WIDGET
-GCR_IS_CERTIFICATE_WIDGET_CLASS
-GCR_TYPE_CERTIFICATE_RENDERER
-GCR_TYPE_CERTIFICATE_WIDGET
-GcrCertificateRendererPrivate
-GcrCertificateWidgetPrivate
-gcr_certificate_renderer_get_type
-</SECTION>
-
-<SECTION>
-<FILE>gcr-key-widget</FILE>
-GcrKeyWidget
-GcrKeyWidgetClass
-GcrKeyRenderer
-GcrKeyRendererClass
-gcr_key_widget_new
-gcr_key_widget_get_attributes
-gcr_key_widget_set_attributes
-gcr_key_renderer_new
-gcr_key_renderer_get_attributes
-gcr_key_renderer_set_attributes
-<SUBSECTION Standard>
-gcr_key_renderer_get_type
-gcr_key_widget_get_type
-GCR_IS_KEY_RENDERER
-GCR_IS_KEY_RENDERER_CLASS
-GCR_IS_KEY_WIDGET
-GCR_IS_KEY_WIDGET_CLASS
-GCR_KEY_RENDERER
-GCR_KEY_RENDERER_CLASS
-GCR_KEY_RENDERER_GET_CLASS
-GCR_KEY_WIDGET
-GCR_KEY_WIDGET_CLASS
-GCR_KEY_WIDGET_GET_CLASS
-GCR_TYPE_KEY_RENDERER
-GCR_TYPE_KEY_WIDGET
-GcrKeyRendererPrivate
-GcrKeyWidgetPrivate
-</SECTION>
-
-<SECTION>
-<FILE>gcr-unlock-options-widget</FILE>
-GcrUnlockOptionsWidget
-GcrUnlockOptionsWidgetClass
-GCR_UNLOCK_OPTION_ALWAYS
-GCR_UNLOCK_OPTION_IDLE
-GCR_UNLOCK_OPTION_SESSION
-GCR_UNLOCK_OPTION_TIMEOUT
-gcr_unlock_options_widget_new
-gcr_unlock_options_widget_get_choice
-gcr_unlock_options_widget_set_choice
-gcr_unlock_options_widget_get_label
-gcr_unlock_options_widget_set_label
-gcr_unlock_options_widget_get_ttl
-gcr_unlock_options_widget_set_ttl
-gcr_unlock_options_widget_get_sensitive
-gcr_unlock_options_widget_set_sensitive
-<SUBSECTION Standard>
-gcr_unlock_options_widget_get_type
-GCR_IS_UNLOCK_OPTIONS_WIDGET
-GCR_IS_UNLOCK_OPTIONS_WIDGET_CLASS
-GCR_TYPE_UNLOCK_OPTIONS_WIDGET
-GCR_UNLOCK_OPTIONS_WIDGET
-GCR_UNLOCK_OPTIONS_WIDGET_CLASS
-GCR_UNLOCK_OPTIONS_WIDGET_GET_CLASS
-GcrUnlockOptionsWidgetPrivate
-</SECTION>
-
-<SECTION>
-<FILE>gcr-viewer-widget</FILE>
-GcrViewerWidget
-gcr_viewer_widget_new
-gcr_viewer_widget_load_bytes
-gcr_viewer_widget_load_data
-gcr_viewer_widget_load_file
-gcr_viewer_widget_get_parser
-gcr_viewer_widget_get_viewer
-gcr_viewer_widget_show_error
-gcr_viewer_widget_clear_error
-gcr_viewer_widget_get_display_name
-gcr_viewer_widget_set_display_name
-<SUBSECTION Standard>
-gcr_viewer_widget_get_type
-GCR_TYPE_VIEWER_WIDGET
-GCR_IS_VIEWER_WIDGET
-GCR_VIEWER_WIDGET
-</SECTION>
-
-<SECTION>
-<FILE>gcr-secret-exchange</FILE>
-GcrSecretExchange
-GcrSecretExchangeClass
-GCR_SECRET_EXCHANGE_PROTOCOL_1
-gcr_secret_exchange_new
-gcr_secret_exchange_begin
-gcr_secret_exchange_receive
-gcr_secret_exchange_get_protocol
-gcr_secret_exchange_get_secret
-gcr_secret_exchange_send
-<SUBSECTION Standard>
-gcr_secret_exchange_get_type
-GCR_IS_SECRET_EXCHANGE
-GCR_IS_SECRET_EXCHANGE_CLASS
-GCR_SECRET_EXCHANGE
-GCR_SECRET_EXCHANGE_CLASS
-GCR_SECRET_EXCHANGE_GET_CLASS
-GCR_TYPE_SECRET_EXCHANGE
-GcrSecretExchangePrivate
-</SECTION>
-
-<SECTION>
-<FILE>gcr-fingerprint</FILE>
-gcr_fingerprint_from_attributes
-gcr_fingerprint_from_subject_public_key_info
-</SECTION>
-
-<SECTION>
-<FILE>gcr-secure-entry-buffer</FILE>
-GcrSecureEntryBuffer
-GcrSecureEntryBufferClass
-gcr_secure_entry_buffer_new
-<SUBSECTION Standard>
-gcr_secure_entry_buffer_get_type
-GCR_IS_SECURE_ENTRY_BUFFER
-GCR_IS_SECURE_ENTRY_BUFFER_CLASS
-GCR_SECURE_ENTRY_BUFFER
-GCR_SECURE_ENTRY_BUFFER_CLASS
-GCR_SECURE_ENTRY_BUFFER_GET_CLASS
-GCR_TYPE_SECURE_ENTRY_BUFFER
-<SUBSECTION Private>
-GcrSecureEntryBufferPrivate
-</SECTION>
-
-<SECTION>
-<FILE>gcr-secure-memory</FILE>
-gcr_secure_memory_new
-gcr_secure_memory_alloc
-gcr_secure_memory_try_alloc
-gcr_secure_memory_realloc
-gcr_secure_memory_try_realloc
-gcr_secure_memory_strdup
-gcr_secure_memory_strfree
-gcr_secure_memory_free
-gcr_secure_memory_is_secure
-</SECTION>
-
-<SECTION>
-<FILE>gcr-ssh-askpass</FILE>
-GcrSshAskpass
-gcr_ssh_askpass_new
-gcr_ssh_askpass_get_interaction
-gcr_ssh_askpass_child_setup
-<SUBSECTION Standard>
-GCR_IS_SSH_ASKPASS
-GCR_IS_SSH_ASKPASS_CLASS
-GCR_SSH_ASKPASS
-GCR_SSH_ASKPASS_CLASS
-GCR_SSH_ASKPASS_GET_CLASS
-GCR_TYPE_SSH_ASKPASS
-GcrSshAskpassClass
-gcr_ssh_askpass_get_type
-</SECTION>
-
-<SECTION>
-<FILE>gcr-private</FILE>
-<SUBSECTION Private>
-GCR_GNUPG_COLLECTION
-GCR_GNUPG_COLLECTION_CLASS
-GCR_GNUPG_COLLECTION_GET_CLASS
-GCR_GNUPG_KEY
-GCR_GNUPG_KEY_CLASS
-GCR_GNUPG_KEY_COLUMNS
-GCR_GNUPG_KEY_GET_CLASS
-GCR_IS_GNUPG_COLLECTION
-GCR_IS_GNUPG_COLLECTION_CLASS
-GCR_IS_GNUPG_KEY
-GCR_IS_GNUPG_KEY_CLASS
-GCR_TYPE_GNUPG_COLLECTION
-GCR_TYPE_GNUPG_KEY
-GCR_GNUPG_PROCESS
-GCR_GNUPG_PROCESS_CLASS
-GCR_GNUPG_PROCESS_GET_CLASS
-GCR_IS_GNUPG_PROCESS
-GCR_IS_GNUPG_PROCESS_CLASS
-GCR_TYPE_GNUPG_PROCESS
-GcrGnupgProcess
-GcrGnupgProcessClass
-GcrGnupgProcessPrivate
-GcrGnupgProcessFlags
-GcrGnupgCollection
-GcrGnupgCollectionClass
-GcrGnupgCollectionPrivate
-GcrGnupgKey
-GcrGnupgKeyClass
-GcrGnupgKeyPrivate
-GcrLineCallback
-GCR_IS_MEMORY_ICON
-GCR_IS_MEMORY_ICON_CLASS
-GCR_MEMORY_ICON
-GCR_MEMORY_ICON_CLASS
-GCR_MEMORY_ICON_COLUMNS
-GCR_MEMORY_ICON_GET_CLASS
-GCR_TYPE_MEMORY_ICON
-GcrMemoryIcon
-GcrMemoryIconClass
-GcrMemoryIconPrivate
-GcrOpensshPubCallback
-GCR_TYPE_IMPORTER_PROMPT_BEHAVIOR
-gcr_importer_prompt_behavior_get_type
-</SECTION>
-
-<SECTION>
-<FILE>gcr-prompt</FILE>
-GcrPrompt
-GcrPromptIface
-GcrPromptReply
-gcr_prompt_password
-gcr_prompt_password_async
-gcr_prompt_password_finish
-gcr_prompt_password_run
-gcr_prompt_confirm
-gcr_prompt_confirm_async
-gcr_prompt_confirm_finish
-gcr_prompt_confirm_run
-gcr_prompt_reset
-gcr_prompt_close
-gcr_prompt_get_title
-gcr_prompt_set_title
-gcr_prompt_get_message
-gcr_prompt_set_message
-gcr_prompt_get_description
-gcr_prompt_set_description
-gcr_prompt_get_warning
-gcr_prompt_set_warning
-gcr_prompt_get_continue_label
-gcr_prompt_set_continue_label
-gcr_prompt_get_cancel_label
-gcr_prompt_set_cancel_label
-gcr_prompt_get_choice_label
-gcr_prompt_set_choice_label
-gcr_prompt_get_choice_chosen
-gcr_prompt_set_choice_chosen
-gcr_prompt_get_password_new
-gcr_prompt_set_password_new
-gcr_prompt_get_password_strength
-gcr_prompt_get_caller_window
-gcr_prompt_set_caller_window
-<SUBSECTION Private>
-gcr_prompt_get_type
-gcr_prompt_reply_get_type
-GCR_IS_PROMPT
-GCR_PROMPT
-GCR_PROMPT_GET_INTERFACE
-GCR_TYPE_PROMPT
-GCR_TYPE_PROMPT_REPLY
-</SECTION>
-
-<SECTION>
-<FILE>gcr-prompt-dialog</FILE>
-GcrPromptDialog
-GcrPromptDialogClass
-<SUBSECTION Private>
-GcrPromptDialogPrivate
-gcr_prompt_dialog_get_type
-GCR_IS_PROMPT_DIALOG
-GCR_IS_PROMPT_DIALOG_CLASS
-GCR_PROMPT_DIALOG
-GCR_PROMPT_DIALOG_CLASS
-GCR_PROMPT_DIALOG_GET_CLASS
-GCR_TYPE_PROMPT_DIALOG
-</SECTION>
-
-<SECTION>
-<FILE>gcr-system-prompt</FILE>
-GcrSystemPrompt
-GcrSystemPromptClass
-GCR_SYSTEM_PROMPT_ERROR
-GcrSystemPromptError
-gcr_system_prompt_open
-gcr_system_prompt_open_async
-gcr_system_prompt_open_finish
-gcr_system_prompt_open_for_prompter
-gcr_system_prompt_open_for_prompter_async
-gcr_system_prompt_get_secret_exchange
-gcr_system_prompt_close
-gcr_system_prompt_close_async
-gcr_system_prompt_close_finish
-<SUBSECTION Private>
-GcrSystemPromptPrivate
-gcr_system_prompt_error_get_domain
-gcr_system_prompt_error_get_type
-gcr_system_prompt_get_type
-GCR_IS_SYSTEM_PROMPT
-GCR_IS_SYSTEM_PROMPT_CLASS
-GCR_SYSTEM_PROMPT
-GCR_SYSTEM_PROMPT_CLASS
-GCR_SYSTEM_PROMPT_GET_CLASS
-GCR_TYPE_SYSTEM_PROMPT
-GCR_TYPE_SYSTEM_PROMPT_ERROR
-</SECTION>
-
-<SECTION>
-<FILE>gcr-system-prompter</FILE>
-GcrSystemPrompter
-GcrSystemPrompterClass
-GcrSystemPrompterMode
-gcr_system_prompter_new
-gcr_system_prompter_register
-gcr_system_prompter_unregister
-gcr_system_prompter_get_mode
-gcr_system_prompter_get_prompt_type
-gcr_system_prompter_get_prompting
-<SUBSECTION Private>
-GcrSystemPrompterPrivate
-gcr_system_prompter_get_type
-gcr_system_prompter_mode_get_type
-GCR_IS_SYSTEM_PROMPTER
-GCR_IS_SYSTEM_PROMPTER_CLASS
-GCR_SYSTEM_PROMPTER
-GCR_SYSTEM_PROMPTER_CLASS
-GCR_SYSTEM_PROMPTER_GET_CLASS
-GCR_TYPE_SYSTEM_PROMPTER
-GCR_TYPE_SYSTEM_PROMPTER_MODE
-</SECTION>
-
-<SECTION>
-<FILE>gcr-mock-prompter</FILE>
-gcr_mock_prompter_start
-gcr_mock_prompter_stop
-gcr_mock_prompter_disconnect
-gcr_mock_prompter_expect_confirm_cancel
-gcr_mock_prompter_expect_confirm_ok
-gcr_mock_prompter_expect_password_cancel
-gcr_mock_prompter_expect_password_ok
-gcr_mock_prompter_expect_close
-gcr_mock_prompter_get_delay_msec
-gcr_mock_prompter_set_delay_msec
-gcr_mock_prompter_is_expecting
-gcr_mock_prompter_is_prompting
-</SECTION>
-
-<SECTION>
-<FILE>GcrDBusPrompter</FILE>
-</SECTION>
-
-<SECTION>
-<FILE>GcrDBusPrompterCallback</FILE>
-</SECTION>
diff --git a/docs/reference/gcr/gcr-shooter.c b/docs/reference/gcr/gcr-shooter.c
deleted file mode 100644
index 0ae3827..0000000
--- a/docs/reference/gcr/gcr-shooter.c
+++ /dev/null
@@ -1,466 +0,0 @@
-
-#include "gcr-shooter.h"
-
-#include <gdk/gdk.h>
-#include <gtk/gtk.h>
-#include <gdk/gdkx.h>
-#include <stdio.h>
-#include <errno.h>
-#include <sys/wait.h>
-#include <unistd.h>
-#include <X11/extensions/shape.h>
-
-#include <gdk-pixbuf/gdk-pixbuf.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/wait.h>
-#include <signal.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <locale.h>
-#include <math.h>
-
-#define MAXIMUM_WM_REPARENTING_DEPTH 4
-
-#define SMALL_WIDTH 240
-#define SMALL_HEIGHT 75
-#define MEDIUM_WIDTH 240
-#define MEDIUM_HEIGHT 165
-#define LARGE_WIDTH 240
-#define LARGE_HEIGHT 240
-
-static Window
-find_toplevel_window (Window xid)
-{
- Window root, parent, *children;
- guint nchildren;
-
- do {
- if (XQueryTree (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), xid, &root,
- &parent, &children, &nchildren) == 0) {
- g_warning ("Couldn't find window manager window");
- return None;
- }
-
- if (root == parent)
- return xid;
-
- xid = parent;
- } while (TRUE);
-}
-
-
-static gboolean
-adjust_size_callback (GcrShooterInfo *info)
-{
- Window toplevel;
- Window root;
- GdkWindow *window;
- gint tx;
- gint ty;
- guint twidth;
- guint theight;
- guint tborder_width;
- guint tdepth;
- gint target_width = 0;
- gint target_height = 0;
-
- window = gtk_widget_get_window (info->window);
- toplevel = find_toplevel_window (GDK_WINDOW_XID (window));
- XGetGeometry (GDK_WINDOW_XDISPLAY (window), toplevel,
- &root, &tx, &ty, &twidth, &theight, &tborder_width, &tdepth);
-
- switch (info->size) {
- case GCR_SHOOTER_SMALL:
- target_width = SMALL_WIDTH;
- target_height = SMALL_HEIGHT;
- break;
- case GCR_SHOOTER_MEDIUM:
- target_width = MEDIUM_WIDTH;
- target_height = MEDIUM_HEIGHT;
- break;
- case GCR_SHOOTER_LARGE:
- target_width = LARGE_WIDTH;
- target_height = LARGE_HEIGHT;
- break;
- case GCR_SHOOTER_ASIS:
- target_width = twidth;
- target_height = theight;
- break;
- }
-
- if (twidth > target_width || theight > target_height) {
- gtk_widget_set_size_request (info->window,
- 2 + target_width - (twidth - target_width), /* Dunno why I need the +2 fudge factor; */
- 2 + target_height - (theight - target_height));
- }
- return FALSE;
-}
-
-static void
-realize_callback (GtkWidget *widget, GcrShooterInfo *info)
-{
- gdk_threads_add_timeout (500, (GSourceFunc)adjust_size_callback, info);
-}
-
-GcrShooterInfo*
-gcr_shooter_info_new (const gchar *name, GtkWidget *widget, GcrShooterSize size)
-{
- GcrShooterInfo *info;
-
- info = g_new0 (GcrShooterInfo, 1);
- info->name = g_strdup (name);
- info->size = size;
- if (GTK_IS_WINDOW (widget)) {
- info->window = widget;
- gtk_window_set_resizable (GTK_WINDOW (info->window), FALSE);
- info->include_decorations = TRUE;
- g_signal_connect (info->window, "realize", G_CALLBACK (realize_callback), info);
- } else {
- info->window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
- gtk_window_set_has_resize_grip (GTK_WINDOW (info->window), FALSE);
- info->include_decorations = FALSE;
- gtk_widget_show_all (widget);
- gtk_container_add (GTK_CONTAINER (info->window), widget);
- }
- info->no_focus = TRUE;
-
- gtk_widget_set_app_paintable (info->window, TRUE);
- g_signal_connect (info->window, "focus", G_CALLBACK (gtk_true), NULL);
- gtk_container_set_border_width (GTK_CONTAINER (info->window), 12);
-
- switch (size) {
- case GCR_SHOOTER_SMALL:
- gtk_widget_set_size_request (info->window, 240, 75);
- break;
- case GCR_SHOOTER_MEDIUM:
- gtk_widget_set_size_request (info->window, 240, 165);
- break;
- case GCR_SHOOTER_LARGE:
- gtk_widget_set_size_request (info->window, 240, 240);
- break;
- default:
- break;
- }
-
- return info;
-}
-
-#define BLUR_RADIUS 5
-#define SHADOW_OFFSET (BLUR_RADIUS * 4 / 5)
-#define SHADOW_OPACITY 0.75
-
-typedef struct {
- int size;
- double *data;
-} ConvFilter;
-
-static double
-gaussian (double x, double y, double r)
-{
- return ((1 / (2 * M_PI * r)) *
- exp ((- (x * x + y * y)) / (2 * r * r)));
-}
-
-static ConvFilter *
-create_blur_filter (int radius)
-{
- ConvFilter *filter;
- int x, y;
- double sum;
-
- filter = g_new0 (ConvFilter, 1);
- filter->size = radius * 2 + 1;
- filter->data = g_new (double, filter->size * filter->size);
-
- sum = 0.0;
-
- for (y = 0 ; y < filter->size; y++) {
- for (x = 0 ; x < filter->size; x++) {
- sum += filter->data[y * filter->size + x] = gaussian (x - (filter->size >> 1),
- y - (filter->size >> 1),
- radius);
- }
- }
-
- for (y = 0; y < filter->size; y++) {
- for (x = 0; x < filter->size; x++) {
- filter->data[y * filter->size + x] /= sum;
- }
- }
-
- return filter;
-
-}
-
-static GdkPixbuf *
-create_shadow (GdkPixbuf *src)
-{
- int x, y, i, j;
- int width, height;
- GdkPixbuf *dest;
- static ConvFilter *filter = NULL;
- int src_rowstride, dest_rowstride;
- int src_bpp, dest_bpp;
- guchar *src_pixels, *dest_pixels;
-
- if (!filter)
- filter = create_blur_filter (BLUR_RADIUS);
-
- width = gdk_pixbuf_get_width (src) + BLUR_RADIUS * 2 + SHADOW_OFFSET;
- height = gdk_pixbuf_get_height (src) + BLUR_RADIUS * 2 + SHADOW_OFFSET;
-
- dest = gdk_pixbuf_new (gdk_pixbuf_get_colorspace (src),
- gdk_pixbuf_get_has_alpha (src),
- gdk_pixbuf_get_bits_per_sample (src),
- width, height);
- gdk_pixbuf_fill (dest, 0);
- src_pixels = gdk_pixbuf_get_pixels (src);
- src_rowstride = gdk_pixbuf_get_rowstride (src);
- src_bpp = gdk_pixbuf_get_has_alpha (src) ? 4 : 3;
-
- dest_pixels = gdk_pixbuf_get_pixels (dest);
- dest_rowstride = gdk_pixbuf_get_rowstride (dest);
- dest_bpp = gdk_pixbuf_get_has_alpha (dest) ? 4 : 3;
-
- for (y = 0; y < height; y++) {
- for (x = 0; x < width; x++) {
- int sumr = 0, sumg = 0, sumb = 0, suma = 0;
-
- for (i = 0; i < filter->size; i++) {
- for (j = 0; j < filter->size; j++) {
- int src_x, src_y;
-
- src_y = -(BLUR_RADIUS + SHADOW_OFFSET) + y - (filter->size >> 1) + i;
- src_x = -(BLUR_RADIUS + SHADOW_OFFSET) + x - (filter->size >> 1) + j;
-
- if (src_y < 0 || src_y > gdk_pixbuf_get_height (src) ||
- src_x < 0 || src_x > gdk_pixbuf_get_width (src))
- continue;
-
- sumr += src_pixels [src_y * src_rowstride +
- src_x * src_bpp + 0] *
- filter->data [i * filter->size + j];
- sumg += src_pixels [src_y * src_rowstride +
- src_x * src_bpp + 1] *
- filter->data [i * filter->size + j];
-
- sumb += src_pixels [src_y * src_rowstride +
- src_x * src_bpp + 2] *
- filter->data [i * filter->size + j];
-
- if (src_bpp == 4)
- suma += src_pixels [src_y * src_rowstride +
- src_x * src_bpp + 3] *
- filter->data [i * filter->size + j];
- }
- }
-
- if (dest_bpp == 4)
- dest_pixels [y * dest_rowstride +
- x * dest_bpp + 3] = suma * SHADOW_OPACITY;
- }
- }
-
- return dest;
-}
-
-GdkPixbuf *
-create_shadowed_pixbuf (GdkPixbuf *src)
-{
- GdkPixbuf *dest;
-
- dest = create_shadow (src);
-
- gdk_pixbuf_composite (src, dest,
- BLUR_RADIUS, BLUR_RADIUS,
- gdk_pixbuf_get_width (src),
- gdk_pixbuf_get_height (src),
- BLUR_RADIUS, BLUR_RADIUS, 1.0, 1.0,
- GDK_INTERP_NEAREST, 255);
- return dest;
-}
-static GdkPixbuf *
-add_border_to_shot (GdkPixbuf *pixbuf)
-{
- GdkPixbuf *retval;
-
- retval = gdk_pixbuf_new (GDK_COLORSPACE_RGB, TRUE, 8,
- gdk_pixbuf_get_width (pixbuf) + 2,
- gdk_pixbuf_get_height (pixbuf) + 2);
-
- /* Fill with solid black */
- gdk_pixbuf_fill (retval, 0xFF);
- gdk_pixbuf_copy_area (pixbuf,
- 0, 0,
- gdk_pixbuf_get_width (pixbuf),
- gdk_pixbuf_get_height (pixbuf),
- retval, 1, 1);
-
- return retval;
-}
-
-static GdkPixbuf *
-remove_shaped_area (GdkPixbuf *pixbuf, Window window)
-{
- GdkPixbuf *retval;
- XRectangle *rectangles;
- int rectangle_count, rectangle_order;
- int i;
-
- retval = gdk_pixbuf_new (GDK_COLORSPACE_RGB, TRUE, 8,
- gdk_pixbuf_get_width (pixbuf),
- gdk_pixbuf_get_height (pixbuf));
-
- gdk_pixbuf_fill (retval, 0);
- rectangles = XShapeGetRectangles (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), window,
- ShapeBounding, &rectangle_count, &rectangle_order);
-
- for (i = 0; i < rectangle_count; i++) {
- int y, x;
-
- for (y = rectangles[i].y; y < rectangles[i].y + rectangles[i].height; y++) {
- guchar *src_pixels, *dest_pixels;
-
- src_pixels = gdk_pixbuf_get_pixels (pixbuf) +
- y * gdk_pixbuf_get_rowstride (pixbuf) +
- rectangles[i].x * (gdk_pixbuf_get_has_alpha (pixbuf) ? 4 : 3);
- dest_pixels = gdk_pixbuf_get_pixels (retval) +
- y * gdk_pixbuf_get_rowstride (retval) +
- rectangles[i].x * 4;
-
- for (x = rectangles[i].x; x < rectangles[i].x + rectangles[i].width; x++) {
- *dest_pixels++ = *src_pixels ++;
- *dest_pixels++ = *src_pixels ++;
- *dest_pixels++ = *src_pixels ++;
- *dest_pixels++ = 255;
-
- if (gdk_pixbuf_get_has_alpha (pixbuf))
- src_pixels++;
- }
- }
- }
-
- return retval;
-}
-
-static GdkPixbuf *
-take_window_shot (Window child, gboolean include_decoration)
-{
- GdkWindow *window;
- Window xid;
- gint x_orig, y_orig;
- gint x = 0, y = 0;
- gint width, height;
-
- GdkPixbuf *tmp, *tmp2;
- GdkPixbuf *retval;
-
- if (include_decoration)
- xid = find_toplevel_window (child);
- else
- xid = child;
-
- window = gdk_x11_window_foreign_new_for_display (gdk_display_get_default (), xid);
-
- width = gdk_window_get_width (window);
- height = gdk_window_get_height (window);
- gdk_window_get_origin (window, &x_orig, &y_orig);
-
- if (x_orig < 0) {
- x = - x_orig;
- width = width + x_orig;
- x_orig = 0;
- }
-
- if (y_orig < 0) {
- y = - y_orig;
- height = height + y_orig;
- y_orig = 0;
- }
-
- if (x_orig + width > gdk_screen_width ())
- width = gdk_screen_width () - x_orig;
-
- if (y_orig + height > gdk_screen_height ())
- height = gdk_screen_height () - y_orig;
-
- tmp = gdk_pixbuf_get_from_window (window, x, y, width, height);
-
- if (include_decoration)
- tmp2 = remove_shaped_area (tmp, xid);
- else
- tmp2 = add_border_to_shot (tmp);
-
- retval = create_shadowed_pixbuf (tmp2);
- g_object_unref (tmp);
- g_object_unref (tmp2);
-
- return retval;
-}
-
-int
-main (int argc, char **argv)
-{
- GdkPixbuf *screenshot = NULL;
- GError *error = NULL;
- GtkAllocation allocation;
- GcrShooterInfo *info;
- GdkWindow *window;
- const gchar *outdir;
- XID id;
- char *filename;
-
- /*
- * If there's no DISPLAY, we silently error out. We don't want to break
- * headless builds.
- */
-
- if (!gtk_init_check (&argc, &argv))
- return 0;
-
- if (argc < 2 || !argv[1]) {
- g_printerr ("specify name of widget\n");
- return 2;
- }
-
- info = gcr_widgets_create (argv[1]);
- if (info == NULL) {
- g_printerr ("no such widget: %s\n", argv[1]);
- return 1;
- }
-
- gtk_widget_show (info->window);
- window = gtk_widget_get_window (info->window);
- gtk_widget_get_allocation (info->window, &allocation);
-
- gtk_widget_show_now (info->window);
- gtk_widget_queue_draw_area (info->window,
- allocation.x, allocation.y,
- allocation.width, allocation.height);
- gdk_window_process_updates (window, TRUE);
-
- while (gtk_events_pending ())
- gtk_main_iteration ();
- sleep (1);
-
- while (gtk_events_pending ())
- gtk_main_iteration ();
-
- id = gdk_x11_window_get_xid (window);
- screenshot = take_window_shot (id, info->include_decorations);
-
- outdir = (argc >= 3) ? argv[2] : ".";
- filename = g_strdup_printf ("%s/%s.png", outdir, info->name);
- if (!gdk_pixbuf_save (screenshot, filename, "png", &error, NULL)) {
- g_printerr ("couldn't write screenshot: %s: %s\n", filename, error->message);
- g_clear_error (&error);
- return 1;
- }
- g_free(filename);
- gtk_widget_hide (info->window);
-
- return 0;
-}
diff --git a/docs/reference/gcr/gcr-shooter.h b/docs/reference/gcr/gcr-shooter.h
deleted file mode 100644
index 407a364..0000000
--- a/docs/reference/gcr/gcr-shooter.h
+++ /dev/null
@@ -1,23 +0,0 @@
-
-#include <gtk/gtk.h>
-
-typedef enum {
- GCR_SHOOTER_SMALL,
- GCR_SHOOTER_MEDIUM,
- GCR_SHOOTER_LARGE,
- GCR_SHOOTER_ASIS
-} GcrShooterSize;
-
-typedef struct GcrShooterInfo {
- GtkWidget *window;
- gchar *name;
- gboolean no_focus;
- gboolean include_decorations;
- GcrShooterSize size;
-} GcrShooterInfo;
-
-GcrShooterInfo* gcr_widgets_create (const gchar *name);
-
-GcrShooterInfo* gcr_shooter_info_new (const gchar *name,
- GtkWidget *widget,
- GcrShooterSize size);
diff --git a/docs/reference/gcr/gcr-visual-index.xml b/docs/reference/gcr/gcr-visual-index.xml
deleted file mode 100644
index ced540a..0000000
--- a/docs/reference/gcr/gcr-visual-index.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE para PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
- "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-]>
-<para role="gallery">
- <link linkend="GcrCertificateWidget">
- <inlinegraphic fileref="certificate-widget.png" format="PNG"></inlinegraphic>
- </link>
- <link linkend="GcrComboSelector">
- <inlinegraphic fileref="combo-selector.png" format="PNG"></inlinegraphic>
- </link>
- <link linkend="GcrImportButton">
- <inlinegraphic fileref="import-button.png" format="PNG"></inlinegraphic>
- </link>
- <link linkend="GcrListSelector">
- <inlinegraphic fileref="list-selector.png" format="PNG"></inlinegraphic>
- </link>
- <link linkend="GcrKeyWidget">
- <inlinegraphic fileref="key-widget.png" format="PNG"></inlinegraphic>
- </link>
- <link linkend="GcrTreeSelector">
- <inlinegraphic fileref="tree-selector.png" format="PNG"></inlinegraphic>
- </link>
- <link linkend="GcrViewerWidget">
- <inlinegraphic fileref="viewer-widget.png" format="PNG"></inlinegraphic>
- </link>
-</para> \ No newline at end of file
diff --git a/docs/reference/gcr/gcr-widgets.c b/docs/reference/gcr/gcr-widgets.c
deleted file mode 100644
index d8458ed..0000000
--- a/docs/reference/gcr/gcr-widgets.c
+++ /dev/null
@@ -1,236 +0,0 @@
-
-#include "gcr-shooter.h"
-#include "gcr.h"
-
-static gpointer
-load_gcr_test_file (const gchar *name, gsize *length)
-{
- GError *error = NULL;
- gchar *contents;
- gchar *filename;
-
- filename = g_build_filename (TOPDIR, "gcr", "tests", "files", name, NULL);
- if (!g_file_get_contents (filename, &contents, length, &error))
- g_error ("couldn't read file: %s: %s", filename, error->message);
- g_free (filename);
- return contents;
-}
-
-static GcrShooterInfo *
-create_certificate_widget (const gchar *name)
-{
- GcrCertificate *certificate;
- GtkWidget *widget;
- GtkWidget *align;
- gchar *contents;
- gsize length;
-
- contents = load_gcr_test_file ("cacert.org.cer", &length);
- certificate = gcr_simple_certificate_new (contents, length);
- g_free (contents);
-
- widget = GTK_WIDGET (gcr_certificate_widget_new (certificate));
- g_object_unref (certificate);
-
- align = gtk_alignment_new (0.5, 0.5, 0.0, 0.0);
- gtk_container_add (GTK_CONTAINER (align), widget);
-
- return gcr_shooter_info_new (name, align, GCR_SHOOTER_LARGE);
-}
-
-static void
-on_parser_key_parsed (GcrParser *parser, gpointer unused)
-{
- GckAttributes **attrs = unused;
- *attrs = gck_attributes_ref (gcr_parser_get_parsed_attributes (parser));
-}
-
-static GcrShooterInfo *
-create_key_widget (const gchar *name)
-{
- GError *error = NULL;
- GckAttributes *attrs = NULL;
- GtkWidget *widget;
- GtkWidget *align;
- GcrParser *parser;
- gchar *contents;
- gsize length;
-
- contents = load_gcr_test_file ("der-dsa-1024.key", &length);
- parser = gcr_parser_new ();
- g_signal_connect (parser, "parsed", G_CALLBACK (on_parser_key_parsed), &attrs);
- if (!gcr_parser_parse_data (parser, contents, length, &error))
- g_error ("couldn't parse data: %s", error->message);
- g_object_unref (parser);
- g_free (contents);
-
- g_assert (attrs);
- widget = GTK_WIDGET (gcr_key_widget_new (attrs));
- gck_attributes_unref (attrs);
-
- align = gtk_alignment_new (0.5, 0.5, 0.0, 0.0);
- gtk_container_add (GTK_CONTAINER (align), widget);
-
- return gcr_shooter_info_new (name, align, GCR_SHOOTER_LARGE);
-}
-
-static GcrShooterInfo *
-create_combo_selector (const gchar *name)
-{
- GcrComboSelector *selector;
- GcrCertificate *certificate;
- GcrCollection *collection;
- GtkWidget *align;
- gchar *contents;
- gsize length;
-
- contents = load_gcr_test_file ("cacert.org.cer", &length);
- certificate = gcr_simple_certificate_new (contents, length);
- g_free (contents);
-
- collection = gcr_simple_collection_new ();
- gcr_simple_collection_add (GCR_SIMPLE_COLLECTION (collection), G_OBJECT (certificate));
-
- selector = gcr_combo_selector_new (collection);
- g_object_unref (collection);
-
- gcr_combo_selector_set_selected (selector, G_OBJECT (certificate));
- g_object_unref (certificate);
-
- align = gtk_alignment_new (0.5, 0.5, 0.0, 0.0);
- gtk_container_add (GTK_CONTAINER (align), GTK_WIDGET (selector));
-
- return gcr_shooter_info_new (name, align, GCR_SHOOTER_MEDIUM);
-}
-
-static GcrShooterInfo *
-create_tree_selector (const gchar *name)
-{
- GcrTreeSelector *selector;
- GcrCertificate *certificate;
- GcrCollection *collection;
- GtkWidget *align;
- gchar *contents;
- gsize length;
- GList *selected = NULL;
-
- collection = gcr_simple_collection_new ();
- selector = gcr_tree_selector_new (collection, GCR_CERTIFICATE_COLUMNS);
-
- contents = load_gcr_test_file ("cacert.org.cer", &length);
- certificate = gcr_simple_certificate_new (contents, length);
- g_free (contents);
- gcr_simple_collection_add (GCR_SIMPLE_COLLECTION (collection), G_OBJECT (certificate));
- selected = g_list_append (selected, certificate);
- gcr_tree_selector_set_selected (selector, selected);
- g_list_free (selected);
- g_object_unref (certificate);
-
- contents = load_gcr_test_file ("der-certificate-dsa.cer", &length);
- certificate = gcr_simple_certificate_new (contents, length);
- g_free (contents);
- gcr_simple_collection_add (GCR_SIMPLE_COLLECTION (collection), G_OBJECT (certificate));
- g_object_unref (certificate);
-
- g_object_unref (collection);
-
- align = gtk_alignment_new (0.5, 0.5, 0.0, 0.0);
- gtk_container_add (GTK_CONTAINER (align), GTK_WIDGET (selector));
-
- return gcr_shooter_info_new (name, align, GCR_SHOOTER_MEDIUM);
-}
-
-static GcrShooterInfo *
-create_list_selector (const gchar *name)
-{
- GcrListSelector *selector;
- GcrCertificate *certificate;
- GcrCollection *collection;
- GtkWidget *align;
- gchar *contents;
- gsize length;
- GList *selected = NULL;
-
- collection = gcr_simple_collection_new ();
- selector = gcr_list_selector_new (collection);
-
- contents = load_gcr_test_file ("cacert.org.cer", &length);
- certificate = gcr_simple_certificate_new (contents, length);
- g_free (contents);
- gcr_simple_collection_add (GCR_SIMPLE_COLLECTION (collection), G_OBJECT (certificate));
- selected = g_list_append (selected, certificate);
- gcr_list_selector_set_selected (selector, selected);
- g_list_free (selected);
- g_object_unref (certificate);
-
- contents = load_gcr_test_file ("der-certificate-dsa.cer", &length);
- certificate = gcr_simple_certificate_new (contents, length);
- g_free (contents);
- gcr_simple_collection_add (GCR_SIMPLE_COLLECTION (collection), G_OBJECT (certificate));
- g_object_unref (certificate);
-
- g_object_unref (collection);
-
- align = gtk_alignment_new (0.5, 0.5, 0.0, 0.0);
- gtk_container_add (GTK_CONTAINER (align), GTK_WIDGET (selector));
-
- return gcr_shooter_info_new (name, align, GCR_SHOOTER_MEDIUM);
-}
-
-static GcrShooterInfo *
-create_import_button (const gchar *name)
-{
- GcrImportButton *import;
- GtkWidget *align;
-
- import = gcr_import_button_new ("Import");
-
- align = gtk_alignment_new (0.5, 0.5, 0.0, 0.0);
- gtk_container_add (GTK_CONTAINER (align), GTK_WIDGET (import));
-
- return gcr_shooter_info_new (name, align, GCR_SHOOTER_MEDIUM);
-}
-
-static GcrShooterInfo *
-create_viewer_widget (const gchar *name)
-{
- GcrViewerWidget *viewer;
- GtkWidget *align;
- gchar *contents;
- gsize length;
-
- contents = load_gcr_test_file ("email.p12", &length);
- viewer = gcr_viewer_widget_new ();
- gcr_viewer_widget_load_data (viewer, "Email certificate", (gpointer)contents, length);
- g_free (contents);
-
- align = gtk_alignment_new (0.5, 0.5, 0.0, 0.0);
- gtk_container_add (GTK_CONTAINER (align), GTK_WIDGET (viewer));
-
- return gcr_shooter_info_new (name, align, GCR_SHOOTER_LARGE);
-}
-
-GcrShooterInfo*
-gcr_widgets_create (const gchar *name)
-{
- g_assert (name);
-
- if (g_str_equal (name, "certificate-widget"))
- return create_certificate_widget (name);
- else if (g_str_equal (name, "combo-selector"))
- return create_combo_selector (name);
- else if (g_str_equal (name, "import-button"))
- return create_import_button (name);
- else if (g_str_equal (name, "key-widget"))
- return create_key_widget (name);
- else if (g_str_equal (name, "list-selector"))
- return create_list_selector (name);
- else if (g_str_equal (name, "tree-selector"))
- return create_tree_selector (name);
- else if (g_str_equal (name, "viewer-widget"))
- return create_viewer_widget (name);
- else
- g_assert_not_reached ();
-
- return NULL;
-}
diff --git a/docs/reference/gcr/gcr.types b/docs/reference/gcr/gcr.types
deleted file mode 100644
index c222b4a..0000000
--- a/docs/reference/gcr/gcr.types
+++ /dev/null
@@ -1,29 +0,0 @@
-gcr_certificate_chain_get_type
-gcr_certificate_get_type
-gcr_certificate_renderer_get_type
-gcr_certificate_widget_get_type
-gcr_collection_get_type
-gcr_collection_model_get_type
-gcr_combo_selector_get_type
-gcr_comparable_get_type
-gcr_filter_collection_get_type
-gcr_import_button_get_type
-gcr_importer_get_type
-gcr_key_renderer_get_type
-gcr_key_widget_get_type
-gcr_list_selector_get_type
-gcr_parser_get_type
-gcr_pkcs11_certificate_get_type
-gcr_prompt_get_type
-gcr_prompt_dialog_get_type
-gcr_renderer_get_type
-gcr_secure_entry_buffer_get_type
-gcr_simple_certificate_get_type
-gcr_simple_collection_get_type
-gcr_system_prompt_get_type
-gcr_system_prompter_get_type
-gcr_tree_selector_get_type
-gcr_union_collection_get_type
-gcr_unlock_options_widget_get_type
-gcr_viewer_get_type
-gcr_viewer_widget_get_type
diff --git a/docs/reference/gcr/meson.build b/docs/reference/gcr/meson.build
deleted file mode 100644
index 43528c8..0000000
--- a/docs/reference/gcr/meson.build
+++ /dev/null
@@ -1,83 +0,0 @@
-version_xml = configure_file(
- input: 'version.xml.in',
- output: '@BASENAME@',
- configuration: { 'VERSION': gcr_version },
-)
-
-gcr_docs_images = [
- 'images/certificate-widget.png',
- 'images/combo-selector.png',
- 'images/import-button.png',
- 'images/list-selector.png',
- 'images/key-widget.png',
- 'images/tree-selector.png',
- 'images/viewer-widget.png',
-]
-
-gcr_docs_ignore_headers = [
- 'console-interaction.h',
- 'eggimagemenuitem.h',
- 'gcr-callback-output-stream.h',
- 'gcr-certificate-exporter.h',
- 'gcr-certificate-basics-widget.h',
- 'gcr-certificate-details-widget.h',
- 'gcr-certificate-request-renderer.h',
- 'gcr-dbus-constants.h',
- 'gcr-dbus-generated.h',
- 'gcr-deprecated.h',
- 'gcr-deprecated-base.h',
- 'gcr-display-scrolled.h',
- 'gcr-display-view.h',
- 'gcr-failure-renderer.h',
- 'gcr-gnupg-importer.h',
- 'gcr-gnupg-renderer.h',
- 'gcr-icons.h',
- 'gcr-import-dialog.h',
- 'gcr-internal.h',
- 'gcr-live-search.h',
- 'gcr-marshal.h',
- 'gcr-menu-button.h',
- 'gcr-oids.h',
- 'gcr-openpgp.h',
- 'gcr-pkcs11-importer.h',
- 'gcr-pkcs11-import-interaction.h',
- 'gcr-pkcs11-import-dialog.h',
- 'gcr-pkcs11-renderer.h',
- 'gcr-record.h',
- 'gcr-single-collection.h',
- 'gcr-ssh-agent-interaction.h',
- 'gcr-ssh-agent-preload.h',
- 'gcr-ssh-agent-private.h',
- 'gcr-ssh-agent-process.h',
- 'gcr-ssh-agent-service.h',
- 'gcr-ssh-agent-util.h',
- 'gcr-ssh-agent-test.h',
- 'gcr-unlock-renderer.h',
- 'gcr-viewer-window.h',
- 'gcr-xxx.h',
- 'gcr-zzz.h',
-]
-
-gnome.gtkdoc('gcr',
- main_sgml: 'gcr-docs.sgml',
- content_files: files(
- 'gcr-visual-index.xml',
- ),
- src_dir: [
- include_directories('../../../gcr'),
- include_directories('../../../ui'),
- ],
- ignore_headers: gcr_docs_ignore_headers,
- dependencies: [ gcr_base_dep, gcr_ui_dep ],
- gobject_typesfile: 'gcr.types',
- html_assets: gcr_docs_images,
- scan_args: [
- '--rebuild-types',
- '--deprecated-guards=GCR_DISABLE_DEPRECATED',
- ],
- install: true,
-)
-
-install_data(gcr_docs_images,
- install_dir: gnome.gtkdoc_html_dir('gcr'),
-)
diff --git a/docs/reference/gcr/version.xml.in b/docs/reference/gcr/version.xml.in
deleted file mode 100644
index 27323da..0000000
--- a/docs/reference/gcr/version.xml.in
+++ /dev/null
@@ -1 +0,0 @@
-@VERSION@ \ No newline at end of file
diff --git a/docs/ui/gcr-ui.toml.in b/docs/ui/gcr-ui.toml.in
new file mode 100644
index 0000000..4ccf466
--- /dev/null
+++ b/docs/ui/gcr-ui.toml.in
@@ -0,0 +1,56 @@
+[library]
+namespace = "GcrUi"
+version = "@GCR_VERSION@"
+browse_url = "https://gitlab.gnome.org/GNOME/gcr/"
+repository_url = "https://gitlab.gnome.org/GNOME/gcr.git"
+authors = "GCR contributors"
+license = "LGPL-2.0-or-later"
+description = "Library providing GTK widgets for high level crypto"
+dependencies = [ "GObject-2.0", "Gio-2.0", "Gtk-3.0", "Gck-@GCK_VERSION@", "Gcr-@GCR_VERSION@" ]
+devhelp = true
+search_index = true
+
+ [dependencies."GObject-2.0"]
+ name = "GObject"
+ description = "The base type system library"
+ docs_url = "https://developer.gnome.org/gobject/stable"
+
+ [dependencies."Gio-2.0"]
+ name = "Gio"
+ description = "GObject interfaces and objects"
+ docs_url = "https://developer.gnome.org/gio/stable"
+
+ [dependencies."Gtk-3.0"]
+ name = "Gtk"
+ description = "The GTK UI toolkit"
+ docs_url = "https://docs.gtk.org/gtk4/"
+
+ [dependencies."Gck-@GCK_VERSION@"]
+ name = "Gck"
+ description = "GObject bindings for PKCS#11"
+
+ [dependencies."Gcr-@GCR_VERSION@"]
+ name = "Gcr"
+ description = "GObject library for high level crypto parsing"
+
+[theme]
+name = "basic"
+show_index_summary = true
+show_class_hierarchy = true
+
+[source-location]
+base_url = "https://gitlab.gnome.org/GNOME/gcr/-/blob/master/"
+
+[extra]
+content_files = [
+ 'widget-gallery.md',
+]
+content_images = [
+ 'images/certificate-widget.png',
+ 'images/combo-selector.png',
+ 'images/import-button.png',
+ 'images/key-widget.png',
+ 'images/list-selector.png',
+ 'images/tree-selector.png',
+ 'images/viewer-widget.png',
+]
diff --git a/docs/reference/gcr/images/certificate-widget.png b/docs/ui/images/certificate-widget.png
index e3c9158..e3c9158 100644
--- a/docs/reference/gcr/images/certificate-widget.png
+++ b/docs/ui/images/certificate-widget.png
Binary files differ
diff --git a/docs/reference/gcr/images/combo-selector.png b/docs/ui/images/combo-selector.png
index 073f483..073f483 100644
--- a/docs/reference/gcr/images/combo-selector.png
+++ b/docs/ui/images/combo-selector.png
Binary files differ
diff --git a/docs/reference/gcr/images/import-button.png b/docs/ui/images/import-button.png
index 9166bb8..9166bb8 100644
--- a/docs/reference/gcr/images/import-button.png
+++ b/docs/ui/images/import-button.png
Binary files differ
diff --git a/docs/reference/gcr/images/key-widget.png b/docs/ui/images/key-widget.png
index db3a371..db3a371 100644
--- a/docs/reference/gcr/images/key-widget.png
+++ b/docs/ui/images/key-widget.png
Binary files differ
diff --git a/docs/reference/gcr/images/list-selector.png b/docs/ui/images/list-selector.png
index 7f9c688..7f9c688 100644
--- a/docs/reference/gcr/images/list-selector.png
+++ b/docs/ui/images/list-selector.png
Binary files differ
diff --git a/docs/reference/gcr/images/tree-selector.png b/docs/ui/images/tree-selector.png
index 7bcd1a1..7bcd1a1 100644
--- a/docs/reference/gcr/images/tree-selector.png
+++ b/docs/ui/images/tree-selector.png
Binary files differ
diff --git a/docs/reference/gcr/images/viewer-widget.png b/docs/ui/images/viewer-widget.png
index 1933e04..1933e04 100644
--- a/docs/reference/gcr/images/viewer-widget.png
+++ b/docs/ui/images/viewer-widget.png
Binary files differ
diff --git a/docs/ui/meson.build b/docs/ui/meson.build
new file mode 100644
index 0000000..49ea4ca
--- /dev/null
+++ b/docs/ui/meson.build
@@ -0,0 +1,35 @@
+gcr_ui_content_files = [
+ 'widget-gallery.md',
+]
+
+gcr_ui_toml = configure_file(
+ input: 'gcr-ui.toml.in',
+ output: '@BASENAME@',
+ configuration: {
+ 'GCR_VERSION': gcr_major_version,
+ 'GCK_VERSION': gck_major_version,
+ },
+)
+
+gcr_ui_docs = custom_target('gcr-ui-docs',
+ input: gcr_ui_gir[0],
+ output: 'gcr-ui-@0@'.format(gcr_major_version),
+ command: [
+ gi_docgen,
+ 'generate',
+ '--quiet',
+ '--fatal-warnings',
+ '--add-include-path=@0@'.format(build_root / 'gck'),
+ '--add-include-path=@0@'.format(build_root / 'gcr'),
+ '--config', gcr_ui_toml,
+ '--output-dir=@OUTPUT@',
+ '--no-namespace-dir',
+ '--content-dir=@0@'.format(meson.current_source_dir()),
+ '@INPUT@',
+ ],
+ depend_files: [ gcr_ui_toml, gcr_ui_content_files ],
+ depends: [ gck_gir[0], gcr_gir[0] ],
+ build_by_default: true,
+ install: true,
+ install_dir: get_option('datadir') / 'doc',
+)
diff --git a/docs/ui/widget-gallery.md b/docs/ui/widget-gallery.md
new file mode 100644
index 0000000..27e1e90
--- /dev/null
+++ b/docs/ui/widget-gallery.md
@@ -0,0 +1,20 @@
+Title: Widget gallery
+
+Widget gallery
+==============
+
+Selector widgets
+----------------
+[![combo-selector](combo-selector.png)](class.ComboSelector.html)
+[![list-selector](list-selector.png)](class.ListSelector.html)
+[![tree-selector](tree-selector.png)](class.TreeSelector.html)
+
+Display widgets
+---------------
+[![certificate-widget](certificate-widget.png)](class.CertificateWidget.html)
+[![key-widget](key-widget.png)](class.KeyWidget.html)
+[![viewer-widget](viewer-widget.png)](class.ViewerWidget.html)
+
+Import widgets
+--------------
+[![import-button](import-button.png)](class.ImportButton.html)