gnutls: rearrange some code to avoid a warning
[platform/upstream/glib-networking.git] / tls / gnutls / gtlscertificate-gnutls.h
1 /* GIO - GLib Certificate, Output and Gnutlsing Library
2  *
3  * Copyright © 2009 Red Hat, Inc.
4  *
5  * This program is free software: you can redistribute it and/or modify
6  * it under the terms of the GNU Lesser General Public License as published
7  * by the Free Software Foundation; either version 2 of the licence or (at
8  * your option) any later version.
9  *
10  * See the included COPYING file for more information.
11  */
12
13 #ifndef __G_TLS_CERTIFICATE_GNUTLS_H__
14 #define __G_TLS_CERTIFICATE_GNUTLS_H__
15
16 #include <gio/gio.h>
17 #include <gnutls/gnutls.h>
18
19 G_BEGIN_DECLS
20
21 #define G_TYPE_TLS_CERTIFICATE_GNUTLS            (g_tls_certificate_gnutls_get_type ())
22 #define G_TLS_CERTIFICATE_GNUTLS(inst)           (G_TYPE_CHECK_INSTANCE_CAST ((inst), G_TYPE_TLS_CERTIFICATE_GNUTLS, GTlsCertificateGnutls))
23 #define G_TLS_CERTIFICATE_GNUTLS_CLASS(class)    (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_TLS_CERTIFICATE_GNUTLS, GTlsCertificateGnutlsClass))
24 #define G_IS_TLS_CERTIFICATE_GNUTLS(inst)        (G_TYPE_CHECK_INSTANCE_TYPE ((inst), G_TYPE_TLS_CERTIFICATE_GNUTLS))
25 #define G_IS_TLS_CERTIFICATE_GNUTLS_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), G_TYPE_TLS_CERTIFICATE_GNUTLS))
26 #define G_TLS_CERTIFICATE_GNUTLS_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), G_TYPE_TLS_CERTIFICATE_GNUTLS, GTlsCertificateGnutlsClass))
27
28 typedef struct _GTlsCertificateGnutlsPrivate                   GTlsCertificateGnutlsPrivate;
29 typedef struct _GTlsCertificateGnutlsClass                     GTlsCertificateGnutlsClass;
30 typedef struct _GTlsCertificateGnutls                          GTlsCertificateGnutls;
31
32 struct _GTlsCertificateGnutlsClass
33 {
34   GTlsCertificateClass parent_class;
35 };
36
37 struct _GTlsCertificateGnutls
38 {
39   GTlsCertificate parent_instance;
40   GTlsCertificateGnutlsPrivate *priv;
41 };
42
43 GType g_tls_certificate_gnutls_get_type (void) G_GNUC_CONST;
44
45 GTlsCertificate *            g_tls_certificate_gnutls_new             (const gnutls_datum    *datum,
46                                                                        GTlsCertificate       *issuer);
47
48 const gnutls_x509_crt_t      g_tls_certificate_gnutls_get_cert        (GTlsCertificateGnutls *gnutls);
49 const gnutls_x509_privkey_t  g_tls_certificate_gnutls_get_key         (GTlsCertificateGnutls *gnutls);
50
51 gnutls_x509_crt_t            g_tls_certificate_gnutls_copy_cert       (GTlsCertificateGnutls *gnutls);
52 gnutls_x509_privkey_t        g_tls_certificate_gnutls_copy_key        (GTlsCertificateGnutls *gnutls);
53
54 GTlsCertificateFlags         g_tls_certificate_gnutls_verify_identity (GTlsCertificateGnutls *gnutls,
55                                                                        GSocketConnectable    *identity);
56
57 GTlsCertificateFlags         g_tls_certificate_gnutls_convert_flags   (guint                  gnutls_flags);
58
59
60 G_END_DECLS
61
62 #endif /* __G_TLS_CERTIFICATE_GNUTLS_H___ */