[gcr: 6/6] Add vala vapi files for Gck and Gcr libraries
- From: Stefan Walter <stefw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gcr: 6/6] Add vala vapi files for Gck and Gcr libraries
- Date: Sun, 21 Apr 2013 13:36:06 +0000 (UTC)
commit c258c860e34b905e4c4a8095ddd3a9a9f583c9f8
Author: Stef Walter <stefw gnome org>
Date: Sat Oct 20 14:03:38 2012 +0200
Add vala vapi files for Gck and Gcr libraries
https://bugzilla.gnome.org/show_bug.cgi?id=689685
.gitignore | 6 ++++
configure.ac | 13 ++++++++
docs/reference/gcr/gcr-sections.txt | 4 ---
gck/Gck-1.metadata | 2 ++
gck/Makefile.am | 59 ++++++++++++++++++++++++++++---------
gcr/Gcr-3.metadata | 5 ++++
gcr/Makefile.am | 35 ++++++++++++++++++++++
ui/GcrUi-3.metadata | 5 ++++
ui/Makefile.am | 39 ++++++++++++++++++++++--
ui/gcr-certificate-renderer.c | 36 +++++++++++-----------
ui/gcr-certificate-renderer.h | 5 ----
ui/gcr-certificate-widget.c | 25 +++++++---------
ui/gcr-certificate-widget.h | 19 ++++++------
ui/gcr-deprecated.h | 11 +++++++
ui/gcr-renderer.c | 37 +++++++++++++++++++++++
ui/gcr-renderer.h | 5 ++++
ui/gcr-ui.symbols | 2 ++
17 files changed, 241 insertions(+), 67 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 20f039f..4fb6aa0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -81,12 +81,16 @@ stamp-*
/gck/*.pc
/gck/gck-enum-types*
/gck/gck-marshal.*
+/gck/gck-*.deps
+/gck/gck-*.vapi
/gcr/*.pc
/gcr/gcr-dbus-generated.*
/gcr/gcr-enum-types*
/gcr/gcr-oids.*
/gcr/gcr-marshal.*
+/gcr/gcr-*.deps
+/gcr/gcr-*.vapi
/ui/*.pc
/ui/gcr-enum-types*
@@ -96,6 +100,8 @@ stamp-*
/ui/gcr-viewer
/ui/gcr-viewer.desktop
/ui/gcr-viewer.desktop.in
+/ui/gcr-*.deps
+/ui/gcr-*.vapi
/po/Makefile.in.in
/po/*.sed
diff --git a/configure.ac b/configure.ac
index b32f723..6bbe3d5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -103,6 +103,18 @@ if test "x$enable_gtk_doc" = "xyes"; then
fi
# --------------------------------------------------------------------
+# Vala
+
+VALA_REQUIRED=0.18.0.22
+
+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
#
@@ -414,6 +426,7 @@ echo " Debug Build: $debug_status"
echo " Strict Compilation: $strict_status"
echo " GTK+ Widgets: $with_gtk"
echo " Introspection: $found_introspection"
+echo " Vala: $enable_vala"
echo " Valgrind: $valgrind_status"
echo " Test Coverage: ${enable_coverage:-no}"
echo
diff --git a/docs/reference/gcr/gcr-sections.txt b/docs/reference/gcr/gcr-sections.txt
index b39923e..5f9d08e 100644
--- a/docs/reference/gcr/gcr-sections.txt
+++ b/docs/reference/gcr/gcr-sections.txt
@@ -517,14 +517,10 @@ GcrCertificateWidgetClass
GcrCertificateRenderer
GcrCertificateRendererClass
gcr_certificate_widget_new
-gcr_certificate_widget_get_attributes
-gcr_certificate_widget_set_attributes
gcr_certificate_widget_get_certificate
gcr_certificate_widget_set_certificate
gcr_certificate_renderer_new
gcr_certificate_renderer_new_for_attributes
-gcr_certificate_renderer_get_attributes
-gcr_certificate_renderer_set_attributes
gcr_certificate_renderer_get_certificate
gcr_certificate_renderer_set_certificate
<SUBSECTION Standard>
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 771a443..9b30933 100644
--- a/gck/Makefile.am
+++ b/gck/Makefile.am
@@ -100,6 +100,21 @@ gck-enum-types.h: $(ENUM_TEMPLATE_H) $(HEADER_FILES)
gck-enum-types.c: $(ENUM_TEMPLATE_C) $(HEADER_FILES)
$(GLIB_MKENUMS) --template $^ > $@
+EXTRA_DIST = \
+ gck.pc.in \
+ gck-marshal.list \
+ gck.symbols \
+ pkcs11-trust-assertions.h \
+ pkcs11i.h
+
+CLEANFILES = \
+ gck-$(GCK_MAJOR).pc \
+ $(gir_DATA) \
+ $(typelibs_DATA) \
+ $(BUILT_SOURCES) \
+ gck-actual.abi \
+ gck-expected.abi
+
# ------------------------------------------------------------------
# INTROSPECTION
@@ -127,6 +142,36 @@ 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)
+
+EXTRA_DIST += \
+ Gck- GCK_MAJOR@.metadata
+
+CLEANFILES += \
+ $(VAPIGEN_VAPIS) \
+ $(VAPI_DEPS)
+
+endif # ENABLE_VAPIGEN
+
endif
# ----------------------------------------------------------------
@@ -152,17 +197,3 @@ check-local: check-symbols
check-memory:
make -C tests check-memory
-EXTRA_DIST = \
- gck.pc.in \
- gck-marshal.list \
- gck.symbols \
- 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/Makefile.am b/gcr/Makefile.am
index d7ae74b..bd6bcfc 100644
--- a/gcr/Makefile.am
+++ b/gcr/Makefile.am
@@ -238,8 +238,43 @@ 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
+
+VAPIGEN_VAPIS = gcr- GCR_MAJOR@.vapi
+
+gcr_ GCR_MAJOR@_vapi_DEPS = glib-2.0 gio-2.0 gck- GCK_MAJOR@
+gcr_ GCR_MAJOR@_vapi_METADATADIRS = $(srcdir)
+gcr_ GCR_MAJOR@_vapi_VAPIDIRS = $(builddir)/../gck
+gcr_ GCR_MAJOR@_vapi_GIRDIRS = $(builddir)/../gck
+gcr_ GCR_MAJOR@_vapi_FILES = Gcr- 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' > $@
+
+vapidir = $(datadir)/vala/vapi
+vapi_DATA = \
+ $(VAPIGEN_VAPIS) \
+ $(VAPI_DEPS)
+
+EXTRA_DIST += \
+ Gcr- GCR_MAJOR@.metadata
+
+CLEANFILES += \
+ $(VAPIGEN_VAPIS) \
+ $(VAPI_DEPS)
+
+endif # ENABLE_VAPIGEN
+
endif # HAVE_INTROSPECTON
+# ----------------------------------------------------------------
+
gcr-base-expected.abi: gcr-base.symbols
$(AM_V_GEN) cpp -P $< | sort > $@
diff --git a/ui/GcrUi-3.metadata b/ui/GcrUi-3.metadata
new file mode 100644
index 0000000..85cb51a
--- /dev/null
+++ b/ui/GcrUi-3.metadata
@@ -0,0 +1,5 @@
+// Metadata file for Vala API generation.
+// See https://live.gnome.org/Vala/UpstreamGuide for more information
+
+CertificateRenderer
+ .label skip=true
\ No newline at end of file
diff --git a/ui/Makefile.am b/ui/Makefile.am
index 97ccf28..012fe79 100644
--- a/ui/Makefile.am
+++ b/ui/Makefile.am
@@ -4,6 +4,9 @@ SUBDIRS = . icons tests
incdir = $(includedir)/gcr- GCR_MAJOR@/ui
+EXTRA_DIST =
+CLEANFILES =
+
INCLUDES = \
-I$(top_builddir) \
-I$(top_srcdir) \
@@ -185,6 +188,38 @@ gir_DATA = $(INTROSPECTION_GIRS)
typelibsdir = $(libdir)/girepository-1.0
typelibs_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
+if ENABLE_VAPIGEN
+include $(VAPIGEN_MAKEFILE)
+
+gcr-ui- GCR_MAJOR@.vapi: GcrUi- GCR_MAJOR@.gir GcrUi- GCR_MAJOR@.metadata gcr-ui- GCR_MAJOR@.deps
+
+VAPIGEN_VAPIS = gcr-ui- GCR_MAJOR@.vapi
+
+gcr_ui_ GCR_MAJOR@_vapi_DEPS = glib-2.0 gio-2.0 gck- GCK_MAJOR@ gcr- GCR_MAJOR@ gtk+-3.0
+gcr_ui_ GCR_MAJOR@_vapi_METADATADIRS = $(srcdir)
+gcr_ui_ GCR_MAJOR@_vapi_VAPIDIRS = $(builddir) $(builddir)/../gck $(builddir)/../gcr
+gcr_ui_ GCR_MAJOR@_vapi_GIRDIRS = $(builddir) $(builddir)/../gck $(builddir)/../gcr
+gcr_ui_ GCR_MAJOR@_vapi_FILES = GcrUi- GCR_MAJOR@.gir
+
+VAPI_DEPS = $(VAPIGEN_VAPIS:.vapi=.deps)
+
+gcr-ui-$(GCR_MAJOR).deps: Makefile.am
+ $(AM_V_GEN) echo $(gcr_ui_ GCR_MAJOR@_vapi_DEPS) | tr ' ' '\n' > $@
+
+vapidir = $(datadir)/vala/vapi
+vapi_DATA = \
+ $(VAPIGEN_VAPIS) \
+ $(VAPI_DEPS)
+
+EXTRA_DIST += \
+ GcrUi- GCR_MAJOR@.metadata
+
+CLEANFILES += \
+ $(VAPIGEN_VAPIS) \
+ $(VAPI_DEPS)
+
+endif # ENABLE_VAPIGEN
+
endif # HAVE_INTROSPECTION
pkgconfig_DATA = \
@@ -231,7 +266,7 @@ gcr_prompter_LDADD = \
$(top_builddir)/gck/libgck- GCK_MAJOR@.la \
$(GTK_LIBS)
-EXTRA_DIST = \
+EXTRA_DIST += \
gcr.pc.in \
gcr-ui.pc.in \
$(ui_DATA) \
@@ -239,7 +274,7 @@ EXTRA_DIST = \
$(desktop_in_in_files) \
$(mime_DATA)
-CLEANFILES = \
+CLEANFILES += \
$(desktop_DATA) \
gcr-ui-actual.abi \
gcr-ui-expected.abi \
diff --git a/ui/gcr-certificate-renderer.c b/ui/gcr-certificate-renderer.c
index e730357..183962d 100644
--- a/ui/gcr-certificate-renderer.c
+++ b/ui/gcr-certificate-renderer.c
@@ -29,6 +29,7 @@
#include "gcr-certificate-exporter.h"
#include "gcr-certificate-renderer.h"
#include "gcr-certificate-renderer-private.h"
+#include "gcr-deprecated.h"
#include "gcr-display-view.h"
#include "gcr-renderer.h"
@@ -384,7 +385,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);
@@ -742,12 +753,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));
}
/**
@@ -757,27 +770,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/ui/gcr-certificate-renderer.h b/ui/gcr-certificate-renderer.h
index 13fa960..1161166 100644
--- a/ui/gcr-certificate-renderer.h
+++ b/ui/gcr-certificate-renderer.h
@@ -68,11 +68,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/ui/gcr-certificate-widget.c b/ui/gcr-certificate-widget.c
index 75f80ad..b92ffd2 100644
--- a/ui/gcr-certificate-widget.c
+++ b/ui/gcr-certificate-widget.c
@@ -23,6 +23,7 @@
#include "gcr-certificate-renderer.h"
#include "gcr-certificate-widget.h"
+#include "gcr-deprecated.h"
#include "gcr-renderer.h"
#include "gcr-viewer.h"
@@ -65,23 +66,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
@@ -243,12 +233,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));
}
/**
@@ -258,10 +250,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/ui/gcr-certificate-widget.h b/ui/gcr-certificate-widget.h
index 9371a63..7c29e68 100644
--- a/ui/gcr-certificate-widget.h
+++ b/ui/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/ui/gcr-deprecated.h b/ui/gcr-deprecated.h
index 3447c84..f92b79d 100644
--- a/ui/gcr-deprecated.h
+++ b/ui/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/ui/gcr-renderer.c b/ui/gcr-renderer.c
index 30ce91f..e66ed89 100644
--- a/ui/gcr-renderer.c
+++ b/ui/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/ui/gcr-renderer.h b/ui/gcr-renderer.h
index 2c898fa..8b6dc97 100644
--- a/ui/gcr-renderer.h
+++ b/ui/gcr-renderer.h
@@ -78,6 +78,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
diff --git a/ui/gcr-ui.symbols b/ui/gcr-ui.symbols
index d334d49..cde2d44 100644
--- a/ui/gcr-ui.symbols
+++ b/ui/gcr-ui.symbols
@@ -65,12 +65,14 @@ gcr_list_selector_set_selected
gcr_prompt_dialog_get_type
gcr_renderer_create
gcr_renderer_emit_data_changed
+gcr_renderer_get_attributes
gcr_renderer_get_type
gcr_renderer_popuplate_popup
gcr_renderer_register
gcr_renderer_register_well_known
gcr_renderer_render
gcr_renderer_render_view
+gcr_renderer_set_attributes
gcr_secure_entry_buffer_get_type
gcr_secure_entry_buffer_new
gcr_tree_selector_get_collection
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]