[glib-networking/mcatanzaro/base-rebase: 30/33] gtlsbackend-openssl: use G_DECLARE_FINAL_TYPE
- From: Michael Catanzaro <mcatanzaro src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib-networking/mcatanzaro/base-rebase: 30/33] gtlsbackend-openssl: use G_DECLARE_FINAL_TYPE
- Date: Fri, 19 Apr 2019 22:33:38 +0000 (UTC)
commit 51d040e946bb8c8ab875a97d57128858c71aea62
Author: Michael Catanzaro <mcatanzaro igalia com>
Date: Sun Apr 7 16:57:36 2019 -0500
gtlsbackend-openssl: use G_DECLARE_FINAL_TYPE
There's no reason for this to be derivable. It has one vfunc that is not
needed because nothing inherits from it. (It used to be derivable for
GnuTLS only to support the old GnuTLS PKCS#11 backend's separate
GTlsDatabase.)
tls/openssl/gtlsbackend-openssl.c | 44 ++++++++++++++-------------------------
tls/openssl/gtlsbackend-openssl.h | 10 +--------
2 files changed, 17 insertions(+), 37 deletions(-)
---
diff --git a/tls/openssl/gtlsbackend-openssl.c b/tls/openssl/gtlsbackend-openssl.c
index 64947fa..c91c729 100644
--- a/tls/openssl/gtlsbackend-openssl.c
+++ b/tls/openssl/gtlsbackend-openssl.c
@@ -37,16 +37,17 @@
#include "gtlsclientconnection-openssl.h"
#include "gtlsfiledatabase-openssl.h"
-typedef struct _GTlsBackendOpensslPrivate
+struct _GTlsBackendOpenssl
{
+ GObject parent_instance;
+
GMutex mutex;
GTlsDatabase *default_database;
-} GTlsBackendOpensslPrivate;
+};
static void g_tls_backend_openssl_interface_init (GTlsBackendInterface *iface);
G_DEFINE_DYNAMIC_TYPE_EXTENDED (GTlsBackendOpenssl, g_tls_backend_openssl, G_TYPE_OBJECT, 0,
- G_ADD_PRIVATE_DYNAMIC (GTlsBackendOpenssl)
G_IMPLEMENT_INTERFACE_DYNAMIC (G_TYPE_TLS_BACKEND,
g_tls_backend_openssl_interface_init))
@@ -149,10 +150,6 @@ static GOnce openssl_inited = G_ONCE_INIT;
static void
g_tls_backend_openssl_init (GTlsBackendOpenssl *backend)
{
- GTlsBackendOpensslPrivate *priv;
-
- priv = g_tls_backend_openssl_get_instance_private (backend);
-
/* Once we call gtls_openssl_init(), we can't allow the module to be
* unloaded (since if openssl gets unloaded but gcrypt doesn't, then
* gcrypt will have dangling pointers to openssl's mutex functions).
@@ -162,7 +159,7 @@ g_tls_backend_openssl_init (GTlsBackendOpenssl *backend)
*/
g_once (&openssl_inited, gtls_openssl_init, NULL);
- g_mutex_init (&priv->mutex);
+ g_mutex_init (&backend->mutex);
}
static void
@@ -171,12 +168,9 @@ g_tls_backend_openssl_finalize (GObject *object)
int i;
GTlsBackendOpenssl *backend = G_TLS_BACKEND_OPENSSL (object);
- GTlsBackendOpensslPrivate *priv;
- priv = g_tls_backend_openssl_get_instance_private (backend);
-
- g_clear_object (&priv->default_database);
- g_mutex_clear (&priv->mutex);
+ g_clear_object (&backend->default_database);
+ g_mutex_clear (&backend->mutex);
CRYPTO_set_id_callback (NULL);
CRYPTO_set_locking_callback (NULL);
@@ -191,8 +185,8 @@ g_tls_backend_openssl_finalize (GObject *object)
}
static GTlsDatabase *
-g_tls_backend_openssl_real_create_database (GTlsBackendOpenssl *self,
- GError **error)
+g_tls_backend_openssl_create_database (GTlsBackendOpenssl *self,
+ GError **error)
{
gchar *anchor_file = NULL;
GTlsDatabase *database;
@@ -231,8 +225,6 @@ g_tls_backend_openssl_class_init (GTlsBackendOpensslClass *klass)
GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
gobject_class->finalize = g_tls_backend_openssl_finalize;
-
- klass->create_database = g_tls_backend_openssl_real_create_database;
}
static void
@@ -240,26 +232,22 @@ g_tls_backend_openssl_class_finalize (GTlsBackendOpensslClass *backend_class)
{
}
-static GTlsDatabase*
+static GTlsDatabase *
g_tls_backend_openssl_get_default_database (GTlsBackend *backend)
{
GTlsBackendOpenssl *openssl_backend = G_TLS_BACKEND_OPENSSL (backend);
- GTlsBackendOpensslPrivate *priv;
GTlsDatabase *result;
GError *error = NULL;
- priv = g_tls_backend_openssl_get_instance_private (openssl_backend);
-
- g_mutex_lock (&priv->mutex);
+ g_mutex_lock (&openssl_backend->mutex);
- if (priv->default_database)
+ if (openssl_backend->default_database)
{
- result = g_object_ref (priv->default_database);
+ result = g_object_ref (openssl_backend->default_database);
}
else
{
- g_assert (G_TLS_BACKEND_OPENSSL_GET_CLASS (openssl_backend)->create_database);
- result = G_TLS_BACKEND_OPENSSL_GET_CLASS (openssl_backend)->create_database (openssl_backend, &error);
+ result = g_tls_backend_openssl_create_database (openssl_backend, &error);
if (error)
{
g_warning ("Couldn't load TLS file database: %s",
@@ -269,11 +257,11 @@ g_tls_backend_openssl_get_default_database (GTlsBackend *backend)
else
{
g_assert (result);
- priv->default_database = g_object_ref (result);
+ openssl_backend->default_database = g_object_ref (result);
}
}
- g_mutex_unlock (&priv->mutex);
+ g_mutex_unlock (&openssl_backend->mutex);
return result;
}
diff --git a/tls/openssl/gtlsbackend-openssl.h b/tls/openssl/gtlsbackend-openssl.h
index fe27b30..557691f 100644
--- a/tls/openssl/gtlsbackend-openssl.h
+++ b/tls/openssl/gtlsbackend-openssl.h
@@ -31,16 +31,8 @@
G_BEGIN_DECLS
#define G_TYPE_TLS_BACKEND_OPENSSL (g_tls_backend_openssl_get_type ())
-G_DECLARE_DERIVABLE_TYPE (GTlsBackendOpenssl, g_tls_backend_openssl,
- G, TLS_BACKEND_OPENSSL, GObject)
-struct _GTlsBackendOpensslClass
-{
- GObjectClass parent_class;
-
- GTlsDatabase* (*create_database) (GTlsBackendOpenssl *backend,
- GError **error);
-};
+G_DECLARE_FINAL_TYPE (GTlsBackendOpenssl, g_tls_backend_openssl, G, TLS_BACKEND_OPENSSL, GObject)
void g_tls_backend_openssl_register (GIOModule *module);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]