[gcr/wip/gir-keyerror: 2/2] WIP vapi
- From: Stefan Walter <stefw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gcr/wip/gir-keyerror: 2/2] WIP vapi
- Date: Sat, 20 Oct 2012 18:46:32 +0000 (UTC)
commit 64442ec0c168125102168bf514c4c881dec8119c
Author: Stef Walter <stefw gnome org>
Date: Sat Oct 20 14:03:38 2012 +0200
WIP vapi
.gitignore | 4 +
configure.ac | 13 +++
gck/Gck-1.metadata | 2 +
gck/Makefile.am | 60 ++++++++---
gcr/Gcr-3.metadata | 5 +
gcr/GcrBase-3.metadata | 5 +
gcr/Makefile.am | 212 ++++++++++++++++++++++++++-------------
gcr/gcr-certificate-renderer.c | 36 ++++----
gcr/gcr-certificate-renderer.h | 5 -
gcr/gcr-certificate-widget.c | 25 ++---
gcr/gcr-certificate-widget.h | 19 ++--
gcr/gcr-deprecated.h | 11 ++
gcr/gcr-renderer.c | 37 +++++++
gcr/gcr-renderer.h | 5 +
14 files changed, 305 insertions(+), 134 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index d71b7e6..8bc6fd5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -82,6 +82,8 @@ stamp-*
/gck/*.pc
/gck/gck-enum-types*
/gck/gck-marshal.*
+/gck/gck-?.deps
+/gck/gck-?.vapi
/gcr/*.pc
/gcr/gcr-dbus-generated.*
@@ -94,6 +96,8 @@ stamp-*
/gcr/gcr-viewer
/gcr/gcr-viewer.desktop
/gcr/gcr-viewer.desktop.in
+/gcr/gcr-?.deps
+/gcr/gcr-?.vapi
/po/Makefile.in.in
/po/*.sed
diff --git a/configure.ac b/configure.ac
index c2af224..9fcf53a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -86,6 +86,18 @@ AC_SUBST(GTK_CFLAGS)
AC_SUBST(GTK_LIBS)
# --------------------------------------------------------------------
+# Vala
+
+VALA_REQUIRED=0.18.0
+
+VAPIGEN_CHECK($VALA_REQUIRED)
+
+if test "$enable_vala" != "no"; then
+ AC_PATH_PROG([VALAC], [valac], [])
+fi
+AM_CONDITIONAL(HAVE_VALAC, test "x$VALAC" != "x")
+
+# --------------------------------------------------------------------
# Checks for functions
#
@@ -377,6 +389,7 @@ echo "BUILD"
echo " Debug Build: $debug_status"
echo " Strict Compilation: $strict_status"
echo " Introspection: $found_introspection"
+echo " Vala: $enable_vala"
echo " Valgrind: $valgrind_status"
echo " Test Coverage: $enable_coverage"
echo
diff --git a/gck/Gck-1.metadata b/gck/Gck-1.metadata
new file mode 100644
index 0000000..b175213
--- /dev/null
+++ b/gck/Gck-1.metadata
@@ -0,0 +1,2 @@
+// Metadata file for Vala API generation.
+// See https://live.gnome.org/Vala/UpstreamGuide for more information
diff --git a/gck/Makefile.am b/gck/Makefile.am
index 2319bf7..979eac0 100644
--- a/gck/Makefile.am
+++ b/gck/Makefile.am
@@ -99,6 +99,23 @@ gck-enum-types.h: gck-enum-types.h.template $(HEADER_FILES)
gck-enum-types.c: gck-enum-types.c.template $(HEADER_FILES)
$(AM_V_GEN) $(GLIB_MKENUMS) --template $^ > $@
+EXTRA_DIST = \
+ gck.pc.in \
+ gck-marshal.list \
+ gck.symbols \
+ gck-enum-types.h.template \
+ gck-enum-types.c.template \
+ pkcs11-trust-assertions.h \
+ pkcs11i.h
+
+CLEANFILES = \
+ gck-$(GCK_MAJOR).pc \
+ $(gir_DATA) \
+ $(typelibs_DATA) \
+ $(BUILT_SOURCES) \
+ gck-actual.abi \
+ gck-expected.abi
+
# ------------------------------------------------------------------
# INTROSPECTION
@@ -126,6 +143,33 @@ gir_DATA = $(INTROSPECTION_GIRS)
typelibsdir = $(libdir)/girepository-1.0
typelibs_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
+if ENABLE_VAPIGEN
+include $(VAPIGEN_MAKEFILE)
+
+gck- GCK_MAJOR@.vapi: Gck- GCK_MAJOR@.gir Gck- GCK_MAJOR@.metadata gck- GCK_MAJOR@.deps
+
+VAPIGEN_VAPIS = gck- GCK_MAJOR@.vapi
+
+gck_ GCK_MAJOR@_vapi_DEPS = glib-2.0 gio-2.0
+gck_ GCK_MAJOR@_vapi_METADATADIRS = $(srcdir)
+gck_ GCK_MAJOR@_vapi_FILES = Gck- GCK_MAJOR@.gir
+
+VAPI_DEPS = $(VAPIGEN_VAPIS:.vapi=.deps)
+
+gck-$(GCK_MAJOR).deps: Makefile.am
+ $(AM_V_GEN) echo $(gck_ GCK_MAJOR@_vapi_DEPS) | tr ' ' '\n' > $@
+
+vapidir = $(datadir)/vala/vapi
+vapi_DATA = \
+ $(VAPIGEN_VAPIS) \
+ $(VAPI_DEPS)
+
+CLEANFILES += \
+ $(VAPIGEN_VAPIS) \
+ $(VAPI_DEPS)
+
+endif # ENABLE_VAPIGEN
+
endif
# ----------------------------------------------------------------
@@ -152,19 +196,3 @@ check-local: check-symbols
check-memory:
make -C tests check-memory
-EXTRA_DIST = \
- gck.pc.in \
- gck-marshal.list \
- gck.symbols \
- gck-enum-types.h.template \
- gck-enum-types.c.template \
- pkcs11-trust-assertions.h \
- pkcs11i.h
-
-CLEANFILES = \
- gck-$(GCK_MAJOR).pc \
- $(gir_DATA) \
- $(typelibs_DATA) \
- $(BUILT_SOURCES) \
- gck-actual.abi \
- gck-expected.abi
diff --git a/gcr/Gcr-3.metadata b/gcr/Gcr-3.metadata
new file mode 100644
index 0000000..cbecc9f
--- /dev/null
+++ b/gcr/Gcr-3.metadata
@@ -0,0 +1,5 @@
+// Metadata file for Vala API generation.
+// See https://live.gnome.org/Vala/UpstreamGuide for more information
+
+Certificate
+ .get_der_data#virtual_method name="provide_der_data"
\ No newline at end of file
diff --git a/gcr/GcrBase-3.metadata b/gcr/GcrBase-3.metadata
new file mode 100644
index 0000000..cbecc9f
--- /dev/null
+++ b/gcr/GcrBase-3.metadata
@@ -0,0 +1,5 @@
+// Metadata file for Vala API generation.
+// See https://live.gnome.org/Vala/UpstreamGuide for more information
+
+Certificate
+ .get_der_data#virtual_method name="provide_der_data"
\ No newline at end of file
diff --git a/gcr/Makefile.am b/gcr/Makefile.am
index 4671581..d3a3290 100644
--- a/gcr/Makefile.am
+++ b/gcr/Makefile.am
@@ -36,6 +36,7 @@ HEADER_BASE_FILES = \
gcr-secret-exchange.h \
gcr-secure-memory.h \
gcr-simple-certificate.h \
+ gcr-simple-collection.h \
gcr-system-prompt.h \
gcr-system-prompter.h \
gcr-trust.h \
@@ -61,7 +62,6 @@ HEADER_UI_FILES = \
gcr-prompt-dialog.h \
gcr-renderer.h \
gcr-secure-entry-buffer.h \
- gcr-simple-collection.h \
gcr-tree-selector.h \
gcr-unlock-options-widget.h \
gcr-viewer.h \
@@ -107,97 +107,120 @@ BUILT_SOURCES = \
$(BUILT_BASE_FILES) \
$(BUILT_UI_FILES)
-libgcr_base_ GCR_MAJOR@_la_SOURCES = \
- gcr-callback-output-stream.c gcr-callback-output-stream.h \
+PUBLIC_BASE_FILES = \
+ gcr-base.h \
gcr-certificate.c gcr-certificate.h \
gcr-certificate-chain.c gcr-certificate-chain.h \
- gcr-certificate-extensions.c gcr-certificate-extensions.h \
gcr-certificate-request.c gcr-certificate-request.h \
gcr-collection.c gcr-collection.h \
gcr-comparable.c gcr-comparable.h \
- gcr-dbus-constants.h \
- gcr-debug.c gcr-debug.h \
gcr-filter-collection.c gcr-filter-collection.h \
gcr-fingerprint.c gcr-fingerprint.h \
+ gcr-icons.c gcr-icons.h \
+ gcr-importer.c gcr-importer.h \
+ gcr-import-interaction.c gcr-import-interaction.h \
+ gcr-library.c gcr-library.h \
+ gcr-mock-prompter.c gcr-mock-prompter.h \
+ gcr-parser.c gcr-parser.h \
+ gcr-pkcs11-certificate.c gcr-pkcs11-certificate.h \
+ gcr-prompt.c gcr-prompt.h \
+ gcr-secret-exchange.c gcr-secret-exchange.h \
+ gcr-secure-memory.c gcr-secure-memory.h \
+ gcr-simple-certificate.c gcr-simple-certificate.h \
+ gcr-simple-collection.c gcr-simple-collection.h \
+ gcr-system-prompt.c gcr-system-prompt.h \
+ gcr-system-prompter.c gcr-system-prompter.h \
+ gcr-types.h \
+ gcr-union-collection.c gcr-union-collection.h \
+ gcr-unlock-options.h \
+ $(NULL)
+
+PRIVATE_BASE_FILES = \
+ gcr-callback-output-stream.c gcr-callback-output-stream.h \
+ gcr-certificate-extensions.c gcr-certificate-extensions.h \
+ gcr-dbus-constants.h \
+ gcr-debug.c gcr-debug.h \
+ gcr-deprecated-base.h \
gcr-gnupg-collection.c gcr-gnupg-collection.h \
gcr-gnupg-importer.c gcr-gnupg-importer.h \
gcr-gnupg-key.c gcr-gnupg-key.h \
gcr-gnupg-process.c gcr-gnupg-process.h \
gcr-gnupg-records.c gcr-gnupg-records.h \
gcr-gnupg-util.c gcr-gnupg-util.h \
- gcr-icons.c gcr-icons.h \
- gcr-importer.c gcr-importer.h \
- gcr-import-interaction.c gcr-import-interaction.h \
gcr-internal.h \
gcr-key-mechanisms.h gcr-key-mechanisms.c \
- gcr-library.c gcr-library.h \
gcr-memory.c \
gcr-memory-icon.c gcr-memory-icon.h \
- gcr-mock-prompter.c gcr-mock-prompter.h \
gcr-openpgp.c gcr-openpgp.h \
gcr-openssh.c gcr-openssh.h \
- gcr-parser.c gcr-parser.h \
- gcr-pkcs11-certificate.c gcr-pkcs11-certificate.h \
gcr-pkcs11-importer.c gcr-pkcs11-importer.h \
- gcr-prompt.c gcr-prompt.h \
gcr-record.c gcr-record.h \
- gcr-secret-exchange.c gcr-secret-exchange.h \
- gcr-secure-memory.c gcr-secure-memory.h \
- gcr-simple-certificate.c gcr-simple-certificate.h \
- gcr-simple-collection.c gcr-simple-collection.h \
gcr-single-collection.c gcr-single-collection.h \
gcr-subject-public-key.c gcr-subject-public-key.h \
- gcr-system-prompt.c gcr-system-prompt.h \
- gcr-system-prompter.c gcr-system-prompter.h \
gcr-trust.c gcr-trust.h \
- gcr-types.h \
- gcr-union-collection.c gcr-union-collection.h \
gcr-util.c gcr-util.h \
$(NULL)
+libgcr_base_ GCR_MAJOR@_la_SOURCES = \
+ $(PUBLIC_BASE_FILES) \
+ $(PRIVATE_BASE_FILES) \
+ $(NULL)
+
nodist_libgcr_base_ GCR_MAJOR@_la_SOURCES = \
$(BUILT_BASE_FILES)
-libgcr_ GCR_MAJOR@_la_SOURCES = \
+PUBLIC_UI_FILES = \
+ gcr.h \
+ gcr-certificate-renderer.c gcr-certificate-renderer.h \
+ gcr-certificate-widget.c gcr-certificate-widget.h \
+ gcr-collection-model.c gcr-collection-model.h \
+ gcr-column.h \
+ gcr-combo-selector.c gcr-combo-selector.h \
+ gcr-failure-renderer.c gcr-failure-renderer.h \
+ gcr-key-renderer.c gcr-key-renderer.h \
+ gcr-key-widget.c gcr-key-widget.h \
+ gcr-import-button.c gcr-import-button.h \
+ gcr-list-selector.c gcr-list-selector.h \
+ gcr-prompt-dialog.c gcr-prompt-dialog.h \
+ gcr-renderer.c gcr-renderer.h \
+ gcr-secure-entry-buffer.c gcr-secure-entry-buffer.h \
+ gcr-tree-selector.c gcr-tree-selector.h \
+ gcr-unlock-options-widget.c gcr-unlock-options-widget.h \
+ gcr-viewer.c gcr-viewer.h \
+ gcr-viewer-widget.c gcr-viewer-widget.h \
+ $(NULL)
+
+PRIVATE_UI_FILES = \
gcr-certificate-basics-widget.c gcr-certificate-basics-widget.h \
gcr-certificate-details-widget.c gcr-certificate-details-widget.h \
gcr-certificate-exporter.c gcr-certificate-exporter.h \
gcr-certificate-extensions.c gcr-certificate-extensions.h \
- gcr-certificate-renderer.c gcr-certificate-renderer.h gcr-certificate-renderer-private.h \
+ gcr-certificate-renderer-private.h \
gcr-certificate-request-renderer.c gcr-certificate-request-renderer.h \
- gcr-certificate-widget.c gcr-certificate-widget.h \
- gcr-collection-model.c gcr-collection-model.h \
- gcr-combo-selector.c gcr-combo-selector.h \
gcr-debug.c gcr-debug.h \
+ gcr-deprecated.h \
gcr-dialog-util.c gcr-dialog-util.h \
gcr-display-scrolled.c gcr-display-scrolled.h \
gcr-display-view.c gcr-display-view.h \
- gcr-failure-renderer.c gcr-failure-renderer.h \
gcr-gnupg-renderer.c gcr-gnupg-renderer.h \
gcr-gnupg-records.c gcr-gnupg-records.h \
- gcr-import-button.c gcr-import-button.h \
- gcr-key-renderer.c gcr-key-renderer.h \
- gcr-key-widget.c gcr-key-widget.h \
- gcr-list-selector.c gcr-list-selector.h gcr-list-selector-private.h \
+ gcr-list-selector-private.h \
gcr-live-search.c gcr-live-search.h \
gcr-memory.c \
gcr-memory-icon.c gcr-memory-icon.h \
gcr-pkcs11-import-interaction.c gcr-pkcs11-import-interaction.h \
gcr-pkcs11-import-dialog.c gcr-pkcs11-import-dialog.h \
- gcr-prompt-dialog.c gcr-prompt-dialog.h \
gcr-record.c gcr-record.h \
- gcr-renderer.c gcr-renderer.h \
- gcr-secure-entry-buffer.c gcr-secure-entry-buffer.h \
gcr-subject-public-key.c gcr-subject-public-key.h \
- gcr-tree-selector.c gcr-tree-selector.h \
- gcr-unlock-options.h \
- gcr-unlock-options-widget.c gcr-unlock-options-widget.h \
gcr-unlock-renderer.c gcr-unlock-renderer.h \
- gcr-viewer.c gcr-viewer.h \
- gcr-viewer-widget.c gcr-viewer-widget.h \
gcr-viewer-window.c gcr-viewer-window.h \
$(NULL)
+libgcr_ GCR_MAJOR@_la_SOURCES = \
+ $(PUBLIC_UI_FILES) \
+ $(PRIVATE_UI_FILES) \
+ $(NULL)
+
nodist_libgcr_ GCR_MAJOR@_la_SOURCES = \
$(BUILT_UI_FILES)
@@ -353,6 +376,36 @@ gcr_prompter_LDADD = \
$(top_builddir)/gck/libgck- GCK_MAJOR@.la \
$(GTK_LIBS)
+
+EXTRA_DIST = \
+ gcr.pc.in \
+ gcr-base.pc.in \
+ gcr-marshal.list \
+ gcr-oids.list \
+ gcr-mkoids \
+ $(ui_DATA) \
+ $(DBUS_XML_DEFINITIONS) \
+ gcr-enum-types.h.template \
+ gcr-enum-types.c.template \
+ gcr.symbols \
+ gcr-base.symbols \
+ $(desktop_in_in_files) \
+ $(service_in_files) \
+ $(mime_DATA)
+
+CLEANFILES = \
+ $(BUILT_SOURCES) \
+ $(pkgconfig_DATA) \
+ $(service_DATA) \
+ $(desktop_in_files) \
+ $(desktop_DATA) \
+ $(gir_DATA) \
+ $(typelibs_DATA) \
+ gcr-actual.abi \
+ gcr-actual-base.abi \
+ gcr-expected.abi \
+ gcr-expected-base.abi
+
# ------------------------------------------------------------------
# INTROSPECTION
@@ -360,7 +413,7 @@ if HAVE_INTROSPECTION
include $(INTROSPECTION_MAKEFILE)
-INTROSPECTION_GIRS = Gcr- GCR_MAJOR@.gir
+INTROSPECTION_GIRS = Gcr- GCR_MAJOR@.gir GcrBase- GCR_MAJOR@.gir
INTROSPECTION_SCANNER_ARGS = \
$(INTROSPECTION_FLAGS) \
--warn-all \
@@ -377,15 +430,61 @@ Gcr_ GCR_MAJOR@_gir_EXPORT_PACKAGES = gcr- GCR_MAJOR@
Gcr_ GCR_MAJOR@_gir_INCLUDES = GLib-2.0 GObject-2.0 Gtk-3.0
Gcr_ GCR_MAJOR@_gir_LIBS = libgcr-base- GCR_MAJOR@.la libgcr- GCR_MAJOR@.la
Gcr_ GCR_MAJOR@_gir_CFLAGS = -I$(top_srcdir) -I$(top_builddir) -DGCR_COMPILATION -DGCR_API_SUBJECT_TO_CHANGE
-Gcr_ GCR_MAJOR@_gir_FILES = $(libgcr_base_ GCR_MAJOR@_la_SOURCES) $(libgcr_ GCR_MAJOR@_la_SOURCES)
+Gcr_ GCR_MAJOR@_gir_FILES = $(PUBLIC_BASE_FILES) $(PUBLIC_UI_FILES)
Gcr_ GCR_MAJOR@_gir_SCANNERFLAGS = --c-include "gcr.h" --c-include "gcr-base.h"
+GcrBase- GCR_MAJOR@.gir: libgcr-base- GCR_MAJOR@.la Gcr- GCR_MAJOR@.gir
+
+GcrBase_ GCR_MAJOR@_gir_PACKAGES = p11-kit-1
+GcrBase_ GCR_MAJOR@_gir_EXPORT_PACKAGES = gcr-base- GCR_MAJOR@
+GcrBase_ GCR_MAJOR@_gir_INCLUDES = GLib-2.0 GObject-2.0
+GcrBase_ GCR_MAJOR@_gir_LIBS = libgcr-base- GCR_MAJOR@.la
+GcrBase_ GCR_MAJOR@_gir_CFLAGS = -I$(top_srcdir) -I$(top_builddir) -DGCR_COMPILATION -DGCR_API_SUBJECT_TO_CHANGE
+GcrBase_ GCR_MAJOR@_gir_FILES = $(PUBLIC_BASE_FILES)
+GcrBase_ GCR_MAJOR@_gir_SCANNERFLAGS = --c-include "gcr-base.h" --identifier-prefix Gcr --namespace=GcrBase
+
girdir = $(datadir)/gir-1.0
gir_DATA = $(INTROSPECTION_GIRS)
typelibsdir = $(libdir)/girepository-1.0
typelibs_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
+if ENABLE_VAPIGEN
+include $(VAPIGEN_MAKEFILE)
+
+gcr- GCR_MAJOR@.vapi: Gcr- GCR_MAJOR@.gir Gcr- GCR_MAJOR@.metadata gcr- GCR_MAJOR@.deps
+gcr-base- GCR_MAJOR@.vapi: GcrBase- GCR_MAJOR@.gir GcrBase- GCR_MAJOR@.metadata gcr-base- GCR_MAJOR@.deps
+
+VAPIGEN_VAPIS = gcr- GCR_MAJOR@.vapi gcr-base- GCR_MAJOR@.vapi
+
+gcr_ GCR_MAJOR@_vapi_DEPS = glib-2.0 gio-2.0 gck- GCK_MAJOR@ gtk+-3.0
+gcr_ GCR_MAJOR@_vapi_METADATADIRS = $(srcdir)
+gcr_ GCR_MAJOR@_vapi_VAPIDIRS = $(builddir) $(builddir)/../gck
+gcr_ GCR_MAJOR@_vapi_FILES = Gcr- GCR_MAJOR@.gir
+
+gcr_base_ GCR_MAJOR@_vapi_DEPS = glib-2.0 gio-2.0 gck- GCK_MAJOR@
+gcr_base_ GCR_MAJOR@_vapi_METADATADIRS = $(srcdir)
+gcr_base_ GCR_MAJOR@_vapi_VAPIDIRS = $(builddir) $(builddir)/../gck
+gcr_base_ GCR_MAJOR@_vapi_FILES = GcrBase- GCR_MAJOR@.gir
+
+VAPI_DEPS = $(VAPIGEN_VAPIS:.vapi=.deps)
+
+gcr-$(GCR_MAJOR).deps: Makefile.am
+ $(AM_V_GEN) echo $(gcr_ GCR_MAJOR@_vapi_DEPS) | tr ' ' '\n' > $@
+gcr-base-$(GCR_MAJOR).deps: Makefile.am
+ $(AM_V_GEN) echo $(gcr_base_ GCR_MAJOR@_vapi_DEPS) | tr ' ' '\n' > $@
+
+vapidir = $(datadir)/vala/vapi
+vapi_DATA = \
+ $(VAPIGEN_VAPIS) \
+ $(VAPI_DEPS)
+
+CLEANFILES += \
+ $(VAPIGEN_VAPIS) \
+ $(VAPI_DEPS)
+
+endif # ENABLE_VAPIGEN
+
endif
# ----------------------------------------------------------------
@@ -412,32 +511,3 @@ check-local: check-symbols
check-memory:
make -C tests check-memory
-
-EXTRA_DIST = \
- gcr.pc.in \
- gcr-base.pc.in \
- gcr-marshal.list \
- gcr-oids.list \
- gcr-mkoids \
- $(ui_DATA) \
- $(DBUS_XML_DEFINITIONS) \
- gcr-enum-types.h.template \
- gcr-enum-types.c.template \
- gcr.symbols \
- gcr-base.symbols \
- $(desktop_in_in_files) \
- $(service_in_files) \
- $(mime_DATA)
-
-CLEANFILES = \
- $(BUILT_SOURCES) \
- $(pkgconfig_DATA) \
- $(service_DATA) \
- $(desktop_in_files) \
- $(desktop_DATA) \
- $(gir_DATA) \
- $(typelibs_DATA) \
- gcr-actual.abi \
- gcr-actual-base.abi \
- gcr-expected.abi \
- gcr-expected-base.abi
diff --git a/gcr/gcr-certificate-renderer.c b/gcr/gcr-certificate-renderer.c
index d4e05f4..4aba295 100644
--- a/gcr/gcr-certificate-renderer.c
+++ b/gcr/gcr-certificate-renderer.c
@@ -24,6 +24,7 @@
#include "gcr-certificate-extensions.h"
#include "gcr-certificate-renderer.h"
#include "gcr-certificate-renderer-private.h"
+#include "gcr-deprecated.h"
#include "gcr-display-view.h"
#include "gcr-fingerprint.h"
#include "gcr-icons.h"
@@ -383,7 +384,17 @@ gcr_certificate_renderer_set_property (GObject *obj, guint prop_id, const GValue
gcr_renderer_emit_data_changed (GCR_RENDERER (self));
break;
case PROP_ATTRIBUTES:
- gcr_certificate_renderer_set_attributes (self, g_value_get_boxed (value));
+ gck_attributes_unref (self->pv->opt_attrs);
+ self->pv->opt_attrs = g_value_get_boxed (value);
+ if (self->pv->opt_attrs)
+ gck_attributes_ref (self->pv->opt_attrs);
+ if (self->pv->opt_cert) {
+ g_object_unref (self->pv->opt_cert);
+ g_object_notify (G_OBJECT (self), "certificate");
+ self->pv->opt_cert = NULL;
+ }
+ gcr_renderer_emit_data_changed (GCR_RENDERER (self));
+ g_object_notify (G_OBJECT (self), "attributes");
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, prop_id, pspec);
@@ -743,12 +754,14 @@ gcr_certificate_renderer_set_certificate (GcrCertificateRenderer *self, GcrCerti
* Get the PKCS\#11 attributes, if any, set for this renderer to display.
*
* Returns: (allow-none) (transfer none): the attributes, owned by the renderer
+ *
+ * Deprecated: 3.6: Use gcr_renderer_get_attributes() instead
*/
GckAttributes *
gcr_certificate_renderer_get_attributes (GcrCertificateRenderer *self)
{
g_return_val_if_fail (GCR_IS_CERTIFICATE_RENDERER (self), NULL);
- return self->pv->opt_attrs;
+ return gcr_renderer_get_attributes (GCR_RENDERER (self));
}
/**
@@ -758,27 +771,14 @@ gcr_certificate_renderer_get_attributes (GcrCertificateRenderer *self)
*
* Set the PKCS\#11 attributes for this renderer to display. One of the attributes
* should be a CKA_VALUE type attribute containing a DER encoded certificate.
+ *
+ * Deprecated: 3.6: Use gcr_renderer_set_attributes() instead
*/
void
gcr_certificate_renderer_set_attributes (GcrCertificateRenderer *self, GckAttributes *attrs)
{
g_return_if_fail (GCR_IS_CERTIFICATE_RENDERER (self));
-
- gck_attributes_unref (self->pv->opt_attrs);
- self->pv->opt_attrs = attrs;
-
- if (self->pv->opt_attrs)
- gck_attributes_ref (self->pv->opt_attrs);
-
- if (self->pv->opt_cert) {
- g_object_unref (self->pv->opt_cert);
- g_object_notify (G_OBJECT (self), "certificate");
- self->pv->opt_cert = NULL;
- }
-
- gcr_renderer_emit_data_changed (GCR_RENDERER (self));
- g_object_notify (G_OBJECT (self), "attributes");
-
+ gcr_renderer_set_attributes (GCR_RENDERER (self), attrs);
}
typedef struct {
diff --git a/gcr/gcr-certificate-renderer.h b/gcr/gcr-certificate-renderer.h
index 6167dd5..2450b98 100644
--- a/gcr/gcr-certificate-renderer.h
+++ b/gcr/gcr-certificate-renderer.h
@@ -67,11 +67,6 @@ GcrCertificate* gcr_certificate_renderer_get_certificate (GcrCertif
void gcr_certificate_renderer_set_certificate (GcrCertificateRenderer *self,
GcrCertificate *certificate);
-GckAttributes* gcr_certificate_renderer_get_attributes (GcrCertificateRenderer *self);
-
-void gcr_certificate_renderer_set_attributes (GcrCertificateRenderer *self,
- GckAttributes *attrs);
-
G_END_DECLS
#endif /* __GCR_CERTIFICATE_RENDERER_H__ */
diff --git a/gcr/gcr-certificate-widget.c b/gcr/gcr-certificate-widget.c
index 6ffdd44..7fb9954 100644
--- a/gcr/gcr-certificate-widget.c
+++ b/gcr/gcr-certificate-widget.c
@@ -22,6 +22,7 @@
#include "gcr-certificate.h"
#include "gcr-certificate-renderer.h"
#include "gcr-certificate-widget.h"
+#include "gcr-deprecated.h"
#include "gcr-renderer.h"
#include "gcr-viewer.h"
@@ -64,23 +65,12 @@ enum {
PROP_ATTRIBUTES
};
-struct _GcrCertificateWidget {
- /*< private >*/
- GtkAlignment parent;
- GcrCertificateWidgetPrivate *pv;
-};
-
-struct _GcrCertificateWidgetClass {
- /*< private >*/
- GtkAlignmentClass parent_class;
-};
-
struct _GcrCertificateWidgetPrivate {
GcrViewer *viewer;
GcrCertificateRenderer *renderer;
};
-G_DEFINE_TYPE (GcrCertificateWidget, gcr_certificate_widget, GTK_TYPE_ALIGNMENT);
+G_DEFINE_TYPE (GcrCertificateWidget, gcr_certificate_widget, GTK_TYPE_WIDGET);
/* -----------------------------------------------------------------------------
* OBJECT
@@ -242,12 +232,14 @@ gcr_certificate_widget_set_certificate (GcrCertificateWidget *self, GcrCertifica
* a certificate.
*
* Returns: (allow-none) (transfer none): the attributes, owned by the widget
+ *
+ * Deprecated: 3.6: Use gcr_renderer_get_attributes() instead
*/
GckAttributes *
gcr_certificate_widget_get_attributes (GcrCertificateWidget *self)
{
g_return_val_if_fail (GCR_IS_CERTIFICATE_WIDGET (self), NULL);
- return gcr_certificate_renderer_get_attributes (self->pv->renderer);
+ return gcr_renderer_get_attributes (GCR_RENDERER (self->pv->renderer));
}
/**
@@ -257,10 +249,13 @@ gcr_certificate_widget_get_attributes (GcrCertificateWidget *self)
*
* Set the attributes displayed in the widget. The attributes should contain
* a certificate.
+ *
+ * Deprecated: 3.6: Use gcr_renderer_set_attributes() instead
*/
void
-gcr_certificate_widget_set_attributes (GcrCertificateWidget *self, GckAttributes* attrs)
+gcr_certificate_widget_set_attributes (GcrCertificateWidget *self,
+ GckAttributes *attrs)
{
g_return_if_fail (GCR_IS_CERTIFICATE_WIDGET (self));
- gcr_certificate_renderer_set_attributes (self->pv->renderer, attrs);
+ gcr_renderer_set_attributes (GCR_RENDERER (self->pv->renderer), attrs);
}
diff --git a/gcr/gcr-certificate-widget.h b/gcr/gcr-certificate-widget.h
index 3ad2f19..2eca9c3 100644
--- a/gcr/gcr-certificate-widget.h
+++ b/gcr/gcr-certificate-widget.h
@@ -43,10 +43,16 @@ typedef struct _GcrCertificateWidget GcrCertificateWidget;
typedef struct _GcrCertificateWidgetClass GcrCertificateWidgetClass;
typedef struct _GcrCertificateWidgetPrivate GcrCertificateWidgetPrivate;
-/*
- * TODO: GcrCertificateWidget and GcrCertificateWidgetClass are hidden until
- * we can figure out what they should be derived from.
- */
+struct _GcrCertificateWidget {
+ /*< private >*/
+ GtkWidget parent;
+ GcrCertificateWidgetPrivate *pv;
+};
+
+struct _GcrCertificateWidgetClass {
+ /*< private >*/
+ GtkWidgetClass parent_class;
+};
GType gcr_certificate_widget_get_type (void);
@@ -57,11 +63,6 @@ GcrCertificate* gcr_certificate_widget_get_certificate (GcrCertif
void gcr_certificate_widget_set_certificate (GcrCertificateWidget *self,
GcrCertificate *certificate);
-GckAttributes* gcr_certificate_widget_get_attributes (GcrCertificateWidget *self);
-
-void gcr_certificate_widget_set_attributes (GcrCertificateWidget *self,
- GckAttributes* attrs);
-
G_END_DECLS
#endif /* __GCR_CERTIFICATE_WIDGET_H__ */
diff --git a/gcr/gcr-deprecated.h b/gcr/gcr-deprecated.h
index 3447c84..f92b79d 100644
--- a/gcr/gcr-deprecated.h
+++ b/gcr/gcr-deprecated.h
@@ -34,6 +34,7 @@
#include "gcr-certificate-basics-widget.h"
#include "gcr-certificate-details-widget.h"
+#include "gcr-certificate-renderer.h"
#include "gcr-viewer.h"
G_BEGIN_DECLS
@@ -41,6 +42,16 @@ G_BEGIN_DECLS
void gcr_renderer_render (GcrRenderer *self,
GcrViewer *viewer);
+GckAttributes * gcr_certificate_renderer_get_attributes (GcrCertificateRenderer *self);
+
+void gcr_certificate_renderer_set_attributes (GcrCertificateRenderer *self,
+ GckAttributes *attrs);
+
+GckAttributes * gcr_certificate_widget_get_attributes (GcrCertificateWidget *self);
+
+void gcr_certificate_widget_set_attributes (GcrCertificateWidget *self,
+ GckAttributes *attrs);
+
G_END_DECLS
#endif /* __GI_SCANNER__ */
diff --git a/gcr/gcr-renderer.c b/gcr/gcr-renderer.c
index 30ce91f..e66ed89 100644
--- a/gcr/gcr-renderer.c
+++ b/gcr/gcr-renderer.c
@@ -186,6 +186,43 @@ gcr_renderer_emit_data_changed (GcrRenderer *self)
g_signal_emit (self, signals[DATA_CHANGED], 0);
}
+/**
+ * gcr_renderer_get_attributes:
+ * @self: The renderer
+ *
+ * Get the PKCS\#11 attributes, if any, set for this renderer to display.
+ *
+ * Returns: (allow-none) (transfer none): the attributes, owned by the renderer
+ */
+GckAttributes *
+gcr_renderer_get_attributes (GcrRenderer *self)
+{
+ GckAttributes *attrs;
+
+ g_return_val_if_fail (GCR_IS_RENDERER (self), NULL);
+
+ g_object_get (self, "attributes", &attrs, NULL);
+ if (attrs != NULL)
+ gck_attributes_unref (attrs);
+ return attrs;
+}
+
+/**
+ * gcr_renderer_set_attributes:
+ * @self: The renderer
+ * @attrs: (allow-none): attributes to set
+ *
+ * Set the PKCS\#11 attributes for this renderer to display.
+ */
+void
+gcr_renderer_set_attributes (GcrRenderer *self,
+ GckAttributes *attrs)
+{
+ g_return_if_fail (GCR_IS_RENDERER (self));
+
+ g_object_set (self, "attributes", attrs, NULL);
+}
+
static gint
sort_registered_by_n_attrs (gconstpointer a, gconstpointer b)
{
diff --git a/gcr/gcr-renderer.h b/gcr/gcr-renderer.h
index 242374a..ffca094 100644
--- a/gcr/gcr-renderer.h
+++ b/gcr/gcr-renderer.h
@@ -77,6 +77,11 @@ GcrRenderer* gcr_renderer_create (const gchar *
void gcr_renderer_register (GType renderer_type,
GckAttributes *attrs);
+GckAttributes * gcr_renderer_get_attributes (GcrRenderer *self);
+
+void gcr_renderer_set_attributes (GcrRenderer *self,
+ GckAttributes *attrs);
+
void gcr_renderer_register_well_known (void);
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]