## GcrCertificateWidget

GcrCertificateWidget — Certificate widget and renderer

## Synopsis

    #define             GCR_CERTIFICATE_COLUMNS
                        GcrCertificateWidget;
                        GcrCertificateWidgetClass;
    struct              GcrCertificateRenderer;
    struct              GcrCertificateRendererClass;
    GcrCertificateWidget * gcr_certificate_widget_new       (GcrCertificate *certificate);
    GckAttributes *     gcr_certificate_widget_get_attributes
                                                            (GcrCertificateWidget *self);
    void                gcr_certificate_widget_set_attributes
                                                            (GcrCertificateWidget *self,
                                                             GckAttributes *attrs);
    GcrCertificate *    gcr_certificate_widget_get_certificate
                                                            (GcrCertificateWidget *self);
    void                gcr_certificate_widget_set_certificate
                                                            (GcrCertificateWidget *self,
                                                             GcrCertificate *certificate);
    GcrCertificateRenderer * gcr_certificate_renderer_new   (GcrCertificate *certificate);
    GcrCertificateRenderer * gcr_certificate_renderer_new_for_attributes
                                                            (const gchar *label,
                                                             struct _GckAttributes *attrs);
    GckAttributes *     gcr_certificate_renderer_get_attributes
                                                            (GcrCertificateRenderer *self);
    void                gcr_certificate_renderer_set_attributes
                                                            (GcrCertificateRenderer *self,
                                                             GckAttributes *attrs);
    GcrCertificate *    gcr_certificate_renderer_get_certificate
                                                            (GcrCertificateRenderer *self);
    void                gcr_certificate_renderer_set_certificate
                                                            (GcrCertificateRenderer *self,
                                                             GcrCertificate *certificate);

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----GtkWidget
                   +----GtkContainer
                         +----GtkBin
                               +----GtkAlignment
                                     +----GcrCertificateWidget

      GObject
       +----GcrCertificateRenderer

## Implemented Interfaces

GcrCertificateWidget implements AtkImplementorIface and GtkBuildable.

GcrCertificateRenderer implements GcrRenderer, GcrComparableIface and GcrCertificate.

## Properties

      "attributes"               GckAttributes*        : Read / Write
      "certificate"              GcrCertificate*       : Read / Write
      "attributes"               GckAttributes*        : Read / Write
      "certificate"              GcrCertificate*       : Read / Write
      "label"                    gchar*                : Read / Write

## Description

A GcrCertificateWidget can be used to display a certificate. The widget is normally in a collapsed state showing only details, but can be expanded by the user.

Use `gcr_certificate_widget_new()` to create a new certificate widget. Only one certificate can be displayed. A GcrCertificateWidget contains a GcrViewer internally and GcrCertificateRenderer is used to render the certificate to the viewer. To show more than one certificate in a view, create the viewer and add renderers to it.

## Details

### GCR_CERTIFICATE_COLUMNS

    #define GCR_CERTIFICATE_COLUMNS                 (gcr_certificate_get_columns ())

The columns that are valid for a certificate. This is to be used with the GcrTreeSelector or GcrCollectionModel.

This is an array of GcrColumn, owned by the gcr library.

### GcrCertificateWidget

    typedef struct _GcrCertificateWidget GcrCertificateWidget;

A widget that displays a certificate.

### GcrCertificateWidgetClass

    typedef struct _GcrCertificateWidgetClass GcrCertificateWidgetClass;

The class for GcrCertificateWidget

### struct GcrCertificateRenderer

    struct GcrCertificateRenderer;

An implementation of GcrRenderer which renders certificates.

### struct GcrCertificateRendererClass

    struct GcrCertificateRendererClass {
    	GObjectClass parent_class;
    };

The class for GcrCertificateRenderer.

GObjectClass `parent_class`; | The parent class.

### gcr_certificate_widget_new ()

    GcrCertificateWidget * gcr_certificate_widget_new       (GcrCertificate *certificate);

Create a new certificate widget which displays a given certificate.

`certificate` : | certificate to display, or `NULL`. [allow-none]
Returns : | a newly allocated GcrCertificateWidget, which should be freed with `g_object_unref()`. [transfer full]

