diff options
author | Niels De Graef <nielsdegraef@gmail.com> | 2021-09-30 13:41:44 +0200 |
---|---|---|
committer | Corentin Noël <tintou@noel.tf> | 2021-11-10 10:51:39 +0000 |
commit | 6fc2f87a5e02558d9550a533fc0266aea5a127c0 (patch) | |
tree | fbb7ea3fabb25080e36a12738ab6504c30a34371 /docs | |
parent | 8617fe225a045a0eba701bdc0bf6349480720233 (diff) | |
download | gcr-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')
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 Binary files differindex e3c9158..e3c9158 100644 --- a/docs/reference/gcr/images/certificate-widget.png +++ b/docs/ui/images/certificate-widget.png diff --git a/docs/reference/gcr/images/combo-selector.png b/docs/ui/images/combo-selector.png Binary files differindex 073f483..073f483 100644 --- a/docs/reference/gcr/images/combo-selector.png +++ b/docs/ui/images/combo-selector.png diff --git a/docs/reference/gcr/images/import-button.png b/docs/ui/images/import-button.png Binary files differindex 9166bb8..9166bb8 100644 --- a/docs/reference/gcr/images/import-button.png +++ b/docs/ui/images/import-button.png diff --git a/docs/reference/gcr/images/key-widget.png b/docs/ui/images/key-widget.png Binary files differindex db3a371..db3a371 100644 --- a/docs/reference/gcr/images/key-widget.png +++ b/docs/ui/images/key-widget.png diff --git a/docs/reference/gcr/images/list-selector.png b/docs/ui/images/list-selector.png Binary files differindex 7f9c688..7f9c688 100644 --- a/docs/reference/gcr/images/list-selector.png +++ b/docs/ui/images/list-selector.png diff --git a/docs/reference/gcr/images/tree-selector.png b/docs/ui/images/tree-selector.png Binary files differindex 7bcd1a1..7bcd1a1 100644 --- a/docs/reference/gcr/images/tree-selector.png +++ b/docs/ui/images/tree-selector.png diff --git a/docs/reference/gcr/images/viewer-widget.png b/docs/ui/images/viewer-widget.png Binary files differindex 1933e04..1933e04 100644 --- a/docs/reference/gcr/images/viewer-widget.png +++ b/docs/ui/images/viewer-widget.png 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) |