[libgda] GdaLdapProvider: ported to G_DECLARE/G_DEFINE
- From: Daniel Espinosa Ortiz <despinosa src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libgda] GdaLdapProvider: ported to G_DECLARE/G_DEFINE
- Date: Fri, 5 Apr 2019 22:59:46 +0000 (UTC)
commit 777dc15eb25fe6ccd0689b19f11989b319d5f5b7
Author: Daniel Espinosa <esodan gmail com>
Date: Fri Apr 5 10:15:06 2019 -0600
GdaLdapProvider: ported to G_DECLARE/G_DEFINE
providers/ldap/gda-ldap-provider.c | 57 +++++---------------------------------
providers/ldap/gda-ldap-provider.h | 18 ++----------
2 files changed, 10 insertions(+), 65 deletions(-)
---
diff --git a/providers/ldap/gda-ldap-provider.c b/providers/ldap/gda-ldap-provider.c
index 7c602e5d7..0d545595d 100644
--- a/providers/ldap/gda-ldap-provider.c
+++ b/providers/ldap/gda-ldap-provider.c
@@ -7,6 +7,7 @@
* Copyright (C) 2004 Jürg Billeter <j bitron ch>
* Copyright (C) 2004 Szalai Ferenc <szferi einstein ki iif hu>
* Copyright (C) 2005 - 2014 Vivien Malerba <malerba gnome-db org>
+ * Copyright (C) 2019 Daniel Espinosa <esodan gmail com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -41,9 +42,7 @@
#include <libgda/gda-connection-internal.h> /* for gda_connection_increase/decrease_usage() */
static void gda_ldap_provider_class_init (GdaLdapProviderClass *klass);
-static void gda_ldap_provider_init (GdaLdapProvider *provider,
- GdaLdapProviderClass *klass);
-static void gda_ldap_provider_finalize (GObject *object);
+static void gda_ldap_provider_init (GdaLdapProvider *provider);
static const gchar *gda_ldap_provider_get_name (GdaServerProvider *provider);
static const gchar *gda_ldap_provider_get_version (GdaServerProvider *provider);
@@ -58,8 +57,7 @@ static GObject *gda_ldap_provider_statement_execute (GdaServerProvider *provider
static const gchar *gda_ldap_provider_get_server_version (GdaServerProvider *provider,
GdaConnection *cnc);
-static GObjectClass *parent_class = NULL;
-
+G_DEFINE_TYPE (GdaLdapProvider, gda_ldap_provider, GDA_TYPE_VPROVIDER_DATA_MODEL)
/*
* private connection data destroy
*/
@@ -107,8 +105,6 @@ gda_ldap_provider_class_init (GdaLdapProviderClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
- parent_class = g_type_class_peek_parent (klass);
-
/* set virtual functions */
gda_server_provider_set_impl_functions (GDA_SERVER_PROVIDER_CLASS (klass),
GDA_SERVER_PROVIDER_FUNCTIONS_BASE,
@@ -122,53 +118,14 @@ gda_ldap_provider_class_init (GdaLdapProviderClass *klass)
GDA_SERVER_PROVIDER_FUNCTIONS_XA,
(gpointer) NULL);
- object_class->finalize = gda_ldap_provider_finalize;
}
static void
-gda_ldap_provider_init (G_GNUC_UNUSED GdaLdapProvider *pg_prv,
- G_GNUC_UNUSED GdaLdapProviderClass *klass)
+gda_ldap_provider_init (G_GNUC_UNUSED GdaLdapProvider *pg_prv)
{
/* nothing specific there */
}
-static void
-gda_ldap_provider_finalize (GObject *object)
-{
- GdaLdapProvider *pg_prv = (GdaLdapProvider *) object;
-
- g_return_if_fail (GDA_IS_LDAP_PROVIDER (pg_prv));
-
- /* chain to parent class */
- parent_class->finalize(object);
-}
-
-GType
-gda_ldap_provider_get_type (void)
-{
- static GType type = 0;
-
- if (G_UNLIKELY (type == 0)) {
- static GMutex registering;
- static GTypeInfo info = {
- sizeof (GdaLdapProviderClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) gda_ldap_provider_class_init,
- NULL, NULL,
- sizeof (GdaLdapProvider),
- 0,
- (GInstanceInitFunc) gda_ldap_provider_init,
- 0
- };
- g_mutex_lock (®istering);
- if (type == 0)
- type = g_type_register_static (GDA_TYPE_VPROVIDER_DATA_MODEL, "GdaLdapProvider",
&info, 0);
- g_mutex_unlock (®istering);
- }
-
- return type;
-}
/*
* Get provider name request
@@ -402,7 +359,7 @@ gda_ldap_provider_prepare_connection (GdaServerProvider *provider, GdaConnection
/* calling the parent's function first */
GdaServerProviderBase *parent_functions;
- parent_functions = gda_server_provider_get_impl_functions_for_class (parent_class,
GDA_SERVER_PROVIDER_FUNCTIONS_BASE);
+ parent_functions = gda_server_provider_get_impl_functions_for_class (gda_ldap_provider_parent_class,
GDA_SERVER_PROVIDER_FUNCTIONS_BASE);
if (parent_functions->prepare_connection) {
if (! parent_functions->prepare_connection (GDA_SERVER_PROVIDER (provider), cnc, params,
auth))
return FALSE;
@@ -666,7 +623,7 @@ gda_ldap_provider_close_connection (GdaServerProvider *provider, GdaConnection *
}
GdaServerProviderBase *fset;
- fset = gda_server_provider_get_impl_functions_for_class (parent_class,
GDA_SERVER_PROVIDER_FUNCTIONS_BASE);
+ fset = gda_server_provider_get_impl_functions_for_class (gda_ldap_provider_parent_class,
GDA_SERVER_PROVIDER_FUNCTIONS_BASE);
return fset->close_connection (provider, cnc);
}
@@ -1077,7 +1034,7 @@ gda_ldap_provider_statement_execute (GdaServerProvider *provider, GdaConnection
return NULL;
GdaServerProviderBase *fset;
- fset = gda_server_provider_get_impl_functions_for_class (parent_class,
GDA_SERVER_PROVIDER_FUNCTIONS_BASE);
+ fset = gda_server_provider_get_impl_functions_for_class (gda_ldap_provider_parent_class,
GDA_SERVER_PROVIDER_FUNCTIONS_BASE);
return fset->statement_execute (provider, cnc, stmt, params,
model_usage, col_types,
last_inserted_row, error);
diff --git a/providers/ldap/gda-ldap-provider.h b/providers/ldap/gda-ldap-provider.h
index e8a8408d5..4155d67fe 100644
--- a/providers/ldap/gda-ldap-provider.h
+++ b/providers/ldap/gda-ldap-provider.h
@@ -22,27 +22,15 @@
#include <virtual/gda-vprovider-data-model.h>
-#define GDA_TYPE_LDAP_PROVIDER (gda_ldap_provider_get_type())
-#define GDA_LDAP_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_CAST (obj, GDA_TYPE_LDAP_PROVIDER,
GdaLdapProvider))
-#define GDA_LDAP_PROVIDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST (klass, GDA_TYPE_LDAP_PROVIDER,
GdaLdapProviderClass))
-#define GDA_IS_LDAP_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE (obj, GDA_TYPE_LDAP_PROVIDER))
-#define GDA_IS_LDAP_PROVIDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDA_TYPE_LDAP_PROVIDER))
-
-typedef struct _GdaLdapProvider GdaLdapProvider;
-typedef struct _GdaLdapProviderClass GdaLdapProviderClass;
+G_BEGIN_DECLS
-struct _GdaLdapProvider {
- GdaVproviderDataModel provider;
-};
+#define GDA_TYPE_LDAP_PROVIDER (gda_ldap_provider_get_type())
+G_DECLARE_DERIVABLE_TYPE (GdaLdapProvider, gda_ldap_provider, GDA, LDAP_PROVIDER, GdaVproviderDataModel)
struct _GdaLdapProviderClass {
GdaVproviderDataModelClass parent_class;
};
-G_BEGIN_DECLS
-
-GType gda_ldap_provider_get_type (void) G_GNUC_CONST;
-
G_END_DECLS
#endif
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]