summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lasso/Attic/protocols/provider.c44
-rw-r--r--lasso/Attic/protocols/provider.h2
-rw-r--r--lasso/xml/xml.c2
3 files changed, 44 insertions, 4 deletions
diff --git a/lasso/Attic/protocols/provider.c b/lasso/Attic/protocols/provider.c
index 6983cefe..f73af4f8 100644
--- a/lasso/Attic/protocols/provider.c
+++ b/lasso/Attic/protocols/provider.c
@@ -24,6 +24,11 @@
#include <lasso/protocols/provider.h>
+struct _LassoProviderPrivate
+{
+ gboolean dispose_has_run;
+};
+
/*****************************************************************************/
/* public methods */
/*****************************************************************************/
@@ -144,6 +149,32 @@ static gchar *lasso_provider_get_direct_child_content(LassoProvider *provider,
return(lasso_node_get_content(node));
}
+/*****************************************************************************/
+/* overrided parent class methods */
+/*****************************************************************************/
+
+static void
+lasso_provider_dispose(LassoProvider *provider)
+{
+ if (provider->private->dispose_has_run) {
+ return;
+ }
+ provider->private->dispose_has_run = TRUE;
+
+ /* unref reference counted objects */
+ /* we don't have any here */
+ debug(INFO, "Provider object 0x%x disposed ...\n", provider);
+}
+
+static void
+lasso_provider_finalize(LassoProvider *provider)
+{
+ debug(INFO, "Provider object 0x%x finalized ...\n", provider);
+
+ lasso_node_destroy(provider->metadata);
+ g_free(provider->public_key);
+ g_free(provider->certificate);
+}
/*****************************************************************************/
/* instance and class init functions */
@@ -152,11 +183,20 @@ static gchar *lasso_provider_get_direct_child_content(LassoProvider *provider,
static void
lasso_provider_instance_init(LassoProvider *provider)
{
-
+ provider->private = g_new (LassoProviderPrivate, 1);
+ provider->private->dispose_has_run = FALSE;
+ provider->metadata = NULL;
+ provider->public_key = NULL;
+ provider->certificate = NULL;
}
static void
-lasso_provider_class_init(LassoProviderClass *klass) {
+lasso_provider_class_init(LassoProviderClass *class) {
+ GObjectClass *gobject_class = G_OBJECT_CLASS(class);
+
+ /* override parent class methods */
+ gobject_class->dispose = (void *)lasso_provider_dispose;
+ gobject_class->finalize = (void *)lasso_provider_finalize;
}
GType lasso_provider_get_type() {
diff --git a/lasso/Attic/protocols/provider.h b/lasso/Attic/protocols/provider.h
index 2bd12287..5d505f6a 100644
--- a/lasso/Attic/protocols/provider.h
+++ b/lasso/Attic/protocols/provider.h
@@ -44,6 +44,7 @@ extern "C" {
typedef struct _LassoProvider LassoProvider;
typedef struct _LassoProviderClass LassoProviderClass;
+typedef struct _LassoProviderPrivate LassoProviderPrivate;
struct _LassoProvider {
GObject parent;
@@ -54,6 +55,7 @@ struct _LassoProvider {
gchar *certificate;
/*< private >*/
+ LassoProviderPrivate *private;
};
struct _LassoProviderClass {
diff --git a/lasso/xml/xml.c b/lasso/xml/xml.c
index b33fa1f4..ea97cbd1 100644
--- a/lasso/xml/xml.c
+++ b/lasso/xml/xml.c
@@ -1254,7 +1254,6 @@ lasso_node_dispose(LassoNode *node)
/* unref reference counted objects */
/* we don't have any here */
- //g_print("%s 0x%x disposed ...\n", lasso_node_get_name(node), node);
debug(INFO, "%s 0x%x disposed ...\n", lasso_node_get_name(node), node);
}
@@ -1264,7 +1263,6 @@ lasso_node_finalize(LassoNode *node)
gint i;
LassoNode *child;
- //g_print("%s 0x%x finalized ...\n", lasso_node_get_name(node), node);
debug(INFO, "%s 0x%x finalized ...\n", lasso_node_get_name(node), node);
if (node->private->node_is_weak_ref == FALSE) {