### gcr_certificate_widget_get_attributes ()

    GckAttributes *     gcr_certificate_widget_get_attributes
                                                            (GcrCertificateWidget *self);

Get the attributes displayed in the widget. The attributes should contain a certificate.

`self` : | The certificate widget
Returns : | the attributes, owned by the widget. [allow-none][transfer none]

### gcr_certificate_widget_set_attributes ()

    void                gcr_certificate_widget_set_attributes
                                                            (GcrCertificateWidget *self,
                                                             GckAttributes *attrs);

Set the attributes displayed in the widget. The attributes should contain a certificate.

`self` : | The certificate widget
`attrs` : | the attributes to display. [allow-none]

### gcr_certificate_widget_get_certificate ()

    GcrCertificate *    gcr_certificate_widget_get_certificate
                                                            (GcrCertificateWidget *self);

Get the certificate displayed in the widget.

`self` : | The certificate widget
Returns : | the certificate. [allow-none][transfer none]

### gcr_certificate_widget_set_certificate ()

    void                gcr_certificate_widget_set_certificate
                                                            (GcrCertificateWidget *self,
                                                             GcrCertificate *certificate);

Set the certificate displayed in the widget

`self` : | The certificate widget
`certificate` : | the certificate to display. [allow-none]

### gcr_certificate_renderer_new ()

    GcrCertificateRenderer * gcr_certificate_renderer_new   (GcrCertificate *certificate);

Create a new certificate renderer to display the certificate.

`certificate` : | The certificate to display
Returns : | a newly allocated GcrCertificateRenderer, which should be released with `g_object_unref()`. [transfer full]

### gcr_certificate_renderer_new_for_attributes ()

    GcrCertificateRenderer * gcr_certificate_renderer_new_for_attributes
                                                            (const gchar *label,
                                                             struct _GckAttributes *attrs);

Create a new certificate renderer to display the label and attributes. One of the attributes should be a CKA_VALUE type attribute containing a DER encoded certificate.

`label` : | the label to display. [allow-none]
`attrs` : | The attributes to display
Returns : | a newly allocated GcrCertificateRenderer, which should be released with `g_object_unref()`. [transfer full]

### gcr_certificate_renderer_get_attributes ()

    GckAttributes *     gcr_certificate_renderer_get_attributes
                                                            (GcrCertificateRenderer *self);

Get the PKCS#11 attributes, if any, set for this renderer to display.

`self` : | The renderer
Returns : | the attributes, owned by the renderer. [allow-none][transfer none]

### gcr_certificate_renderer_set_attributes ()

    void                gcr_certificate_renderer_set_attributes
                                                            (GcrCertificateRenderer *self,
                                                             GckAttributes *attrs);

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.

`self` : | The renderer
`attrs` : | attributes to set. [allow-none]

### gcr_certificate_renderer_get_certificate ()

    GcrCertificate *    gcr_certificate_renderer_get_certificate
                                                            (GcrCertificateRenderer *self);

Get the certificate displayed in the renderer. If no certificate was explicitly set, then the renderer will return itself since it acts as a valid certificate.

`self` : | The renderer
Returns : | The certificate, owned by the renderer. [transfer none]

### gcr_certificate_renderer_set_certificate ()

    void                gcr_certificate_renderer_set_certificate
                                                            (GcrCertificateRenderer *self,
                                                             GcrCertificate *certificate);

Set a certificate to display in the renderer.

`self` : | The renderer
`certificate` : | the certificate to display. [allow-none]

## Property Details

### The `"attributes"` property

      "attributes"               GckAttributes*        : Read / Write

Attributes which contain the certificate.

### The `"certificate"` property

      "certificate"              GcrCertificate*       : Read / Write

Certificate to display.

### The `"attributes"` property

      "attributes"               GckAttributes*        : Read / Write

The certificate attributes to display. One of the attributes must be a CKA_VALUE type attribute which contains a DER encoded certificate.

### The `"certificate"` property

      "certificate"              GcrCertificate*       : Read / Write

The certificate to display. May be `NULL`.

### The `"label"` property

      "label"                    gchar*                : Read / Write

The label to display.

Default value: ""